diff --git a/src/Controller/AdministrationController.php b/src/Controller/AdministrationController.php index ac4d2075dd4bf6ac61bf7a6a12cc31e69e4a77e5..68e02fd4fc561bef15ea1bce196a11291ec4f1c0 100644 --- a/src/Controller/AdministrationController.php +++ b/src/Controller/AdministrationController.php @@ -443,6 +443,9 @@ class AdministrationController extends AbstractActionController $step['observers_options'][$key] = $value; } } + + + if ($step['observers_options']) { $step['observers_options_infos'] = []; @@ -450,13 +453,18 @@ class AdministrationController extends AbstractActionController $recipientsMethod = $this->getSignatureService()->getSignatureConfigurationService( )->getMethodByKey($method); + foreach ($step['observers_options'] as $key => $value) { $index = array_search($key, array_column($recipientsMethod['options'], 'key')); $optionsDatas = $recipientsMethod['options'][$index]; - $step['observers_options_infos'][$optionsDatas['label']] = []; + $step['observers_options_infos'][$optionsDatas['label']] = []; foreach ($value as $v) { - $step['observers_options_infos'][$optionsDatas['label']][] = $optionsDatas['values'][$v]; + if(is_array($v)) { + + } else { + $step['observers_options_infos'][$optionsDatas['label']][] = $optionsDatas['values'][$v]; + } } } } diff --git a/src/Service/SignatureService.php b/src/Service/SignatureService.php index 1a8bc035db0fdfba5776b9d06df371e4285f61e5..6c33000969bece1442636e9a6f16bd967b074950 100644 --- a/src/Service/SignatureService.php +++ b/src/Service/SignatureService.php @@ -290,13 +290,15 @@ class SignatureService $methodObservers = $this->getSignatureConfigurationService()->getMethodByKey( $step->getObserversMethod() ); + + if (is_callable($methodObservers['getRecipients'])) { $options = array_merge_recursive($extrasOptions, $step->getObserversOptions()); $observersDatas = $methodObservers['getRecipients']($this->getServiceContainer(), $options); $observers = array_values($observersDatas); } else { - $observers = $step->getOptions()['observers']; + $observers = $step->getObserversOptions()['recipients']; } } else {