From 970be979bd3012228e53847ac261aef3031d506c Mon Sep 17 00:00:00 2001
From: Damien <damien.burel@maarch.org>
Date: Tue, 7 Jul 2020 12:26:10 +0200
Subject: [PATCH] FEAT #14149 TIME 0:20 Resource Can update with sb

---
 src/app/group/controllers/PrivilegeController.php           | 6 +++++-
 .../signatureBook/controllers/SignatureBookController.php   | 4 +++-
 2 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/app/group/controllers/PrivilegeController.php b/src/app/group/controllers/PrivilegeController.php
index a751cc2a613..0de46c9316b 100644
--- a/src/app/group/controllers/PrivilegeController.php
+++ b/src/app/group/controllers/PrivilegeController.php
@@ -10,6 +10,7 @@ use Group\models\PrivilegeModel;
 use Resource\controllers\ResController;
 use Resource\models\ResModel;
 use Respect\Validation\Validator;
+use SignatureBook\controllers\SignatureBookController;
 use Slim\Http\Request;
 use Slim\Http\Response;
 use SrcCore\controllers\PreparedClauseController;
@@ -274,7 +275,10 @@ class PrivilegeController
             return ResController::hasRightByResId(['resId' => [$args['resId']], 'userId' => $args['userId']]);
         }
 
-        return PrivilegeController::isResourceInProcess(['userId' => $args['userId'], 'resId' => $args['resId'], 'canUpdateData' => true]);
+        $canUpdateInProcess = PrivilegeController::isResourceInProcess(['userId' => $args['userId'], 'resId' => $args['resId'], 'canUpdate' => true]);
+        $canUpdateInSignatureBook = SignatureBookController::isResourceInSignatureBook(['userId' => $args['userId'], 'resId' => $args['resId'], 'canUpdateDocument' => true]);
+
+        return $canUpdateInProcess || $canUpdateInSignatureBook;
     }
 
     public static function isResourceInProcess(array $args)
diff --git a/src/app/signatureBook/controllers/SignatureBookController.php b/src/app/signatureBook/controllers/SignatureBookController.php
index 6089c1e25a4..c4a0d0f6d8f 100755
--- a/src/app/signatureBook/controllers/SignatureBookController.php
+++ b/src/app/signatureBook/controllers/SignatureBookController.php
@@ -86,7 +86,6 @@ class SignatureBookController
         $datas['hasWorkflow']           = ((int)$listInstances[0]['count'] > 0);
         $datas['listinstance']          = ListInstanceModel::getCurrentStepByResId(['resId' => $resId]);
         $datas['canSign']               = PrivilegeController::hasPrivilege(['privilegeId' => 'sign_document', 'userId' => $GLOBALS['id']]);
-        $datas['canUpdateDocument']     = SignatureBookController::isResourceInSignatureBook(['resId' => $resId, 'userId' => $GLOBALS['id'], 'canUpdateDocument' => true]);
         $datas['isCurrentWorkflowUser'] = $datas['listinstance']['item_id'] == $GLOBALS['login'];
 
         return $response->withJson($datas);
@@ -302,6 +301,9 @@ class SignatureBookController
             $attachments[0]['sign'] = true;
             $attachments[0]['viewerLink'] = "../rest/resources/{$args['resId']}/content?".rand();
 
+            $attachments[0]['canModify'] = SignatureBookController::isResourceInSignatureBook(['resId' => $args['resId'], 'userId' => $args['userId'], 'canUpdateDocument' => true]);
+            $attachments[0]['canDelete'] = false;
+
             $isSigned = AdrModel::getDocuments([
                 'select'    => [1],
                 'where'     => ['res_id = ?', 'type = ?'],
-- 
GitLab