mirror of
https://github.com/pandorafms/pandorafms.git
synced 2025-07-30 01:05:39 +02:00
ITSM pandora_enterprise#11471
This commit is contained in:
parent
7baad52e79
commit
8bc65474f0
@ -6,4 +6,35 @@ DROP TABLE `tincidencia`;
|
|||||||
DROP TABLE `tnota`;
|
DROP TABLE `tnota`;
|
||||||
DROP TABLE `tattachment`;
|
DROP TABLE `tattachment`;
|
||||||
|
|
||||||
|
ALTER TABLE `talert_commands` ADD CONSTRAINT UNIQUE (`name`);
|
||||||
|
|
||||||
|
ALTER TABLE `talert_actions` MODIFY COLUMN `name` VARCHAR(500);
|
||||||
|
ALTER TABLE `talert_actions` ADD CONSTRAINT UNIQUE (`name`);
|
||||||
|
|
||||||
|
SET @command_name = 'Pandora ITSM Ticket';
|
||||||
|
SET @command_description = 'Create a ticket in Pandora ITSM';
|
||||||
|
SET @action_name = 'Create Pandora ITSM ticket';
|
||||||
|
|
||||||
|
UPDATE `talert_commands` SET `name` = @command_name, `description` = @command_description WHERE `name` = 'Integria IMS Ticket' AND `internal` = 1;
|
||||||
|
INSERT IGNORE INTO `talert_commands` (`name`, `command`, `description`, `internal`, `fields_descriptions`, `fields_values`) VALUES (@command_name,'Internal type',@command_description,1,'["Ticket title","Ticket group ID","Ticket priority","Ticket owner","Ticket type","Ticket status","Ticket description","_custom_field_ITSM_","_custom_field_ITSM_","_custom_field_ITSM_","_custom_field_ITSM_","_custom_field_ITSM_","_custom_field_ITSM_","_custom_field_ITSM_","_custom_field_ITSM_","_custom_field_ITSM_","_custom_field_ITSM_","_custom_field_ITSM_","_custom_field_ITSM_","_custom_field_ITSM_"]','["", "_ITSM_groups_", "_ITSM_priorities_","_ITSM_users_","_ITSM_types_","_ITSM_status_","_html_editor_","_custom_field_ITSM_","_custom_field_ITSM_","_custom_field_ITSM_","_custom_field_ITSM_","_custom_field_ITSM_","_custom_field_ITSM_","_custom_field_ITSM_","_custom_field_ITSM_","_custom_field_ITSM_","_custom_field_ITSM_","_custom_field_ITSM_","_custom_field_ITSM_","_custom_field_ITSM_"]');
|
||||||
|
|
||||||
|
SELECT @id_alert_command := `id` FROM `talert_commands` WHERE `name` = @command_name;
|
||||||
|
UPDATE `talert_actions` SET `name` = @action_name WHERE `name` = 'Create Integria IMS ticket' AND `id_alert_command` = @id_alert_command;
|
||||||
|
INSERT IGNORE INTO `talert_actions` (`name`, `id_alert_command`) VALUES (@action_name,@id_alert_command);
|
||||||
|
|
||||||
|
SET @event_response_name = 'Create ticket in Pandora ITSM from event';
|
||||||
|
SET @event_response_description = 'Create a ticket in Pandora ITSM from an event';
|
||||||
|
SET @event_response_target = 'index.php?sec=manageTickets&sec2=operation/ITSM/itsm&operation=edit&from_event=_event_id_';
|
||||||
|
SET @event_response_type = 'url';
|
||||||
|
SET @event_response_id_group = 0;
|
||||||
|
SET @event_response_modal_width = 0;
|
||||||
|
SET @event_response_modal_height = 0;
|
||||||
|
SET @event_response_new_window = 1;
|
||||||
|
SET @event_response_params = '';
|
||||||
|
SET @event_response_server_to_exec = 0;
|
||||||
|
SET @event_response_command_timeout = 90;
|
||||||
|
SET @event_response_display_command = 1;
|
||||||
|
UPDATE `tevent_response` SET `name` = @event_response_name, `description` = @event_response_description, `target` = @event_response_target, `display_command` = @event_response_display_command WHERE `name` = 'Create ticket in IntegriaIMS from event';
|
||||||
|
INSERT IGNORE INTO `tevent_response` (`name`, `description`, `target`,`type`,`id_group`,`modal_width`,`modal_height`,`new_window`,`params`,`server_to_exec`,`command_timeout`,`display_command`) VALUES (@event_response_name, @event_response_description, @event_response_target, @event_response_type, @event_response_id_group, @event_response_modal_width, @event_response_modal_height, @event_response_new_window, @event_response_params, @event_response_server_to_exec, @event_response_command_timeout, @event_response_display_command);
|
||||||
|
|
||||||
COMMIT;
|
COMMIT;
|
@ -405,6 +405,12 @@ $actions = array_slice($actions, $offset, $limit);
|
|||||||
$rowPair = true;
|
$rowPair = true;
|
||||||
$iterator = 0;
|
$iterator = 0;
|
||||||
foreach ($actions as $action) {
|
foreach ($actions as $action) {
|
||||||
|
if ((isset($config['ITSM_enabled']) === false || (bool) $config['ITSM_enabled'] === false)
|
||||||
|
&& $action['name'] === 'Create Pandora ITSM ticket'
|
||||||
|
) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
if ($rowPair) {
|
if ($rowPair) {
|
||||||
$table->rowclass[$iterator] = 'rowPair';
|
$table->rowclass[$iterator] = 'rowPair';
|
||||||
} else {
|
} else {
|
||||||
|
@ -153,7 +153,7 @@ if (is_ajax()) {
|
|||||||
$style = ((int) $field_hidden === 1) ? '-webkit-text-security: disc; font-family: text-security-disc;' : '';
|
$style = ((int) $field_hidden === 1) ? '-webkit-text-security: disc; font-family: text-security-disc;' : '';
|
||||||
|
|
||||||
$recovery_disabled = 0;
|
$recovery_disabled = 0;
|
||||||
if (empty($command) === false && $command['name'] === io_safe_input('Integria IMS Ticket')) {
|
if (empty($command) === false && $command['name'] === io_safe_input('Pandora ITSM Ticket')) {
|
||||||
if ($management_is_not_allowed == 0) {
|
if ($management_is_not_allowed == 0) {
|
||||||
if (preg_match('/^_html_editor_$/i', $field_value) || $field_description === 'Ticket status') {
|
if (preg_match('/^_html_editor_$/i', $field_value) || $field_description === 'Ticket status') {
|
||||||
$recovery_disabled = 0;
|
$recovery_disabled = 0;
|
||||||
@ -1027,6 +1027,12 @@ $commands = array_slice($commands, $offset, $limit);
|
|||||||
foreach ($commands as $command) {
|
foreach ($commands as $command) {
|
||||||
$data = [];
|
$data = [];
|
||||||
|
|
||||||
|
if ((isset($config['ITSM_enabled']) === false || (bool) $config['ITSM_enabled'] === false)
|
||||||
|
&& $command['name'] === 'Pandora ITSM Ticket'
|
||||||
|
) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
$data['name'] = '<span>';
|
$data['name'] = '<span>';
|
||||||
|
|
||||||
// (IMPORTANT, DO NOT CHANGE!) only users with permissions over "All" group have access to edition of commands belonging to "All" group.
|
// (IMPORTANT, DO NOT CHANGE!) only users with permissions over "All" group have access to edition of commands belonging to "All" group.
|
||||||
|
@ -106,7 +106,7 @@ if (!empty($groups_user)) {
|
|||||||
$groups = implode(',', array_keys($groups_user));
|
$groups = implode(',', array_keys($groups_user));
|
||||||
|
|
||||||
if ($config['ITSM_enabled'] == 0) {
|
if ($config['ITSM_enabled'] == 0) {
|
||||||
$integria_command = 'Integria IMS Ticket';
|
$integria_command = 'Pandora ITSM Ticket';
|
||||||
$sql = sprintf('SELECT taa.id, taa.name FROM talert_actions taa INNER JOIN talert_commands tac ON taa.id_alert_command = tac.id WHERE tac.name <> "%s" AND taa.id_group IN (%s)', $integria_command, $groups);
|
$sql = sprintf('SELECT taa.id, taa.name FROM talert_actions taa INNER JOIN talert_commands tac ON taa.id_alert_command = tac.id WHERE tac.name <> "%s" AND taa.id_group IN (%s)', $integria_command, $groups);
|
||||||
} else {
|
} else {
|
||||||
$sql = "SELECT id, name FROM talert_actions WHERE id_group IN ($groups)";
|
$sql = "SELECT id, name FROM talert_actions WHERE id_group IN ($groups)";
|
||||||
|
@ -159,19 +159,20 @@ if ($id) {
|
|||||||
$name = $action['name'];
|
$name = $action['name'];
|
||||||
$id_command = $action['id_alert_command'];
|
$id_command = $action['id_alert_command'];
|
||||||
$command = alerts_get_alert_command($id_command);
|
$command = alerts_get_alert_command($id_command);
|
||||||
if (empty($command) === false && $command['name'] === io_safe_input('Integria IMS Ticket')) {
|
if (empty($command) === false && $command['name'] === io_safe_input('Pandora ITSM Ticket')) {
|
||||||
$action['field2'] = ($action['field2'] ?? $config['default_group']);
|
$action['field1'] = io_safe_output(($action['field1'] ?? $config['incident_title']));
|
||||||
$action['field3'] = ($action['field3'] ?? $config['default_criticity']);
|
$action['field2'] = io_safe_output(($action['field2'] ?? $config['default_group']));
|
||||||
$action['field4'] = ($action['field4'] ?? $config['default_owner']);
|
$action['field3'] = io_safe_output(($action['field3'] ?? $config['default_criticity']));
|
||||||
$action['field5'] = ($action['field5'] ?? $config['incident_type']);
|
$action['field4'] = io_safe_output(($action['field4'] ?? $config['default_owner']));
|
||||||
$action['field6'] = ($action['field6'] ?? $config['incident_status']);
|
$action['field5'] = io_safe_output(($action['field5'] ?? $config['incident_type']));
|
||||||
$action['field7'] = ($action['field7'] ?? $config['incident_content']);
|
$action['field6'] = io_safe_output(($action['field6'] ?? $config['incident_status']));
|
||||||
$action['field2_recovery'] = ($action['field2'] ?? $config['default_group']);
|
$action['field7'] = io_safe_output(($action['field7'] ?? $config['incident_content']));
|
||||||
$action['field3_recovery'] = ($action['field3'] ?? $config['default_criticity']);
|
$action['field2_recovery'] = io_safe_output(($action['field2'] ?? $config['default_group']));
|
||||||
$action['field4_recovery'] = ($action['field4'] ?? $config['default_owner']);
|
$action['field3_recovery'] = io_safe_output(($action['field3'] ?? $config['default_criticity']));
|
||||||
$action['field5_recovery'] = ($action['field5'] ?? $config['incident_type']);
|
$action['field4_recovery'] = io_safe_output(($action['field4'] ?? $config['default_owner']));
|
||||||
$action['field6_recovery'] = ($action['field6_recovery'] ?? $config['incident_status']);
|
$action['field5_recovery'] = io_safe_output(($action['field5'] ?? $config['incident_type']));
|
||||||
$action['field7_recovery'] = ($action['field7_recovery'] ?? $config['incident_content']);
|
$action['field6_recovery'] = io_safe_output(($action['field6_recovery'] ?? $config['incident_status']));
|
||||||
|
$action['field7_recovery'] = io_safe_output(($action['field7_recovery'] ?? $config['incident_content']));
|
||||||
}
|
}
|
||||||
|
|
||||||
$group = $action['id_group'];
|
$group = $action['id_group'];
|
||||||
@ -258,7 +259,7 @@ $table->data[0][1] = html_print_label_input_block(
|
|||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
$create_ticket_command_id = db_get_value('id', 'talert_commands', 'name', io_safe_input('Integria IMS Ticket'));
|
$create_ticket_command_id = db_get_value('id', 'talert_commands', 'name', io_safe_input('Pandora ITSM Ticket'));
|
||||||
|
|
||||||
$sql_exclude_command_id = '';
|
$sql_exclude_command_id = '';
|
||||||
|
|
||||||
@ -378,13 +379,13 @@ $table_macros->data[1][2] = html_print_label_input_block(
|
|||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
if (empty($command) === false && $command['name'] === io_safe_input('Integria IMS Ticket')) {
|
if (empty($command) === false && $command['name'] === io_safe_input('Pandora ITSM Ticket')) {
|
||||||
// Selector will work only with Integria activated.
|
// Selector will work only with Integria activated.
|
||||||
$integriaIdName = 'integria_wu';
|
$integriaIdName = 'integria_wu';
|
||||||
$table_macros->colspan[$integriaIdName][0] = 3;
|
$table_macros->colspan[$integriaIdName][0] = 3;
|
||||||
$table_macros->data[$integriaIdName][0] = html_print_label_input_block(
|
$table_macros->data[$integriaIdName][0] = html_print_label_input_block(
|
||||||
__('Create workunit on recovery').ui_print_help_tip(
|
__('Create workunit on recovery').ui_print_help_tip(
|
||||||
__('If closed status is set on recovery, a workunit will be added to the ticket in Integria IMS rather that closing the ticket.'),
|
__('If closed status is set on recovery, a workunit will be added to the ticket in Pandora ITSM rather that closing the ticket.'),
|
||||||
true
|
true
|
||||||
),
|
),
|
||||||
html_print_checkbox_switch_extended(
|
html_print_checkbox_switch_extended(
|
||||||
@ -749,54 +750,62 @@ $(document).ready (function () {
|
|||||||
disabled = $("[name=field" + i + "_value]").attr('disabled');
|
disabled = $("[name=field" + i + "_value]").attr('disabled');
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($("#id_command option:selected").text() === "Integria IMS Ticket" && (!old_value || !old_recovery_value) ) {
|
if ($("#id_command option:selected").text() === "Pandora ITSM Ticket" && (!old_value || !old_recovery_value) ) {
|
||||||
if (i === 2) {
|
if (i === 1) {
|
||||||
if(!old_value) {
|
if(!old_value) {
|
||||||
old_value = '<?php echo $config['default_group']; ?>';
|
old_value = '<?php echo io_safe_output($config['incident_title']); ?>';
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!old_recovery_value) {
|
if(!old_recovery_value) {
|
||||||
old_recovery_value = '<?php echo $config['default_group']; ?>';
|
old_recovery_value = '<?php echo io_safe_output($config['incident_title']); ?>';
|
||||||
|
}
|
||||||
|
} else if (i === 2) {
|
||||||
|
if(!old_value || old_value == 0) {
|
||||||
|
old_value = '<?php echo io_safe_output($config['default_group']); ?>';
|
||||||
|
}
|
||||||
|
|
||||||
|
if(!old_recovery_value) {
|
||||||
|
old_recovery_value = '<?php echo io_safe_output($config['default_group']); ?>';
|
||||||
}
|
}
|
||||||
} else if (i === 3) {
|
} else if (i === 3) {
|
||||||
if(!old_value) {
|
if(!old_value) {
|
||||||
old_value = '<?php echo $config['default_criticity']; ?>';
|
old_value = '<?php echo io_safe_output($config['default_criticity']); ?>';
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!old_recovery_value) {
|
if(!old_recovery_value) {
|
||||||
old_recovery_value = '<?php echo $config['default_criticity']; ?>';
|
old_recovery_value = '<?php echo io_safe_output($config['default_criticity']); ?>';
|
||||||
}
|
}
|
||||||
} else if (i === 4) {
|
} else if (i === 4) {
|
||||||
if(!old_value) {
|
if(!old_value) {
|
||||||
old_value = '<?php echo $config['default_owner']; ?>';
|
old_value = '<?php echo io_safe_output($config['default_owner']); ?>';
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!old_recovery_value) {
|
if(!old_recovery_value) {
|
||||||
old_recovery_value = '<?php echo $config['default_owner']; ?>';
|
old_recovery_value = '<?php echo io_safe_output($config['default_owner']); ?>';
|
||||||
}
|
}
|
||||||
} else if (i === 5) {
|
} else if (i === 5) {
|
||||||
if(!old_value) {
|
if(!old_value) {
|
||||||
old_value = '<?php echo $config['incident_type']; ?>';
|
old_value = '<?php echo io_safe_output($config['incident_type']); ?>';
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!old_recovery_value) {
|
if(!old_recovery_value) {
|
||||||
old_recovery_value = '<?php echo $config['incident_type']; ?>';
|
old_recovery_value = '<?php echo io_safe_output($config['incident_type']); ?>';
|
||||||
}
|
}
|
||||||
} else if (i === 6) {
|
} else if (i === 6) {
|
||||||
if(!old_value) {
|
if(!old_value) {
|
||||||
old_value = '<?php echo $config['incident_status']; ?>';
|
old_value = '<?php echo io_safe_output($config['incident_status']); ?>';
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!old_recovery_value) {
|
if(!old_recovery_value) {
|
||||||
old_recovery_value = '<?php echo $config['incident_status']; ?>';
|
old_recovery_value = '<?php echo io_safe_output($config['incident_status']); ?>';
|
||||||
}
|
}
|
||||||
} else if (i === 7) {
|
} else if (i === 7) {
|
||||||
if(!old_value) {
|
if(!old_value) {
|
||||||
old_value = '<?php echo $config['incident_content']; ?>';
|
old_value = '<?php echo io_safe_output($config['incident_content']); ?>';
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!old_recovery_value) {
|
if(!old_recovery_value) {
|
||||||
old_recovery_value = '<?php echo $config['incident_content']; ?>';
|
old_recovery_value = '<?php echo io_safe_output($config['incident_content']); ?>';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -863,7 +872,7 @@ $(document).ready (function () {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($("#id_command option:selected").text() === "Integria IMS Ticket" && i > 7) {
|
if ($("#id_command option:selected").text() === "Pandora ITSM Ticket" && i > 7) {
|
||||||
integria_custom_fields_values.push(old_value);
|
integria_custom_fields_values.push(old_value);
|
||||||
integria_custom_fields_rvalues.push(old_recovery_value);
|
integria_custom_fields_rvalues.push(old_recovery_value);
|
||||||
}
|
}
|
||||||
@ -885,9 +894,9 @@ $(document).ready (function () {
|
|||||||
$table_macros_field.show();
|
$table_macros_field.show();
|
||||||
}
|
}
|
||||||
|
|
||||||
// Ad-hoc solution for Integria IMS command: get Integia IMS Ticket custom fields only when this command is selected and we selected a ticket type to retrieve fields from.
|
// Ad-hoc solution for Pandora ITSM command: get Integia IMS Ticket custom fields only when this command is selected and we selected a ticket type to retrieve fields from.
|
||||||
// Check command by name since it is unvariable in any case, unlike its ID.
|
// Check command by name since it is unvariable in any case, unlike its ID.
|
||||||
if ($("#id_command option:selected").text() === "Integria IMS Ticket") {
|
if ($("#id_command option:selected").text() === "Pandora ITSM Ticket") {
|
||||||
var max_macro_fields = <?php echo $config['max_macro_fields']; ?>;
|
var max_macro_fields = <?php echo $config['max_macro_fields']; ?>;
|
||||||
|
|
||||||
// At start hide all rows and inputs corresponding to custom fields, regardless of what its type is.
|
// At start hide all rows and inputs corresponding to custom fields, regardless of what its type is.
|
||||||
|
@ -75,6 +75,12 @@ foreach ($event_responses as $response) {
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ((isset($config['ITSM_enabled']) === false || (bool) $config['ITSM_enabled'] === false)
|
||||||
|
&& $response['name'] === 'Create ticket in Pandora ITSM from event'
|
||||||
|
) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
$data = [];
|
$data = [];
|
||||||
$data[0] = '<a href="index.php?sec=geventos&sec2=godmode/events/events§ion=responses&mode=editor&id_response='.$response['id'].'&pure='.$config['pure'].'">'.$response['name'].'</a>';
|
$data[0] = '<a href="index.php?sec=geventos&sec2=godmode/events/events§ion=responses&mode=editor&id_response='.$response['id'].'&pure='.$config['pure'].'">'.$response['name'].'</a>';
|
||||||
$data[1] = $response['description'];
|
$data[1] = $response['description'];
|
||||||
|
@ -63,78 +63,6 @@ if ($has_connection === false && $config['ITSM_enabled']) {
|
|||||||
ui_print_error_message(__('ITSM API is not reachable, %s', $error));
|
ui_print_error_message(__('ITSM API is not reachable, %s', $error));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (get_parameter('update_config', 0) == 1) {
|
|
||||||
// Try to retrieve event response 'Create incident in IntegriaIMS from event' to check if it exists.
|
|
||||||
$event_response_exists = db_get_row_filter(
|
|
||||||
'tevent_response',
|
|
||||||
['name' => io_safe_input('Create ticket in IntegriaIMS from event')]
|
|
||||||
);
|
|
||||||
|
|
||||||
// Try to retrieve command 'Integia IMS Ticket' to check if it exists.
|
|
||||||
$command_exists = db_get_row_filter(
|
|
||||||
'talert_commands',
|
|
||||||
['name' => io_safe_input('Integria IMS Ticket')]
|
|
||||||
);
|
|
||||||
|
|
||||||
if ($config['ITSM_enabled'] == 1) {
|
|
||||||
if ($event_response_exists === false) {
|
|
||||||
// Create 'Create incident in IntegriaIMS from event' event response only when user enables IntegriaIMS integration and it does not exist in database.
|
|
||||||
db_process_sql_insert(
|
|
||||||
'tevent_response',
|
|
||||||
[
|
|
||||||
'name' => io_safe_input('Create ticket in IntegriaIMS from event'),
|
|
||||||
'description' => io_safe_input('Create a ticket in Integria IMS from an event'),
|
|
||||||
'target' => io_safe_input('index.php?sec=incident&sec2=operation/incidents/configure_integriaims_incident&from_event=_event_id_'),
|
|
||||||
'type' => 'url',
|
|
||||||
'id_group' => '0',
|
|
||||||
'modal_width' => '0',
|
|
||||||
'modal_height' => '0',
|
|
||||||
'new_window' => '1',
|
|
||||||
'params' => '',
|
|
||||||
'server_to_exec' => '0',
|
|
||||||
]
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($command_exists === false) {
|
|
||||||
// Create 'Integria IMS Ticket' command only when user enables IntegriaIMS integration and it does not exist in database.
|
|
||||||
$id_command_inserted = db_process_sql_insert(
|
|
||||||
'talert_commands',
|
|
||||||
[
|
|
||||||
'name' => io_safe_input('Integria IMS Ticket'),
|
|
||||||
'command' => io_safe_input('Internal type'),
|
|
||||||
'internal' => 1,
|
|
||||||
'description' => io_safe_input('Create a ticket in Integria IMS'),
|
|
||||||
'fields_descriptions' => '["'.io_safe_input('Ticket title').'","'.io_safe_input('Ticket group ID').'","'.io_safe_input('Ticket priority').'","'.io_safe_input('Ticket owner').'","'.io_safe_input('Ticket type').'","'.io_safe_input('Ticket status').'","'.io_safe_input('Ticket description').'","_custom_field_ITSM_","_custom_field_ITSM_","_custom_field_ITSM_","_custom_field_ITSM_","_custom_field_ITSM_","_custom_field_ITSM_","_custom_field_ITSM_","_custom_field_ITSM_","_custom_field_ITSM_","_custom_field_ITSM_","_custom_field_ITSM_","_custom_field_ITSM_","_custom_field_ITSM_"]',
|
|
||||||
'fields_values' => '["", "_ITSM_groups_", "_ITSM_priorities_","_ITSM_users_","_ITSM_types_","_ITSM_status_","_html_editor_","_custom_field_ITSM_","_custom_field_ITSM_","_custom_field_ITSM_","_custom_field_ITSM_","_custom_field_ITSM_","_custom_field_ITSM_","_custom_field_ITSM_","_custom_field_ITSM_","_custom_field_ITSM_","_custom_field_ITSM_","_custom_field_ITSM_","_custom_field_ITSM_","_custom_field_ITSM_"]',
|
|
||||||
]
|
|
||||||
);
|
|
||||||
|
|
||||||
// Create 'Create Integria IMS Ticket' action only when user enables IntegriaIMS integration and command exists in database.
|
|
||||||
$action_values = [
|
|
||||||
'field1' => $config['incident_title'],
|
|
||||||
'field1_recovery' => $config['incident_title'],
|
|
||||||
'field2' => $config['default_group'],
|
|
||||||
'field2_recovery' => $config['default_group'],
|
|
||||||
'field3' => $config['default_criticity'],
|
|
||||||
'field3_recovery' => $config['default_criticity'],
|
|
||||||
'field4' => $config['default_owner'],
|
|
||||||
'field4_recovery' => $config['default_owner'],
|
|
||||||
'field5' => $config['incident_type'],
|
|
||||||
'field5_recovery' => $config['incident_type'],
|
|
||||||
'field6' => $config['incident_status'],
|
|
||||||
'field6_recovery' => $config['incident_status'],
|
|
||||||
'field7' => $config['incident_content'],
|
|
||||||
'field7_recovery' => $config['incident_content'],
|
|
||||||
'id_group' => 0,
|
|
||||||
'action_threshold' => 0,
|
|
||||||
];
|
|
||||||
|
|
||||||
alerts_create_alert_action(io_safe_input('Create Integria IMS ticket'), $id_command_inserted, $action_values);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
$table_enable = new StdClass();
|
$table_enable = new StdClass();
|
||||||
$table_enable->data = [];
|
$table_enable->data = [];
|
||||||
$table_enable->width = '100%';
|
$table_enable->width = '100%';
|
||||||
|
@ -1923,11 +1923,11 @@ function config_update_config()
|
|||||||
$error_update[] = __('Pandora ITSM default creator');
|
$error_update[] = __('Pandora ITSM default creator');
|
||||||
}
|
}
|
||||||
|
|
||||||
if (config_update_value('default_owner', (string) get_parameter('default_owner', $config['default_owner']), true) === false) {
|
if (config_update_value('default_owner', (string) get_parameter('default_owner_hidden', $config['default_owner']), true) === false) {
|
||||||
$error_update[] = __('Pandora ITSM default owner');
|
$error_update[] = __('Pandora ITSM default owner');
|
||||||
}
|
}
|
||||||
|
|
||||||
if (config_update_value('cr_default_owner', (string) get_parameter('cr_default_owner', $config['cr_default_owner']), true) === false) {
|
if (config_update_value('cr_default_owner', (string) get_parameter('cr_default_owner_hidden', $config['cr_default_owner']), true) === false) {
|
||||||
$error_update[] = __('Pandora ITSM custom response default owner');
|
$error_update[] = __('Pandora ITSM custom response default owner');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3635,6 +3635,12 @@ function events_page_responses($event)
|
|||||||
} else {
|
} else {
|
||||||
$responses = [];
|
$responses = [];
|
||||||
foreach ($event_responses as $v) {
|
foreach ($event_responses as $v) {
|
||||||
|
if ((isset($config['ITSM_enabled']) === false || (bool) $config['ITSM_enabled'] === false)
|
||||||
|
&& $v['name'] === 'Create ticket in Pandora ITSM from event'
|
||||||
|
) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
$responses[$v['id']] = $v['name'];
|
$responses[$v['id']] = $v['name'];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -6405,52 +6405,72 @@ function html_print_autocomplete_users_from_pandora_itsm(
|
|||||||
}
|
}
|
||||||
|
|
||||||
$(document).ready (function () {
|
$(document).ready (function () {
|
||||||
$("#text-<?php echo $name; ?>").autocomplete({
|
$("#text-<?php echo $name; ?>").autocomplete({
|
||||||
minLength: 2,
|
minLength: 2,
|
||||||
source: function( request, response ) {
|
source: function( request, response ) {
|
||||||
var term = request.term; //Word to search
|
var term = request.term; //Word to search
|
||||||
|
|
||||||
data_params = {
|
var data_params = {
|
||||||
page: "operation/ITSM/itsm",
|
page: "operation/ITSM/itsm",
|
||||||
search_term: term,
|
search_term: term,
|
||||||
method: "getUserSelect",
|
method: "getUserSelect",
|
||||||
};
|
};
|
||||||
|
|
||||||
jQuery.ajax ({
|
jQuery.ajax ({
|
||||||
data: data_params,
|
data: data_params,
|
||||||
async: false,
|
async: false,
|
||||||
type: "POST",
|
type: "POST",
|
||||||
url: action="<?php echo $javascript_ajax_page; ?>",
|
url: action="<?php echo $javascript_ajax_page; ?>",
|
||||||
timeout: 10000,
|
timeout: 10000,
|
||||||
dataType: "json",
|
dataType: "json",
|
||||||
success: function (data) {
|
success: function (data) {
|
||||||
temp = [];
|
temp = [];
|
||||||
$.each(data, function (id, module) {
|
$.each(data, function (id, module) {
|
||||||
temp.push({
|
temp.push({
|
||||||
'value' : id,
|
'value' : id,
|
||||||
'label' : module});
|
'label' : module});
|
||||||
});
|
});
|
||||||
|
|
||||||
response(temp);
|
response(temp);
|
||||||
}
|
|
||||||
});
|
|
||||||
},
|
|
||||||
change: function( event, ui ) {
|
|
||||||
if (!ui.item)
|
|
||||||
$("input[name='<?php echo $name; ?>_hidden']")
|
|
||||||
.val(0);
|
|
||||||
return false;
|
|
||||||
},
|
|
||||||
select: function( event, ui ) {
|
|
||||||
$("input[name='<?php echo $name; ?>_hidden']")
|
|
||||||
.val(ui.item.value);
|
|
||||||
|
|
||||||
$("#text-<?php echo $name; ?>").val( ui.item.label );
|
|
||||||
return false;
|
|
||||||
}
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
change: function( event, ui ) {
|
||||||
|
if (!ui.item) {
|
||||||
|
$("input[name='<?php echo $name; ?>_hidden']")
|
||||||
|
.val(0);
|
||||||
}
|
}
|
||||||
);
|
return false;
|
||||||
|
},
|
||||||
|
select: function( event, ui ) {
|
||||||
|
$("input[name='<?php echo $name; ?>_hidden']")
|
||||||
|
.val(ui.item.value);
|
||||||
|
|
||||||
|
$("#text-<?php echo $name; ?>").val( ui.item.label );
|
||||||
|
return false;
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
if($("input[name='<?php echo $name; ?>_hidden']").val() !== ''){
|
||||||
|
var data_params_initial = {
|
||||||
|
page: "operation/ITSM/itsm",
|
||||||
|
search_term: $("input[name='<?php echo $name; ?>_hidden']").val(),
|
||||||
|
method: "getUserSelect",
|
||||||
|
};
|
||||||
|
|
||||||
|
jQuery.ajax ({
|
||||||
|
data: data_params_initial,
|
||||||
|
async: false,
|
||||||
|
type: "POST",
|
||||||
|
url: action="<?php echo $javascript_ajax_page; ?>",
|
||||||
|
timeout: 10000,
|
||||||
|
dataType: "json",
|
||||||
|
success: function (data) {
|
||||||
|
$("#text-<?php echo $name; ?>").val(Object.entries(data)[0][1])
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
</script>
|
</script>
|
||||||
<?php
|
<?php
|
||||||
$output = ob_get_clean();
|
$output = ob_get_clean();
|
||||||
|
@ -181,11 +181,13 @@ class Manager
|
|||||||
*/
|
*/
|
||||||
private function showEdit()
|
private function showEdit()
|
||||||
{
|
{
|
||||||
|
global $config;
|
||||||
$create_incidence = (bool) \get_parameter('create_incidence', 0);
|
$create_incidence = (bool) \get_parameter('create_incidence', 0);
|
||||||
$update_incidence = (bool) \get_parameter('update_incidence', 0);
|
$update_incidence = (bool) \get_parameter('update_incidence', 0);
|
||||||
$idIncidence = \get_parameter('idIncidence', 0);
|
$idIncidence = (int) \get_parameter('idIncidence', 0);
|
||||||
|
$idEvent = (int) \get_parameter('from_event', 0);
|
||||||
|
|
||||||
$headerTabs = $this->headersTabs('edit', (bool) $idIncidence);
|
$headerTabs = $this->headersTabs('edit', $idIncidence);
|
||||||
|
|
||||||
$error = '';
|
$error = '';
|
||||||
try {
|
try {
|
||||||
@ -203,16 +205,42 @@ class Manager
|
|||||||
$error = $th->getMessage();
|
$error = $th->getMessage();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$default_values = [
|
||||||
|
'title' => '',
|
||||||
|
'idIncidenceType' => 0,
|
||||||
|
'idGroup' => 0,
|
||||||
|
'priority' => 'LOW',
|
||||||
|
'status' => 'NEW',
|
||||||
|
'idCreator' => '',
|
||||||
|
'owner' => '',
|
||||||
|
'resolution' => null,
|
||||||
|
'description' => '',
|
||||||
|
];
|
||||||
|
|
||||||
|
if (empty($idEvent) === false) {
|
||||||
|
$default_values = [
|
||||||
|
'title' => $config['cr_incident_title'],
|
||||||
|
'idIncidenceType' => $config['cr_incident_type'],
|
||||||
|
'idGroup' => $config['cr_default_group'],
|
||||||
|
'priority' => $config['cr_default_criticity'],
|
||||||
|
'status' => $config['cr_incident_status'],
|
||||||
|
'idCreator' => '',
|
||||||
|
'owner' => $config['cr_default_owner'],
|
||||||
|
'resolution' => null,
|
||||||
|
'description' => $config['cr_incident_content'],
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
$incidence = [
|
$incidence = [
|
||||||
'title' => \get_parameter('title', ($incidenceData['title'] ?? '')),
|
'title' => \get_parameter('title', ($incidenceData['title'] ?? $default_values['title'])),
|
||||||
'idIncidenceType' => \get_parameter('idIncidenceType', ($incidenceData['idIncidenceType'] ?? 0)),
|
'idIncidenceType' => \get_parameter('idIncidenceType', ($incidenceData['idIncidenceType'] ?? $default_values['idIncidenceType'])),
|
||||||
'idGroup' => \get_parameter('idGroup', ($incidenceData['idGroup'] ?? 0)),
|
'idGroup' => \get_parameter('idGroup', ($incidenceData['idGroup'] ?? $default_values['idGroup'])),
|
||||||
'priority' => \get_parameter('priority', ($incidenceData['priority'] ?? 'LOW')),
|
'priority' => \get_parameter('priority', ($incidenceData['priority'] ?? $default_values['priority'])),
|
||||||
'status' => \get_parameter('status', ($incidenceData['status'] ?? 'NEW')),
|
'status' => \get_parameter('status', ($incidenceData['status'] ?? $default_values['status'])),
|
||||||
'idCreator' => \get_parameter('idCreator', ($incidenceData['idCreator'] ?? '')),
|
'idCreator' => \get_parameter('idCreator', ($incidenceData['idCreator'] ?? $default_values['idCreator'])),
|
||||||
'owner' => \get_parameter('owner_hidden', ($incidenceData['owner'] ?? '')),
|
'owner' => \get_parameter('owner_hidden', ($incidenceData['owner'] ?? $default_values['owner'])),
|
||||||
'resolution' => \get_parameter('resolution', ($incidenceData['resolution'] ?? null)),
|
'resolution' => \get_parameter('resolution', ($incidenceData['resolution'] ?? $default_values['resolution'])),
|
||||||
'description' => \get_parameter('description', ($incidenceData['description'] ?? '')),
|
'description' => \get_parameter('description', ($incidenceData['description'] ?? $default_values['description'])),
|
||||||
];
|
];
|
||||||
|
|
||||||
$successfullyMsg = '';
|
$successfullyMsg = '';
|
||||||
@ -283,7 +311,7 @@ class Manager
|
|||||||
$idAttachment = (int) \get_parameter('idAttachment', 0);
|
$idAttachment = (int) \get_parameter('idAttachment', 0);
|
||||||
$addComment = (bool) \get_parameter('addComment', 0);
|
$addComment = (bool) \get_parameter('addComment', 0);
|
||||||
|
|
||||||
$headerTabs = $this->headersTabs('detail', (bool) $idIncidence);
|
$headerTabs = $this->headersTabs('detail', $idIncidence);
|
||||||
|
|
||||||
$error = '';
|
$error = '';
|
||||||
$successfullyMsg = null;
|
$successfullyMsg = null;
|
||||||
|
@ -397,7 +397,8 @@ CREATE TABLE IF NOT EXISTS `talert_commands` (
|
|||||||
`fields_values` TEXT,
|
`fields_values` TEXT,
|
||||||
`fields_hidden` TEXT,
|
`fields_hidden` TEXT,
|
||||||
`previous_name` TEXT,
|
`previous_name` TEXT,
|
||||||
PRIMARY KEY (`id`)
|
PRIMARY KEY (`id`),
|
||||||
|
UNIQUE (`name`)
|
||||||
) ENGINE=InnoDB DEFAULT CHARSET=UTF8MB4;
|
) ENGINE=InnoDB DEFAULT CHARSET=UTF8MB4;
|
||||||
|
|
||||||
-- -----------------------------------------------------
|
-- -----------------------------------------------------
|
||||||
@ -405,7 +406,7 @@ CREATE TABLE IF NOT EXISTS `talert_commands` (
|
|||||||
-- -----------------------------------------------------
|
-- -----------------------------------------------------
|
||||||
CREATE TABLE IF NOT EXISTS `talert_actions` (
|
CREATE TABLE IF NOT EXISTS `talert_actions` (
|
||||||
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT,
|
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT,
|
||||||
`name` TEXT,
|
`name` VARCHAR(500),
|
||||||
`id_alert_command` INT UNSIGNED NULL DEFAULT 0,
|
`id_alert_command` INT UNSIGNED NULL DEFAULT 0,
|
||||||
`field1` TEXT,
|
`field1` TEXT,
|
||||||
`field2` TEXT,
|
`field2` TEXT,
|
||||||
@ -452,6 +453,7 @@ CREATE TABLE IF NOT EXISTS `talert_actions` (
|
|||||||
`previous_name` TEXT,
|
`previous_name` TEXT,
|
||||||
`create_wu_integria` TINYINT DEFAULT NULL,
|
`create_wu_integria` TINYINT DEFAULT NULL,
|
||||||
PRIMARY KEY (`id`),
|
PRIMARY KEY (`id`),
|
||||||
|
UNIQUE (`name`),
|
||||||
FOREIGN KEY (`id_alert_command`) REFERENCES talert_commands(`id`)
|
FOREIGN KEY (`id_alert_command`) REFERENCES talert_commands(`id`)
|
||||||
ON DELETE CASCADE ON UPDATE CASCADE
|
ON DELETE CASCADE ON UPDATE CASCADE
|
||||||
) ENGINE=InnoDB DEFAULT CHARSET=UTF8MB4;
|
) ENGINE=InnoDB DEFAULT CHARSET=UTF8MB4;
|
||||||
|
File diff suppressed because one or more lines are too long
@ -1850,8 +1850,8 @@ sub pandora_execute_action ($$$$$$$$$;$$) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
# Integria IMS Ticket
|
# Pandora ITSM Ticket
|
||||||
} elsif ($clean_name eq "Integria IMS Ticket") {
|
} elsif ($clean_name eq "Pandora ITSM Ticket") {
|
||||||
my $config_ITSM_enabled = pandora_get_tconfig_token ($dbh, 'ITSM_enabled', '');
|
my $config_ITSM_enabled = pandora_get_tconfig_token ($dbh, 'ITSM_enabled', '');
|
||||||
if (!$config_ITSM_enabled) {
|
if (!$config_ITSM_enabled) {
|
||||||
return;
|
return;
|
||||||
@ -1867,19 +1867,6 @@ sub pandora_execute_action ($$$$$$$$$;$$) {
|
|||||||
$field5 = subst_alert_macros ($field5, \%macros, $pa_config, $dbh, $agent, $module, $alert);
|
$field5 = subst_alert_macros ($field5, \%macros, $pa_config, $dbh, $agent, $module, $alert);
|
||||||
$field6 = subst_alert_macros ($field6, \%macros, $pa_config, $dbh, $agent, $module, $alert);
|
$field6 = subst_alert_macros ($field6, \%macros, $pa_config, $dbh, $agent, $module, $alert);
|
||||||
$field7 = subst_alert_macros ($field7, \%macros, $pa_config, $dbh, $agent, $module, $alert);
|
$field7 = subst_alert_macros ($field7, \%macros, $pa_config, $dbh, $agent, $module, $alert);
|
||||||
$field8 = subst_alert_macros ($field8, \%macros, $pa_config, $dbh, $agent, $module, $alert);
|
|
||||||
$field9 = subst_alert_macros ($field9, \%macros, $pa_config, $dbh, $agent, $module, $alert);
|
|
||||||
$field10 = subst_alert_macros ($field10, \%macros, $pa_config, $dbh, $agent, $module, $alert);
|
|
||||||
$field11 = subst_alert_macros ($field11, \%macros, $pa_config, $dbh, $agent, $module, $alert);
|
|
||||||
$field12 = subst_alert_macros ($field12, \%macros, $pa_config, $dbh, $agent, $module, $alert);
|
|
||||||
$field13 = subst_alert_macros ($field13, \%macros, $pa_config, $dbh, $agent, $module, $alert);
|
|
||||||
$field14 = subst_alert_macros ($field14, \%macros, $pa_config, $dbh, $agent, $module, $alert);
|
|
||||||
$field15 = subst_alert_macros ($field15, \%macros, $pa_config, $dbh, $agent, $module, $alert);
|
|
||||||
$field16 = subst_alert_macros ($field16, \%macros, $pa_config, $dbh, $agent, $module, $alert);
|
|
||||||
$field17 = subst_alert_macros ($field17, \%macros, $pa_config, $dbh, $agent, $module, $alert);
|
|
||||||
$field18 = subst_alert_macros ($field18, \%macros, $pa_config, $dbh, $agent, $module, $alert);
|
|
||||||
$field19 = subst_alert_macros ($field19, \%macros, $pa_config, $dbh, $agent, $module, $alert);
|
|
||||||
$field20 = subst_alert_macros ($field20, \%macros, $pa_config, $dbh, $agent, $module, $alert);
|
|
||||||
|
|
||||||
# Field 1 (Ticket name)
|
# Field 1 (Ticket name)
|
||||||
my $ticket_name = safe_output($field1);
|
my $ticket_name = safe_output($field1);
|
||||||
@ -1913,12 +1900,15 @@ sub pandora_execute_action ($$$$$$$$$;$$) {
|
|||||||
|
|
||||||
# Field 6 (Ticket status)
|
# Field 6 (Ticket status)
|
||||||
my $ticket_status = $field6;
|
my $ticket_status = $field6;
|
||||||
if ($ticket_status eq '0') {
|
if ($ticket_status eq '') {
|
||||||
$ticket_status = 1;
|
$ticket_status = 'new';
|
||||||
}
|
}
|
||||||
|
|
||||||
# Field 7 (Ticket description);
|
# Field 7 (Ticket description);
|
||||||
my $ticket_description = subst_alert_macros(safe_output($field7), \%macros, $pa_config, $dbh, $agent, $module, $alert);
|
my $ticket_description = $field7;
|
||||||
|
if ($ticket_description eq '') {
|
||||||
|
$ticket_description = '';
|
||||||
|
}
|
||||||
|
|
||||||
my $external_id = $agent->{'nombre'} . '-' . $module->{'id_agente'} . '-' . $module->{'id_agente_modulo'};
|
my $external_id = $agent->{'nombre'} . '-' . $module->{'id_agente'} . '-' . $module->{'id_agente_modulo'};
|
||||||
|
|
||||||
@ -1959,19 +1949,19 @@ sub pandora_execute_action ($$$$$$$$$;$$) {
|
|||||||
|
|
||||||
# Ticket type custom fields
|
# Ticket type custom fields
|
||||||
my %custom_fields = (
|
my %custom_fields = (
|
||||||
'field0' => subst_alert_macros(safe_output($field8), \%macros, $pa_config, $dbh, $agent, $module, $alert),
|
'field0' => $field8 ne "" ? subst_alert_macros(safe_output($field8), \%macros, $pa_config, $dbh, $agent, $module, $alert) : undef,
|
||||||
'field1' => subst_alert_macros(safe_output($field9), \%macros, $pa_config, $dbh, $agent, $module, $alert),
|
'field1' => $field9 ne "" ? subst_alert_macros(safe_output($field9), \%macros, $pa_config, $dbh, $agent, $module, $alert) : undef,
|
||||||
'field2' => subst_alert_macros(safe_output($field10), \%macros, $pa_config, $dbh, $agent, $module, $alert),
|
'field2' => $field10 ne "" ? subst_alert_macros(safe_output($field10), \%macros, $pa_config, $dbh, $agent, $module, $alert) : undef,
|
||||||
'field3' => subst_alert_macros(safe_output($field11), \%macros, $pa_config, $dbh, $agent, $module, $alert),
|
'field3' => $field11 ne "" ? subst_alert_macros(safe_output($field11), \%macros, $pa_config, $dbh, $agent, $module, $alert) : undef,
|
||||||
'field4' => subst_alert_macros(safe_output($field12), \%macros, $pa_config, $dbh, $agent, $module, $alert),
|
'field4' => $field12 ne "" ? subst_alert_macros(safe_output($field12), \%macros, $pa_config, $dbh, $agent, $module, $alert) : undef,
|
||||||
'field5' => subst_alert_macros(safe_output($field13), \%macros, $pa_config, $dbh, $agent, $module, $alert),
|
'field5' => $field13 ne "" ? subst_alert_macros(safe_output($field13), \%macros, $pa_config, $dbh, $agent, $module, $alert) : undef,
|
||||||
'field6' => subst_alert_macros(safe_output($field14), \%macros, $pa_config, $dbh, $agent, $module, $alert),
|
'field6' => $field14 ne "" ? subst_alert_macros(safe_output($field14), \%macros, $pa_config, $dbh, $agent, $module, $alert) : undef,
|
||||||
'field7' => subst_alert_macros(safe_output($field15), \%macros, $pa_config, $dbh, $agent, $module, $alert),
|
'field7' => $field15 ne "" ? subst_alert_macros(safe_output($field15), \%macros, $pa_config, $dbh, $agent, $module, $alert) : undef,
|
||||||
'field8' => subst_alert_macros(safe_output($field16), \%macros, $pa_config, $dbh, $agent, $module, $alert),
|
'field8' => $field16 ne "" ? subst_alert_macros(safe_output($field16), \%macros, $pa_config, $dbh, $agent, $module, $alert) : undef,
|
||||||
'field9' => subst_alert_macros(safe_output($field17), \%macros, $pa_config, $dbh, $agent, $module, $alert),
|
'field9' => $field17 ne "" ? subst_alert_macros(safe_output($field17), \%macros, $pa_config, $dbh, $agent, $module, $alert) : undef,
|
||||||
'field10' => subst_alert_macros(safe_output($field18), \%macros, $pa_config, $dbh, $agent, $module, $alert),
|
'field10' => $field18 ne "" ? subst_alert_macros(safe_output($field18), \%macros, $pa_config, $dbh, $agent, $module, $alert) : undef,
|
||||||
'field11' => subst_alert_macros(safe_output($field19), \%macros, $pa_config, $dbh, $agent, $module, $alert),
|
'field11' => $field19 ne "" ? subst_alert_macros(safe_output($field19), \%macros, $pa_config, $dbh, $agent, $module, $alert) : undef,
|
||||||
'field12' => subst_alert_macros(safe_output($field20), \%macros, $pa_config, $dbh, $agent, $module, $alert)
|
'field12' => $field20 ne "" ? subst_alert_macros(safe_output($field20), \%macros, $pa_config, $dbh, $agent, $module, $alert) : undef
|
||||||
);
|
);
|
||||||
|
|
||||||
# Check exit inventory object.
|
# Check exit inventory object.
|
||||||
|
@ -2359,13 +2359,13 @@ sub api_call {
|
|||||||
# TODO: change to logger.
|
# TODO: change to logger.
|
||||||
use Data::Dumper;
|
use Data::Dumper;
|
||||||
$Data::Dumper::SortKeys = 1;
|
$Data::Dumper::SortKeys = 1;
|
||||||
print Dumper("------------------");
|
|
||||||
if ($@) { print Dumper($@); }
|
|
||||||
#print Dumper($response);
|
#print Dumper($response);
|
||||||
print Dumper($response->{'_rc'});
|
print Dumper($response->{'_rc'});
|
||||||
print Dumper($response->{'_content'});
|
print Dumper($response->{'_content'});
|
||||||
print Dumper($response->{'_request'});
|
print Dumper($response->{'_request'});
|
||||||
|
|
||||||
|
logger($pa_config, 'Api response failure: ' . $response->{'_rc'} . '. Description error: ' . $response->{'_content'}, 3);
|
||||||
|
logger($pa_config, $response->{'_request'}, 3);
|
||||||
return undef;
|
return undef;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user