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