/** * 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; } }