Commit 320096d6 authored by Stephane Bouvry's avatar Stephane Bouvry
Browse files

Fix : Erreur lors de calcule des observateurs fixes

parent ae116d6c
Loading
Loading
Loading
Loading
+9 −1
Original line number Diff line number Diff line
@@ -443,6 +443,9 @@ class AdministrationController extends AbstractActionController
                        $step['observers_options'][$key] = $value;
                    }
                }



                if ($step['observers_options']) {
                    $step['observers_options_infos'] = [];

@@ -450,16 +453,21 @@ 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) {
                            if(is_array($v)) {

                            } else {
                                $step['observers_options_infos'][$optionsDatas['label']][] = $optionsDatas['values'][$v];
                            }
                        }
                    }
                }


                $signatureflows[$i]['steps'][$j]['options'] = $step['options'];
+3 −1
Original line number Diff line number Diff line
@@ -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 {