public removePolicyByRoleDraft ( eZ\Publish\API\Repository\Values\User\RoleDraft $roleDraft, eZ\Publish\API\Repository\Values\User\PolicyDraft $policyDraft ) : eZ\Publish\API\Repository\Values\User\RoleDraft | ||
$roleDraft | eZ\Publish\API\Repository\Values\User\RoleDraft | |
$policyDraft | eZ\Publish\API\Repository\Values\User\PolicyDraft | the policy to remove from the RoleDraft |
return | eZ\Publish\API\Repository\Values\User\RoleDraft | if the authenticated user is not allowed to remove a policy |
public function removePolicyByRoleDraft(APIRoleDraft $roleDraft, PolicyDraft $policyDraft)
{
if ($this->repository->hasAccess('role', 'update') !== true) {
throw new UnauthorizedException('role', 'update');
}
if ($policyDraft->roleId != $roleDraft->id) {
throw new InvalidArgumentException('$policy', 'Policy does not belong to the given role');
}
$this->internalDeletePolicy($policyDraft);
return $this->loadRoleDraft($roleDraft->id);
}