TimeZone#

NAME#

Kernel::System::SysConfig::ValueType::TimeZone - System configuration time-zone value type backed.

PUBLIC INTERFACE#

new()#

Create an object. Do not use it directly, instead use:

use Kernel::System::ObjectManager;
local $Kernel::OM = Kernel::System::ObjectManager->new();
my $ValueTypeObject = $Kernel::OM->Get('Kernel::System::SysConfig::ValueType::TimeZone');

SettingEffectiveValueCheck()#

Check if provided EffectiveValue matches structure defined in XMLContentParsed.

my %Result = $ValueTypeObject->SettingEffectiveValueCheck(
    XMLContentParsed => {
        Value => [
            {
                'Item' => [
                    {
                        'Content'   => 'UTC',
                        'ValueType' => 'TimeZone',
                    },
                ],
            },
        ],
    },
    EffectiveValue => 'UTC',
);
Result:
%Result = (

EffectiveValue => ‘UTC’, # Note for common TimeZone EffectiveValue is not changed. Success => 1, Error => undef,

);

SettingRender()#

Extracts the effective value from a XML parsed setting.

my $SettingHTML = $ValueTypeObject->SettingRender(
    Name           => 'SettingName',
    EffectiveValue => 'UTC',            # (optional)
    DefaultValue   => 'UTC',            # (optional)
    Class          => 'My class',       # (optional)
    RW             => 1,                # (optional) Allow editing. Default 0.
    Item           => [                 # (optional) XML parsed item
        {
            'ValueType' => 'TimeZone',
            'Content' => 'UTC',
        },
    ],
    IsArray  => 1,                      # (optional) Item is part of the array
    IsHash   => 1,                      # (optional) Item is part of the hash
    IDSuffix => 1,                      # (optional) Suffix will be added to the element ID
    SkipEffectiveValueCheck => 1,       # (optional) If enabled, system will not perform effective value check.
                                        #            Default: 1.
);

Returns:

$SettingHTML = '<div class "Field"...</div>';

AddItem()#

Generate HTML for new array/hash item.

my $HTML = $ValueTypeObject->AddItem(
    Name           => 'SettingName',    (required) Name
    DefaultItem    => {                 (required) DefaultItem hash
        'ValueType' => 'TimeZone',
        'Content' => 'UTC'
    },
    IDSuffix       => '_Array1',        (optional) IDSuffix is needed for arrays and hashes.
);

Returns:

$HTML = '<select class="Modernize" id="SettingName" name="SettingName" title="SettingName">
    # ...
    </select>';