From 320096d6e64179994883e277618f9b31e1dcc4ea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20B?= <stephane.bouvry@unicaen.fr> Date: Mon, 21 Oct 2024 13:56:54 +0200 Subject: [PATCH] Fix : Erreur lors de calcule des observateurs fixes --- src/Controller/AdministrationController.php | 12 ++++++++++-- src/Service/SignatureService.php | 4 +++- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/src/Controller/AdministrationController.php b/src/Controller/AdministrationController.php index ac4d207..68e02fd 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 1a8bc03..6c33000 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 { -- GitLab