From 6aaa6dfa09fcef17c767c3b0f3f69ae5d6afe132 Mon Sep 17 00:00:00 2001
From: Guillaume Heurtier <guillaume.heurtier@maarch.org>
Date: Tue, 24 Aug 2021 11:39:43 +0200
Subject: [PATCH] FIX #17812 TIME 0:40 delegate can give parallel opinion

---
 src/app/action/controllers/ActionMethodController.php     | 6 +++---
 src/app/action/controllers/PreProcessActionController.php | 2 +-
 src/app/resource/controllers/ResourceListController.php   | 2 +-
 3 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/app/action/controllers/ActionMethodController.php b/src/app/action/controllers/ActionMethodController.php
index 79cba9b6018..4b56bbcf772 100644
--- a/src/app/action/controllers/ActionMethodController.php
+++ b/src/app/action/controllers/ActionMethodController.php
@@ -944,13 +944,13 @@ class ActionMethodController
 
     public static function giveOpinionParallel(array $args)
     {
-        ValidatorModel::notEmpty($args, ['resId']);
-        ValidatorModel::intVal($args, ['resId']);
+        ValidatorModel::notEmpty($args, ['resId', 'userId']);
+        ValidatorModel::intVal($args, ['resId', 'userId']);
 
         $currentStep = ListInstanceModel::get([
             'select'  => ['listinstance_id', 'item_id'],
             'where'   => ['res_id = ?', 'difflist_type = ?', 'item_id = ?', 'item_mode in (?)'],
-            'data'    => [$args['resId'], 'entity_id', $GLOBALS['id'], ['avis', 'avis_copy', 'avis_info']],
+            'data'    => [$args['resId'], 'entity_id', $args['userId'], ['avis', 'avis_copy', 'avis_info']],
             'limit'   => 1
         ]);
 
diff --git a/src/app/action/controllers/PreProcessActionController.php b/src/app/action/controllers/PreProcessActionController.php
index 20ba7202904..fcf3f5ec44e 100755
--- a/src/app/action/controllers/PreProcessActionController.php
+++ b/src/app/action/controllers/PreProcessActionController.php
@@ -1430,7 +1430,7 @@ class PreProcessActionController
             $isInCircuit = ListInstanceModel::get([
                 'select'  => [1],
                 'where'   => ['res_id = ?', 'difflist_type = ?', 'process_date is null', 'item_id = ?', 'item_mode = ?'],
-                'data'    => [$resId, 'entity_id', $GLOBALS['id'], 'avis']
+                'data'    => [$resId, 'entity_id', $args['userId'], 'avis']
             ]);
             if (empty($isInCircuit)) {
                 $resourcesInformation['error'][] = ['alt_identifier' => $resource['alt_identifier'], 'res_id' => $resId, 'reason' => 'userNotInDiffusionList'];
diff --git a/src/app/resource/controllers/ResourceListController.php b/src/app/resource/controllers/ResourceListController.php
index 811e40c3560..5fe339e474d 100644
--- a/src/app/resource/controllers/ResourceListController.php
+++ b/src/app/resource/controllers/ResourceListController.php
@@ -505,7 +505,7 @@ class ResourceListController
             }
 
             if (!empty($method)) {
-                $methodResponse = ActionMethodController::$method(['resId' => $resId, 'data' => $body['data'], 'note' => $body['note'], 'action' => $action, 'resources' => $resourcesForAction]);
+                $methodResponse = ActionMethodController::$method(['resId' => $resId, 'data' => $body['data'], 'note' => $body['note'], 'action' => $action, 'resources' => $resourcesForAction, 'userId' => $aArgs['userId']]);
 
                 if (!empty($methodResponse['errors'])) {
                     if (empty($methodResponses['errors'])) {
-- 
GitLab