diff --git a/workflow/engine/src/ProcessMaker/BusinessModel/Cases.php b/workflow/engine/src/ProcessMaker/BusinessModel/Cases.php index e126ae178..a160091da 100644 --- a/workflow/engine/src/ProcessMaker/BusinessModel/Cases.php +++ b/workflow/engine/src/ProcessMaker/BusinessModel/Cases.php @@ -1134,6 +1134,13 @@ class Cases if (empty($delegation['USR_UID'])) { $case = new ClassesCases(); $case->loadCase($appUid); + + //Review if the user can be claim the case + if (!$case->isSelfService($userUid, $delegation['TAS_UID'], $appUid)) { + $message = preg_replace("##i", "", G::LoadTranslation("ID_NO_PERMISSION_NO_PARTICIPATED")); + throw new Exception($message); + } + $case->setCatchUser($appUid, $index, $userUid); } else { throw new Exception(G::LoadTranslation("ID_CASE_USER_INVALID_CLAIM_CASE", [$userUid]));