/**
* removes a role from the given user.
*
* @throws \eZ\Publish\API\Repository\Exceptions\UnauthorizedException if the authenticated user is not allowed to remove a role
* @throws \eZ\Publish\API\Repository\Exceptions\InvalidArgumentException If the role is not assigned to the user
*
* @param \eZ\Publish\API\Repository\Values\User\Role $role
* @param \eZ\Publish\API\Repository\Values\User\User $user
*/
public function unassignRoleFromUser(APIRole $role, User $user)
{
$values = $this->requestParser->parse('user', $user->id);
$userId = $values['user'];
$values = $this->requestParser->parse('role', $role->id);
$roleId = $values['role'];
$response = $this->client->request('DELETE', $this->requestParser->generate('userRoleAssignment', array('user' => $userId, 'role' => $roleId)), new Message(array('Accept' => $this->outputVisitor->getMediaType('RoleAssignmentList'))));
if (!empty($response->body)) {
$this->inputDispatcher->parse($response);
}
}