eZ\Publish\Core\Persistence\Legacy\User\Mapper::createRoleFromCreateStruct PHP Method

createRoleFromCreateStruct() public method

Maps properties from $struct to $role.
public createRoleFromCreateStruct ( eZ\Publish\SPI\Persistence\User\RoleCreateStruct $createStruct ) : eZ\Publish\SPI\Persistence\User\Role
$createStruct eZ\Publish\SPI\Persistence\User\RoleCreateStruct
return eZ\Publish\SPI\Persistence\User\Role
    public function createRoleFromCreateStruct(RoleCreateStruct $createStruct)
    {
        $role = new Role();
        $role->identifier = $createStruct->identifier;
        $role->policies = $createStruct->policies;
        $role->status = Role::STATUS_DRAFT;
        return $role;
    }

Usage Example

示例#1
0
 /**
  * Internal method for creating Role.
  *
  * Used by self::createRole() and self::createRoleDraft()
  *
  * @param \eZ\Publish\SPI\Persistence\User\RoleCreateStruct $createStruct
  * @param mixed|null $roleId Used by self::createRoleDraft() to retain Role id in the draft
  *
  * @return \eZ\Publish\SPI\Persistence\User\Role
  */
 protected function internalCreateRole(RoleCreateStruct $createStruct, $roleId = null)
 {
     $createStruct = clone $createStruct;
     $role = $this->mapper->createRoleFromCreateStruct($createStruct);
     $role->id = $roleId;
     $role->status = Role::STATUS_DRAFT;
     $this->roleGateway->createRole($role);
     foreach ($role->policies as $policy) {
         $this->addPolicyByRoleDraft($role->id, $policy);
     }
     return $role;
 }