From de2548b5f53c0b556ee41848746f9db73795526d Mon Sep 17 00:00:00 2001
From: Damien <damien.burel@maarch.org>
Date: Wed, 10 Apr 2019 10:20:03 +0200
Subject: [PATCH] FEAT Lockers + remove session info after action

---
 apps/maarch_entreprise/index.php                     |  2 +-
 core/manage_action.php                               |  2 +-
 .../resource/controllers/ResourceListController.php  | 12 +++++++++++-
 src/app/user/controllers/UserController.php          |  4 ++--
 4 files changed, 15 insertions(+), 5 deletions(-)

diff --git a/apps/maarch_entreprise/index.php b/apps/maarch_entreprise/index.php
index fd7da302a6b..da9b67b4691 100755
--- a/apps/maarch_entreprise/index.php
+++ b/apps/maarch_entreprise/index.php
@@ -293,7 +293,7 @@ if (!empty($_REQUEST['page']) && empty($_REQUEST['triggerAngular'])) {
         <script>
             var main_error = $j('#main_error_popup');
             if (main_error != null) {
-                main_error.css({"display":"table-cell"})
+                main_error.css({"display":"table-cell"});
                 Element.hide.delay(10, 'main_error_popup');
             }
         </script>
diff --git a/core/manage_action.php b/core/manage_action.php
index 1d5815621e4..d55bc01c3e3 100755
--- a/core/manage_action.php
+++ b/core/manage_action.php
@@ -369,7 +369,7 @@ elseif (empty($_POST['values']) || !isset($_POST['action_id']) || empty($_POST['
                 if (isset($res_action['history_msg'][$i]) && !empty($res_action['history_msg'][$i])) {
                     $what .= $res_action['history_msg'][$i];
                 }
-                $_SESSION['info'] = $what . ' ';
+//                $_SESSION['info'] = $what . ' ';
                 if ($_POST['module'] == 'null') {
                     $_POST['module'] = '';
                 }
diff --git a/src/app/resource/controllers/ResourceListController.php b/src/app/resource/controllers/ResourceListController.php
index 3faa72017d6..03f4b14f90e 100644
--- a/src/app/resource/controllers/ResourceListController.php
+++ b/src/app/resource/controllers/ResourceListController.php
@@ -718,6 +718,7 @@ class ResourceListController
 
         $locked = 0;
         $resourcesToLock = [];
+        $lockersId = [];
         foreach ($resources as $resource) {
             $lock = true;
             if (empty($resource['locker_user_id'] || empty($resource['locker_time']))) {
@@ -731,6 +732,7 @@ class ResourceListController
             if (!$lock) {
                 $resourcesToLock[] = $resource['res_id'];
             } else {
+                $lockersId[] = $resource['locker_user_id'];
                 ++$locked;
             }
         }
@@ -743,7 +745,15 @@ class ResourceListController
             ]);
         }
 
-        return $response->withJson(['lockedResources' => $locked]);
+        $lockers = [];
+        if (!empty($lockersId)) {
+            $lockersId = array_unique($lockersId);
+            foreach ($lockersId as $lockerId) {
+                $lockers[] = UserModel::getLabelledUserById(['id' => $lockerId]);
+            }
+        }
+
+        return $response->withJson(['lockedResources' => $locked, 'lockers' => $lockers]);
     }
 
     public function unlock(Request $request, Response $response, array $aArgs)
diff --git a/src/app/user/controllers/UserController.php b/src/app/user/controllers/UserController.php
index 8828751137e..6b5b3637ed3 100755
--- a/src/app/user/controllers/UserController.php
+++ b/src/app/user/controllers/UserController.php
@@ -98,7 +98,7 @@ class UserController
         }
 
         $user = UserModel::getById(['id' => $aArgs['id'], 'select' => ['id', 'user_id', 'firstname', 'lastname', 'status', 'enabled', 'phone', 'mail', 'initials', 'thumbprint', 'loginmode', 'external_id']]);
-        $user['external_id']        = json_decode($user['external_id']);
+        $user['external_id']        = json_decode($user['external_id'], true);
         $user['signatures']         = UserSignatureModel::getByUserSerialId(['userSerialid' => $aArgs['id']]);
         $user['emailSignatures']    = UserModel::getEmailSignaturesById(['userId' => $user['user_id']]);
         $user['groups']             = UserModel::getGroupsByUserId(['userId' => $user['user_id']]);
@@ -121,7 +121,7 @@ class UserController
             $user['canModifyPassword'] = true;
         }
         $loadedXml = CoreConfigModel::getXmlLoaded(['path' => 'modules/visa/xml/remoteSignatoryBooks.xml']);
-        if ((string)$loadedXml->signatoryBookEnabled == 'maarchParapheur' && $user['loginmode'] != 'restMode' && empty($user['external_id']->maarchParapheur)) {
+        if ((string)$loadedXml->signatoryBookEnabled == 'maarchParapheur' && $user['loginmode'] != 'restMode' && empty($user['external_id']['maarchParapheur'])) {
             $user['canCreateMaarchParapheurUser'] = true;
         }
 
-- 
GitLab