eZ\Publish\Core\Repository\Helper\RoleDomainMapper::buildDomainUserGroupRoleAssignmentObject PHP Method

buildDomainUserGroupRoleAssignmentObject() public method

Builds the API UserGroupRoleAssignment object from provided SPI RoleAssignment object.
public buildDomainUserGroupRoleAssignmentObject ( eZ\Publish\SPI\Persistence\User\RoleAssignment $spiRoleAssignment, eZ\Publish\API\Repository\Values\User\UserGroup $userGroup, eZ\Publish\API\Repository\Values\User\Role $role ) : eZ\Publish\API\Repository\Values\User\UserGroupRoleAssignment
$spiRoleAssignment eZ\Publish\SPI\Persistence\User\RoleAssignment
$userGroup eZ\Publish\API\Repository\Values\User\UserGroup
$role eZ\Publish\API\Repository\Values\User\Role
return eZ\Publish\API\Repository\Values\User\UserGroupRoleAssignment
    public function buildDomainUserGroupRoleAssignmentObject(SPIRoleAssignment $spiRoleAssignment, UserGroup $userGroup, APIRole $role)
    {
        $limitation = null;
        if (!empty($spiRoleAssignment->limitationIdentifier)) {
            $limitation = $this->limitationService->getLimitationType($spiRoleAssignment->limitationIdentifier)->buildValue($spiRoleAssignment->values);
        }
        return new UserGroupRoleAssignment(array('id' => $spiRoleAssignment->id, 'limitation' => $limitation, 'role' => $role, 'userGroup' => $userGroup));
    }

Usage Example

Beispiel #1
0
 /**
  * Returns the roles assigned to the given user group.
  *
  * @throws \eZ\Publish\API\Repository\Exceptions\UnauthorizedException if the authenticated user is not allowed to read a role
  *
  * @param \eZ\Publish\API\Repository\Values\User\UserGroup $userGroup
  *
  * @return \eZ\Publish\API\Repository\Values\User\UserGroupRoleAssignment[]
  */
 public function getRoleAssignmentsForUserGroup(UserGroup $userGroup)
 {
     if ($this->repository->hasAccess('role', 'read') !== true) {
         throw new UnauthorizedException('role', 'read');
     }
     $roleAssignments = array();
     $spiRoleAssignments = $this->userHandler->loadRoleAssignmentsByGroupId($userGroup->id);
     foreach ($spiRoleAssignments as $spiRoleAssignment) {
         $role = $this->loadRole($spiRoleAssignment->roleId);
         $roleAssignments[] = $this->roleDomainMapper->buildDomainUserGroupRoleAssignmentObject($spiRoleAssignment, $userGroup, $role);
     }
     return $roleAssignments;
 }