liventin/base.module.migration.userfields.provider.datetime

Datetime Provider for service migration bitrix userfield

v1.0.0 2025-06-18 11:43 UTC

This package is auto-updated.

Last update: 2025-06-18 11:44:40 UTC


README

Bitrix Base Module Service Migration User Fields

install | update

"require": {
    "liventin/base.module.migration.userfields.provider.datetime": "^1.0.0"
}

redirect (optional)

"extra": {
  "service-redirect": {
    "liventin/base.module.migration.userfields.provider.datetime": "module.name",
  }
}

PhpStorm Life Template Example

<?php

namespace ${MODULE_PROVIDER_CAMMAL_CASE}\\${MODULE_CODE_CAMMAL_CASE}\Migration\UserFields;

use ${MODULE_PROVIDER_CAMMAL_CASE}\\${MODULE_CODE_CAMMAL_CASE}\Service\Container;
use ${MODULE_PROVIDER_CAMMAL_CASE}\\${MODULE_CODE_CAMMAL_CASE}\Service\Migration\UserField\UserFieldEntity;
use ${MODULE_PROVIDER_CAMMAL_CASE}\\${MODULE_CODE_CAMMAL_CASE}\Service\Migration\UserField\UserFieldService;
use ${MODULE_PROVIDER_CAMMAL_CASE}\\${MODULE_CODE_CAMMAL_CASE}\Src\Migration\UserField\Providers\DateTimeProvider;

class ExampleDateTimeUserField implements UserFieldEntity
{
    public static function getEntityId(): string
    {
        return 'USER';
    }

    public static function getFieldName(): string
    {
        return 'UF_EXAMPLE_DATETIME_FIELD';
    }

    public static function getUserTypeId(): string
    {
        return 'datetime';
    }

    public static function getParams(): array
    {
        /** @var DateTimeProvider ${DS}provider */
        ${DS}provider = Container::get(UserFieldService::SERVICE_CODE)->getProvider(self::getUserTypeId());
        return ${DS}provider
            ->setSort(150)
            ->setMandatory(false)
            ->setShowFilter(true)
            ->setIsSearchable(true)
            ->setDefaultValue('2025-01-01 00:00:00')
            ->setUseSeconds(true)
            ->setUseTimeZone(false)
            ->setLabels('Дата и время пользователя')
            ->getParamsToArray();
    }
}