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

unassignRoleFromUser() public method

removes a role from the given user.
public unassignRoleFromUser ( eZ\Publish\API\Repository\Values\User\Role $role, eZ\Publish\API\Repository\Values\User\User $user )
$role eZ\Publish\API\Repository\Values\User\Role
$user eZ\Publish\API\Repository\Values\User\User
    public function unassignRoleFromUser(APIRole $role, User $user)
    {
        if ($this->repository->canUser('role', 'assign', $user, $role) !== true) {
            throw new UnauthorizedException('role', 'assign');
        }
        $spiRoleAssignments = $this->userHandler->loadRoleAssignmentsByGroupId($user->id);
        $isAssigned = false;
        foreach ($spiRoleAssignments as $spiRoleAssignment) {
            if ($spiRoleAssignment->roleId === $role->id) {
                $isAssigned = true;
                break;
            }
        }
        if (!$isAssigned) {
            throw new InvalidArgumentException('$user', 'Role is not assigned to the given User');
        }
        $this->repository->beginTransaction();
        try {
            $this->userHandler->unassignRole($user->id, $role->id);
            $this->repository->commit();
        } catch (Exception $e) {
            $this->repository->rollback();
            throw $e;
        }
    }