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 |
/** * 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; }