Exemplo n.º 1
0
 /**
  * Unassign Permission of the Role
  *
  * @param string $roleUid       Unique id of Role
  * @param string $permissionUid Unique id of Permission
  *
  * return void
  */
 public function delete($roleUid, $permissionUid)
 {
     try {
         //Verify data
         $process = new \ProcessMaker\BusinessModel\Process();
         $role = new \ProcessMaker\BusinessModel\Role();
         $role->throwExceptionIfNotExistsRole($roleUid, $this->arrayFieldNameForException["roleUid"]);
         $process->throwExceptionIfNotExistsPermission($permissionUid, $this->arrayFieldNameForException["permissionUid"]);
         $this->throwExceptionIfNotItsAssignedPermissionToRole($roleUid, $permissionUid, $this->arrayFieldNameForException["permissionUid"]);
         if ($roleUid == "00000000000000000000000000000002") {
             throw new \Exception(\G::LoadTranslation("ID_ROLE_PERMISSION_ROLE_PERMISSIONS_CAN_NOT_BE_CHANGED", array("PROCESSMAKER_ADMIN")));
         }
         //Delete
         $role = new \Roles();
         $role->deletePermissionRole($roleUid, $permissionUid);
     } catch (\Exception $e) {
         throw $e;
     }
 }