diff --git a/src/app/group/controllers/PrivilegeController.php b/src/app/group/controllers/PrivilegeController.php index a751cc2a613faab7f6f765a0d619a207f405fa93..0de46c9316b4affcc962ee2d9011fc27ad8f2bab 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 6089c1e25a4446e2d4ce10328d5743a8ade1ab50..c4a0d0f6d8f049f18c2ed8527d7894c25f104e8a 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 = ?'],