Kernel::System::DynamicFieldLegacy::Value

NAME

Kernel::System::DynamicFieldLegacy::Value

DESCRIPTION

DynamicField values backend

PUBLIC INTERFACE

new()

create a DynamicFieldValue object. Do not use it directly, instead use:

    my $DynamicFieldValueObject = $Kernel::OM->Get('Kernel::System::DynamicFieldLegacy::Value');

ValueSet()

sets a dynamic field value. This is represented by one or more rows in the dynamic_field_value table, each storing one text, date and int field. Please see how they will be returned by "ValueGet()".

    my $Success = $DynamicFieldValueObject->ValueSet(
        FieldID  => $FieldID,                 # ID of the dynamic field
        ObjectID => $ObjectID,                # ID of the current object that the field
                                              #   must be linked to, e. g. TicketID
        Value    => [
            {
                ValueText          => 'some text',            # optional, one of these fields must be provided
                ValueDateTime      => '1977-12-12 12:00:00',  # optional
                ValueInt           => 123,                    # optional
                ValueDouble        => 123.123,                # optional
            },
            ...
        ],
        UserID   => $UserID,
    );

ValueGet()

get a dynamic field value. For each table row there will be one entry in the result list.

    my $Value = $DynamicFieldValueObject->ValueGet(
        FieldID            => $FieldID,                 # ID of the dynamic field
        ObjectID           => $ObjectID,                # ID of the current object that the field
                                                        #   is linked to, e. g. TicketID
    );

    Returns [
        {
            ID                 => 437,
            ValueText          => 'some text',
            ValueDateTime      => '1977-12-12 12:00:00',
            ValueInt           => 123,
            ValueDouble        => 123.123,
        },
    ];

ValueDelete()

delete a Dynamic field value entry. All associated rows will be deleted.

    my $Success = $DynamicFieldValueObject->ValueDelete(
        FieldID            => $FieldID,                 # ID of the dynamic field
        ObjectID           => $ObjectID,                # ID of the current object that the field
                                                        #   is linked to, e. g. TicketID
        UserID  => 123,
    );

    Returns 1.

AllValuesDelete()

delete all entries of a dynamic field .

    my $Success = $DynamicFieldValueObject->AllValuesDelete(
        FieldID            => $FieldID,                 # ID of the dynamic field
        UserID  => 123,
    );

    Returns 1.

ObjectValuesDelete()

Delete all entries of a dynamic field values for object ID.

    my $Success = $DynamicFieldValueObject->ObjectValuesDelete(
        ObjectType => 'Ticket',    # Dynamic Field object type ( e. g. Ticket, Article, FAQ)
        ObjectID   => $ObjectID,   # ID of the current object that the field
                                   #   is linked to, e. g. TicketID
        UserID     => 123,
    );

    Returns 1.

ValueValidate()

checks if the given value is valid for the value type.

    my $Success = $DynamicFieldValueObject->ValueValidate(
        Value    =>  {
                ValueText          => 'some text',            # optional, one of these fields must be provided
                ValueDateTime      => '1977-12-12 12:00:00',  # optional
                ValueInt           => 123,                    # optional
                ValueDouble        => 123.123,                # optional
            },
        UserID   => $UserID,
    );

HistoricalValueGet()

get all distinct values from a field stored on the database

    my $HistoricalValues = $DynamicFieldValueObject->HistoricalValueGet(
        FieldID   => $FieldID,                  # ID of the dynamic field
        ValueType => 'Text',                    # Text | DateTime | Integer | Double. Default: Text
    );

    Returns:

    $HistoricalValues{
        ValueA => 'ValueA',
        ValueB => 'ValueB',
        ValueC => 'ValueC'
    };

ValueSearch()

Searches/fetches dynamic field value.

    my $Value = $DynamicFieldValueObject->ValueSearch(
        FieldID            => 142,             # ID of dynamic field to search
        Search             => 'test',
        SearchSQL          => "dynamic_field_value.value_text = 'test'",
    );

    Returns [
        {
            ID            => 437,
            FieldID       => 123,
            ObjectID      => 133,
            ValueText     => 'some text',
            ValueDateTime => '1977-12-12 12:00:00',
            ValueInt      => 123,
            ValueDouble      => 123.123,
        },
        # ...
    ];
Scroll to Top