TicketAttributeRelations#
PUBLIC INTERFACE#
new()#
create an object
my $TicketAttributeRelationsObject = $Kernel::OM->Get('Kernel::System::TicketAttributeRelations');
AddTicketAttributeRelations()#
Adds a new ticket attribute relations record.
my $ID = $TicketAttributeRelationsObject->AddTicketAttributeRelations(
Filename => 'csv-filename.csv',
Data => 'Data from CSV or Excel file',
DynamicFieldConfigUpdate => 1, # optional, this option will create dynamic field values for the CSV file
Priority => 123,
UserID => 123,
);
Returns ID of created record on success.
my $ID = 1;
ExistsTicketAttributeRelationsFilename()#
Checks if a ticket attribute relations record with the given filename exists.
my $ID = $TicketAttributeRelationsObject->ExistsTicketAttributeRelationsFilename(
Filename => 'test1.csv',
);
Returns the ID of the found record or 0 if not found.
my $ID = 1;
GetTicketAttributeRelations()#
Fetches a ticket attribute relations record.
my $TicketAttributeRelations = $TicketAttributeRelationsObject->GetTicketAttributeRelations(
ID => 123,
# or
# Filename => 'test.csv',
UserID => 1,
);
Returns:
my $TicketAttributeRelations = {
ID => 41,
Filename => 'csv-filename.csv',
Priority => 4,
Attribute1 => 'Queue',
Attribute2 => 'DynamicField_test',
Data => [
{
'Queue' => 'abc',
'DynamicField_test' => 'bcd',
},
],
RawData => '...', # original content of uploaded file
CreatedTime => '...',
CreatedBy => 2,
ChangeTime => '...',
ChangedBy => 4,
};
UpdateTicketAttributeRelations()#
Updates an existing ticket attribute relations record.
my $Success = $TicketAttributeRelationsObject->UpdateTicketAttributeRelations(
ID => 123,
Filename => 'csv-filename.csv',
Data => 'Data from CSV or Excel file',
DynamicFieldConfigUpdate => 1, # optional, this option will create dynamic field values for the csv file
Priority => 123,
UserID => 123,
);
Returns true value on success.
my $Success = 1;
GetAllTicketAttributeRelations()#
Fetches data of all ticket attribute relation records, sorted by priority.
my $TicketAttributeRelations = $TicketAttributeRelationsObject->GetAllTicketAttributeRelations(
UserID => 123,
);
Returns:
my $TicketAttributeRelations = [
{
ID => 41,
Filename => 'csv-filename.csv',
Priority => 1,
Attribute1 => 'Queue',
Attribute2 => 'DynamicField_test',
Data => [
{
'Queue' => 'abc',
'DynamicField_test' => 'bcd',
},
],
RawData => '...', # original content of uploaded file
CreatedTime => '...',
CreatedBy => 2,
ChangeTime => '...',
ChangedBy => 4,
},
{
ID => 7,
Filename => 'csv-filename-2.csv',
Priority => 2,
Attribute1 => 'Queue',
Attribute2 => 'DynamicField_test',
Data => [
{
'Queue' => 'abc',
'DynamicField_test' => 'bcd',
},
],
RawData => '...' # original content of uploaded file
CreatedTime => '...',
CreatedBy => 2,
ChangeTime => '...',
ChangedBy => 4,
},
# ...
];
DeleteTicketAttributeRelations()#
Deletes a ticket attribute relations record.
my $Success = $TicketAttributeRelationsObject->DeleteTicketAttributeRelations(
ID => 123,
UserID => 123,
);
Returns true value on success.
my $Success = 1;
_ParseTicketAttributeRelationsData()#
Parses stored ticket attribute relation data.
my $ParsedData = $TicketAttributeRelationsObject->_ParseTicketAttributeRelationsData(
Filename => 'csv_file1.csv', # or Excel file
Data => 'Data...',
UserID => 123,
);
Returns:
my $ParsedData = {
Attribute1 => 'DynamicField1',
Attribute2 => 'DynamicField2',
Data => [
{
'DynamicField1' => 'abc',
'DynamicField2' => 'bcd',
},
# ...
],
};
_GenerateTemporaryPriority()#
Generates a temporary priority for the given priority to be able to resort priorities of all existing ticket attribute relation records.
my $TempPriority = $TicketAttributeRelationsObject->_GenerateTemporaryPriority(
Priority => 5,
PreviousPriority => 7, # optional
);
Returns:
my $TempPriority = 50; # or 52 (see explanation below)
_PreReorderTicketAttributeRelationsPriorities()#
Temporarily updates priorities of all ticket attribute relations to be able to resort them later. For explanation, see _GenerateTemporaryPriority().
$TicketAttributeRelationsObject->_PreReorderTicketAttributeRelationsPriorities();
Returns true value on success.
my $Success = 1;
_PostReorderTicketAttributeRelationsPriorities()#
Updates priorities of all ticket attribute relations to finalize resorting. For explanation, see _GenerateTemporaryPriority().
$TicketAttributeRelationsObject->_PostReorderTicketAttributeRelationsPriorities();
Returns true value on success.
my $Success = 1;
_UpdateDynamicFieldConfigs()#
Updates the dynamic field configuration based on the ticket attribute relation configuration.
my $Success = $TicketAttributeRelationsObject->_UpdateDynamicFieldConfigs(
TicketAttributeRelationsID => 123,
UserID => 123,
);
Returns true value on success.
my $Success = 1;
_IsExcelFilename()#
Checks if the given filename has an Excel extension.
my $IsExcelFilename = $TicketAttributeRelationsObject->_IsExcelFilename(
Filename => 'test.xlsx',
);
Returns true value if the given name has an Excel extension.
my $IsExcelFilename = 1;
_Excel2ArrayTicketAttributeRelationsData()#
Returns an array for the given Excel file data.
my $Data = $TicketAttributeRelationsObject->_Excel2ArrayTicketAttributeRelationsData(
Data => '...',
);
Returns:
my $Data = [
{
'DynamicField1' => 'abc',
'DynamicField2' => 'bcd',
},
# ...
],
_ImportExcelValue()#
Encodes the given imported Excel file value and converts it too ASCII.
my $ImportedValue = $TicketAttributeRelationsObject->_ImportExcelValue($Value);
Returns encoded/converted value.