eZ\Publish\Core\Repository\RoleService::removePolicy PHP Method

removePolicy() public method

Removes a policy from the role.
Deprecation: since 5.3, use {@link removePolicyByRoleDraft()} instead.
public removePolicy ( eZ\Publish\API\Repository\Values\User\Role $role, eZ\Publish\API\Repository\Values\User\Policy $policy ) : eZ\Publish\API\Repository\Values\User\Role
$role eZ\Publish\API\Repository\Values\User\Role
$policy eZ\Publish\API\Repository\Values\User\Policy the policy to remove from the role
return eZ\Publish\API\Repository\Values\User\Role the updated role
    public function removePolicy(APIRole $role, APIPolicy $policy)
    {
        if ($this->repository->hasAccess('role', 'update') !== true) {
            throw new UnauthorizedException('role', 'update');
        }
        if ($policy->roleId != $role->id) {
            throw new InvalidArgumentException('$policy', 'Policy does not belong to the given role');
        }
        $this->internalDeletePolicy($policy);
        return $this->loadRole($role->id);
    }