diff --git a/src/Service/SignatureConfigurationService.php b/src/Service/SignatureConfigurationService.php index eecb5e5f878d825ea63f7f7c2d6095c82eb76185..4a9ec31b3ca42af5b835d48f3307b29291bde302 100644 --- a/src/Service/SignatureConfigurationService.php +++ b/src/Service/SignatureConfigurationService.php @@ -127,10 +127,12 @@ class SignatureConfigurationService $methods = $this->configuration->getConfiguration('unicaen-signature.get_recipients_methods'); $return = []; foreach ($methods as $method) { - foreach ($method['options'] as &$option) { - if( is_callable($option['values']) ){ - $values = $option['values']($this->serviceContainer); - $option['values'] = $values; + if(array_key_exists('options', $method)) { + foreach ($method['options'] as &$option) { + if (is_callable($option['values'])) { + $values = $option['values']($this->serviceContainer); + $option['values'] = $values; + } } } $return[] = $method; diff --git a/src/Service/SignatureService.php b/src/Service/SignatureService.php index 54f47b850ab3132331c9b5262f40cf310f7b1807..7ac939680a3ab5f39cb9c1ad2ee16f86b45e631a 100644 --- a/src/Service/SignatureService.php +++ b/src/Service/SignatureService.php @@ -280,7 +280,9 @@ class SignatureService $currentStep['allSignToComplete'] = $step->isAllRecipientsSign(); $currentStep['editable'] = $step->isEditableRecipients(); $currentStep['missing_recipients'] = false; - $currentStep['dynamicRecipients'] = is_callable($method['getRecipients']); + $currentStep['recipient_method'] = $step->getRecipientsMethod(); + $currentStep['options'] = $step->getOptions(); + $currentStep['dynamicRecipients'] = (!empty($method))?is_callable($method['getRecipients']):false; $currentStep['recipients'] = []; $currentStep['observers'] = []; @@ -300,13 +302,17 @@ class SignatureService else { $observers = []; } - if (is_callable($method['getRecipients'])) { - $options = array_merge_recursive($extrasOptions, $step->getOptions()); - $recipientsDatas = $method['getRecipients']($this->getServiceContainer(), $options); - $recipients = array_values($recipientsDatas); - } - else { - $recipients = $step->getOptions()['recipients']; + //Uniquement si on a définit des méthodes dynamiques de récupération dans la config unicaen-signature + if($currentStep['dynamicRecipients']) + { + if (is_callable($method['getRecipients'])) { + $options = array_merge_recursive($extrasOptions, $step->getOptions()); + $recipientsDatas = $method['getRecipients']($this->getServiceContainer(), $options); + $recipients = array_values($recipientsDatas); + } + else { + $recipients = $step->getOptions()['recipients']; + } } if ($recipients == null) {