Kernel::System::SysConfig::ValueType::Entity

NAME

Kernel::System::SysConfig::ValueType::Entity – System configuration entity 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::Entity');

SettingEffectiveValueCheck()

Check if provided EffectiveValue matches structure defined in XMLContentParsed.

    my %Result = $ValueTypeObject->SettingEffectiveValueCheck(
        XMLContentParsed => {
            Value => [
                {
                    'Item' => [
                        {
                            'Content'            => '3 - normal',
                            'ValueEntityType'    => 'Priority',
                            'ValueEntitySubType' => 'SomeSubType',
                            'ValueType'          => 'Entity',
                        },
                    ],
                },
            ],
        },
        EffectiveValue => '2 - low',
    );

Result: $Result = ( EffectiveValue => '2 – low', # Note for Entity ValueTypes EffectiveValue is not changed. Success => 1, Error => undef, );

EntityValueList()

Returns a list of valid values for provided EntityType.

    my $Result = $ValueTypeObject->EntityValueList(
        EntityType    => 'Priority',
        EntitySubType => 'SomeSubtype',     # optional e.g. the ObjectType for DynamicField entities
    );

Returns:

    $Result = [
        '1 very low',
        '2 low',
        '3 medium',
        '4 high',
        '5 very high',
    ];

SettingRender()

Extracts the effective value from a XML parsed setting.

    my $SettingHTML = $ValueTypeObject->SettingRender(
        Name           => 'SettingName',
        EffectiveValue => '3 medium',       # (optional)
        DefaultValue   => '3 medium',       # (optional)
        Class          => 'My class'        # (optional)
        RW             => 1,                # (optional) Allow editing. Default 0.
        Item           => [                 # (optional) XML parsed item
            {
                'ValueType'          => 'Entity',
                'ValueEntityType'    => 'Priority',
                'ValueEntitySubType' => 'SomeSubType',
                'Content'            => '2 low',
            },
        ],
        IsArray => 1,                       # (optional) Item is part of the array
        IsHash  => 1,                       # (optional) Item is part of the hash
        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
            'Content'            => '3 normal',
            'ValueType'          => 'Entity',
            'ValueEntityType'    => 'Priority',
            'ValueEntitySubType' => 'SomeSubType',
        },
        IDSuffix       => '_Array1',        (optional) IDSuffix is needed for arrays and hashes.
    );

Returns:

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

EntityLookupFromWebRequest()

Gets the entity name from the web request

Called URL: index.pl?Action=AdminQueue;Subaction=Change;QueueID=1

    my $EntityName = $ValueTypeObject->EntityLookupFromWebRequest(
        EntityType    => 'Queue',
    );

Returns:

    $EntityName = 'Postmaster';
Scroll to Top