|
@@ 831-854 (lines=24) @@
|
| 828 |
|
* @param \eZ\Publish\API\Repository\Values\User\Role $role |
| 829 |
|
* @param \eZ\Publish\API\Repository\Values\User\UserGroup $userGroup |
| 830 |
|
*/ |
| 831 |
|
public function unassignRoleFromUserGroup(APIRole $role, UserGroup $userGroup) |
| 832 |
|
{ |
| 833 |
|
$values = $this->requestParser->parse('group', $userGroup->id); |
| 834 |
|
$userGroupId = $values['group']; |
| 835 |
|
|
| 836 |
|
$values = $this->requestParser->parse('role', $role->id); |
| 837 |
|
$roleId = $values['role']; |
| 838 |
|
|
| 839 |
|
$response = $this->client->request( |
| 840 |
|
'DELETE', |
| 841 |
|
$this->requestParser->generate('groupRoleAssignment', array('group' => $userGroupId, 'role' => $roleId)), |
| 842 |
|
new Message( |
| 843 |
|
// @todo: What media-type should we set here? Actually, it should be |
| 844 |
|
// all expected exceptions + none? Or is "RoleAssignmentList" correct, |
| 845 |
|
// since this is what is to be expected by the resource |
| 846 |
|
// identified by the URL? |
| 847 |
|
array('Accept' => $this->outputVisitor->getMediaType('RoleAssignmentList')) |
| 848 |
|
) |
| 849 |
|
); |
| 850 |
|
|
| 851 |
|
if (!empty($response->body)) { |
| 852 |
|
$this->inputDispatcher->parse($response); |
| 853 |
|
} |
| 854 |
|
} |
| 855 |
|
|
| 856 |
|
/** |
| 857 |
|
* Assigns a role to the given user. |
|
@@ 898-921 (lines=24) @@
|
| 895 |
|
* @param \eZ\Publish\API\Repository\Values\User\Role $role |
| 896 |
|
* @param \eZ\Publish\API\Repository\Values\User\User $user |
| 897 |
|
*/ |
| 898 |
|
public function unassignRoleFromUser(APIRole $role, User $user) |
| 899 |
|
{ |
| 900 |
|
$values = $this->requestParser->parse('user', $user->id); |
| 901 |
|
$userId = $values['user']; |
| 902 |
|
|
| 903 |
|
$values = $this->requestParser->parse('role', $role->id); |
| 904 |
|
$roleId = $values['role']; |
| 905 |
|
|
| 906 |
|
$response = $this->client->request( |
| 907 |
|
'DELETE', |
| 908 |
|
$this->requestParser->generate('userRoleAssignment', array('user' => $userId, 'role' => $roleId)), |
| 909 |
|
new Message( |
| 910 |
|
// @todo: What media-type should we set here? Actually, it should be |
| 911 |
|
// all expected exceptions + none? Or is "RoleAssignmentList" correct, |
| 912 |
|
// since this is what is to be expected by the resource |
| 913 |
|
// identified by the URL? |
| 914 |
|
array('Accept' => $this->outputVisitor->getMediaType('RoleAssignmentList')) |
| 915 |
|
) |
| 916 |
|
); |
| 917 |
|
|
| 918 |
|
if (!empty($response->body)) { |
| 919 |
|
$this->inputDispatcher->parse($response); |
| 920 |
|
} |
| 921 |
|
} |
| 922 |
|
|
| 923 |
|
/** |
| 924 |
|
* Removes the given role assignment. |