Transition#

NAME#

Kernel::System::ProcessManagement::Transition - Transition lib

DESCRIPTION#

All Process Management Transition functions.

PUBLIC INTERFACE#

new()#

Don’t use the constructor directly, use the ObjectManager instead:

my $TransitionObject = $Kernel::OM->Get('Kernel::System::ProcessManagement::Transition');

TransitionGet()#

Get Transition info

my $Transition = $TransitionObject->TransitionGet(
    TransitionEntityID => 'T1',
);

Returns:

$Transition = {
    Name       => 'Transition 1',
    CreateTime => '08-02-2012 13:37:00',
    ChangeBy   => '2',
    ChangeTime => '09-02-2012 13:37:00',
    CreateBy   => '3',
    Condition  => {
        Type   => 'and',
        Cond1  => {
            Type   => 'and',
            Fields => {
                DynamicField_Make    => [ '2' ],
                DynamicField_VWModel => {
                    Type  => 'String',
                    Match => 'Golf',
                },
                DynamicField_A => {
                    Type  => 'Hash',
                    Match => {
                        Value  => 1,
                    },
                },
                DynamicField_B => {
                    Type  => 'Regexp',
                    Match => qr{ [\n\r\f] }xms
                },
                DynamicField_C => {
                    Type  => 'Module',
                    Match =>
                        'Kernel::System::ProcessManagement::TransitionValidation::MyModule',
                },
                Queue =>  {
                    Type  => 'Array',
                    Match => [ 'Raw' ],
                },
                # ...
            }
        }
        # ...
    },
};

TransitionCheck()#

Checks if one or more Transition Conditions are true.

my $TransitionCheck = $TransitionObject->TransitionCheck(
    TransitionEntityID => 'T1',
    or
    TransitionEntityID => ['T1', 'T2', 'T3'],
    Data       => {
        Queue         => 'Raw',
        DynamicField1 => 'Value',
        Subject       => 'Testsubject',
        # ...
    },
);
Returns:

If called on a single TransitionEntityID

$Checked = 1;       # 0
Returns:

If called on an array of TransitionEntityIDs

$Checked = 'T1'     # 0 if no Transition was true

TransitionValidationTypeList()#

Returns a list of possible transition validations.

my %TransitionValidationTypeList = $TransitionObject->TransitionValidationTypeList();

Returns:

my %TransitionValidationTypeList = TransitionValidationTypeList(
    'String' => 'String',
    'Regexp' => 'Regular expression',
    'Module' => 'Transition validation module',
);

TransitionValidationTypeListGet()#

Returns a list of possible transition validations.

my %TransitionValidationTypeListGet = $TransitionObject->TransitionValidationTypeListGet();

Returns:

my %TransitionValidationTypeListGet = (
    'String' => {
        Name   => 'String',
        Label  => 'String',
        Module => 'Kernel::System::ProcessManagement::TransitionValidation::String',
    },
    'Regexp' => {
        Name   => 'Regexp',
        Label  => 'Regular expression',
        Module => 'Kernel::System::ProcessManagement::TransitionValidation::Regexp',
    },
    'Module' => {
        Name   => 'Module',
        Label  => 'Transition validation module',
        Module => 'Kernel::System::ProcessManagement::TransitionValidation::Module',
    },
);