wip event view
This commit is contained in:
parent
ab7d72a1c9
commit
457c1c9edf
|
@ -287,9 +287,8 @@ function show_filter() {
|
|||
$("#load-filter-select").dialog({
|
||||
resizable: true,
|
||||
draggable: true,
|
||||
modal: true,
|
||||
closeOnEscape: true,
|
||||
open: function(event, ui) { $(".ui-dialog-titlebar-close").hide(); }
|
||||
modal: false,
|
||||
closeOnEscape: true
|
||||
});
|
||||
}
|
||||
|
||||
|
@ -487,12 +486,29 @@ if ($save_filter_modal) {
|
|||
?>
|
||||
<script type="text/javascript">
|
||||
function show_save_filter() {
|
||||
$('#save_filter_row1').show();
|
||||
$('#save_filter_row2').show();
|
||||
$('#update_filter_row1').hide();
|
||||
// Filter save mode selector
|
||||
$("[name='filter_mode']").click(function() {
|
||||
if ($(this).val() == 'new') {
|
||||
$('#save_filter_row1').show();
|
||||
$('#save_filter_row2').show();
|
||||
$('#submit-save_filter').show();
|
||||
$('#update_filter_row1').hide();
|
||||
}
|
||||
else {
|
||||
$('#save_filter_row1').hide();
|
||||
$('#save_filter_row2').hide();
|
||||
$('#update_filter_row1').show();
|
||||
$('#submit-save_filter').hide();
|
||||
}
|
||||
});
|
||||
$("#save-filter-select").dialog({
|
||||
resizable: true,
|
||||
draggable: true,
|
||||
modal: true,
|
||||
closeOnEscape: true,
|
||||
open: function(event, ui) { $(".ui-dialog-titlebar-close").hide(); }
|
||||
modal: false,
|
||||
closeOnEscape: true
|
||||
});
|
||||
}
|
||||
|
||||
|
@ -1110,7 +1126,7 @@ if ($get_extended_event) {
|
|||
$childrens_ids
|
||||
)))
|
||||
) {
|
||||
$responses = events_page_responses($event, $childrens_ids);
|
||||
$responses = events_page_responses($event);
|
||||
} else {
|
||||
$responses = '';
|
||||
}
|
||||
|
@ -1147,7 +1163,7 @@ if ($get_extended_event) {
|
|||
|
||||
$general = events_page_general($event);
|
||||
|
||||
$comments = events_page_comments($event, $childrens_ids);
|
||||
$comments = events_page_comments($event);
|
||||
|
||||
$notifications = '<div id="notification_comment_error" style="display:none">'.ui_print_error_message(__('Error adding comment'), '', true).'</div>';
|
||||
$notifications .= '<div id="notification_comment_success" style="display:none">'.ui_print_success_message(__('Comment added successfully'), '', true).'</div>';
|
||||
|
|
|
@ -147,7 +147,7 @@ define('COL_UNKNOWN', '#B2B2B2');
|
|||
define('COL_DOWNTIME', '#976DB1');
|
||||
define('COL_IGNORED', '#DDD');
|
||||
define('COL_ALERTFIRED', '#FFA631');
|
||||
define('COL_MINOR', '#F099A2');
|
||||
define('COL_MINOR', '#B2B2B2');
|
||||
define('COL_MAJOR', '#C97A4A');
|
||||
define('COL_INFORMATIONAL', '#E4E4E4');
|
||||
define('COL_MAINTENANCE', '#4a83f3');
|
||||
|
|
|
@ -492,7 +492,7 @@ function events_get_all(
|
|||
|
||||
if (isset($filter['id_agent']) && $filter['id_agent'] > 0) {
|
||||
$sql_filters[] = sprintf(
|
||||
' AND id_agente = %d ',
|
||||
' AND te.id_agente = %d ',
|
||||
$filter['id_agent']
|
||||
);
|
||||
}
|
||||
|
@ -4249,34 +4249,49 @@ function events_page_general($event)
|
|||
/**
|
||||
* Generate 'comments' page for event viewer.
|
||||
*
|
||||
* @param array $event Event.
|
||||
* @param array $childrens_ids Children ids.
|
||||
* @param array $event Event.
|
||||
*
|
||||
* @return string HTML.
|
||||
*/
|
||||
function events_page_comments($event, $childrens_ids=[])
|
||||
function events_page_comments($event)
|
||||
{
|
||||
// Comments.
|
||||
global $config;
|
||||
|
||||
$comments = '';
|
||||
|
||||
$comments = $event['user_comment'];
|
||||
if (isset($event['comments'])) {
|
||||
$comments = $event['comments'];
|
||||
}
|
||||
|
||||
$table_comments = new stdClass;
|
||||
$table_comments->width = '100%';
|
||||
$table_comments->data = [];
|
||||
$table_comments->head = [];
|
||||
$table_comments->class = 'table_modal_alternate';
|
||||
|
||||
$event_comments = $event['user_comment'];
|
||||
$event_comments = str_replace(["\n", '
'], '<br>', $event_comments);
|
||||
$comments = str_replace(["\n", '
'], '<br>', $comments);
|
||||
|
||||
// If comments are not stored in json, the format is old.
|
||||
$event_comments_array = json_decode($event_comments, true);
|
||||
|
||||
// Show the comments more recent first.
|
||||
if (is_array($event_comments_array)) {
|
||||
$event_comments_array = array_reverse($event_comments_array);
|
||||
$comments_array = json_decode(io_safe_output($comments), true);
|
||||
if (json_last_error() != JSON_ERROR_NONE) {
|
||||
$comments_array = [
|
||||
[
|
||||
'comment' => 'Error retrieving comments',
|
||||
'action' => 'Internal message',
|
||||
'id_user' => 'SYSTEM',
|
||||
'utimestamp' => time(),
|
||||
],
|
||||
];
|
||||
}
|
||||
|
||||
if (empty($event_comments_array)) {
|
||||
// Show the comments more recent first.
|
||||
if (is_array($comments_array)) {
|
||||
$comments_array = array_reverse($comments_array);
|
||||
}
|
||||
|
||||
if (empty($comments_array)) {
|
||||
$comments_format = 'old';
|
||||
} else {
|
||||
$comments_format = 'new';
|
||||
|
@ -4284,7 +4299,7 @@ function events_page_comments($event, $childrens_ids=[])
|
|||
|
||||
switch ($comments_format) {
|
||||
case 'new':
|
||||
if (empty($event_comments_array)) {
|
||||
if (empty($comments_array)) {
|
||||
$table_comments->style[0] = 'text-align:center;';
|
||||
$table_comments->colspan[0][0] = 2;
|
||||
$data = [];
|
||||
|
@ -4292,10 +4307,10 @@ function events_page_comments($event, $childrens_ids=[])
|
|||
$table_comments->data[] = $data;
|
||||
}
|
||||
|
||||
if (isset($event_comments_array) === true
|
||||
&& is_array($event_comments_array) === true
|
||||
if (isset($comments_array) === true
|
||||
&& is_array($comments_array) === true
|
||||
) {
|
||||
foreach ($event_comments_array as $c) {
|
||||
foreach ($comments_array as $c) {
|
||||
$data[0] = '<b>'.$c['action'].' by '.$c['id_user'].'</b>';
|
||||
$data[0] .= '<br><br><i>'.date($config['date_format'], $c['utimestamp']).'</i>';
|
||||
$data[1] = $c['comment'];
|
||||
|
@ -4305,7 +4320,7 @@ function events_page_comments($event, $childrens_ids=[])
|
|||
break;
|
||||
|
||||
case 'old':
|
||||
$comments_array = explode('<br>', $event_comments);
|
||||
$comments_array = explode('<br>', $comments);
|
||||
|
||||
// Split comments and put in table.
|
||||
$col = 0;
|
||||
|
|
|
@ -3167,8 +3167,21 @@ function ui_print_datatable(array $parameters)
|
|||
type: "POST",
|
||||
dataSrc: function (json) {
|
||||
if (json.error) {
|
||||
console.log(error);
|
||||
alert(error);
|
||||
console.log(json.error);
|
||||
$("#error-'.$table_id.'").html(json.error);
|
||||
$("#error-'.$table_id.'").dialog({
|
||||
title: "Filter failed",
|
||||
width: 630,
|
||||
resizable: true,
|
||||
draggable: true,
|
||||
modal: false,
|
||||
closeOnEscape: true,
|
||||
buttons: {
|
||||
"Ok" : function () {
|
||||
$(this).dialog("close");
|
||||
}
|
||||
}
|
||||
}).parent().addClass("ui-state-error");
|
||||
} else {';
|
||||
if (isset($parameters['ajax_postprocess'])) {
|
||||
$js .= '
|
||||
|
|
|
@ -515,7 +515,7 @@ function event_change_owner() {
|
|||
}
|
||||
|
||||
// Save a comment into an event
|
||||
function event_comment() {
|
||||
function event_comment(e) {
|
||||
var event_id = $("#hidden-id_event").val();
|
||||
var comment = $("#textarea_comment").val();
|
||||
var meta = $("#hidden-meta").val();
|
||||
|
|
|
@ -115,76 +115,95 @@ if (is_ajax()) {
|
|||
$length = get_parameter('length', $config['block_size']);
|
||||
|
||||
if ($get_events) {
|
||||
$order = get_datatable_order(true);
|
||||
try {
|
||||
ob_start();
|
||||
$order = get_datatable_order(true);
|
||||
|
||||
$events = events_get_all(
|
||||
[
|
||||
'te.id_evento',
|
||||
'te.id_agente',
|
||||
'te.id_usuario',
|
||||
'te.id_grupo',
|
||||
'te.estado',
|
||||
'te.timestamp',
|
||||
'te.evento',
|
||||
'te.utimestamp',
|
||||
'te.event_type',
|
||||
'te.id_agentmodule',
|
||||
'te.id_alert_am',
|
||||
'te.criticity',
|
||||
'te.user_comment',
|
||||
'te.tags',
|
||||
'te.source',
|
||||
'te.id_extra',
|
||||
'te.critical_instructions',
|
||||
'te.warning_instructions',
|
||||
'te.unknown_instructions',
|
||||
'te.owner_user',
|
||||
'te.ack_utimestamp',
|
||||
'te.custom_data',
|
||||
'te.data',
|
||||
'te.module_status',
|
||||
'ta.alias as agent_name',
|
||||
'tg.nombre as group_name',
|
||||
],
|
||||
$filter,
|
||||
// Offset.
|
||||
$start,
|
||||
// Limit.
|
||||
$length,
|
||||
// Order.
|
||||
$order['direction'],
|
||||
// Sort field.
|
||||
$order['field']
|
||||
);
|
||||
$count = events_get_all(
|
||||
'count',
|
||||
$filter
|
||||
);
|
||||
$events = events_get_all(
|
||||
[
|
||||
'te.id_evento',
|
||||
'te.id_agente',
|
||||
'te.id_usuario',
|
||||
'te.id_grupo',
|
||||
'te.estado',
|
||||
'te.timestamp',
|
||||
'te.evento',
|
||||
'te.utimestamp',
|
||||
'te.event_type',
|
||||
'te.id_agentmodule',
|
||||
'te.id_alert_am',
|
||||
'te.criticity',
|
||||
'te.user_comment',
|
||||
'te.tags',
|
||||
'te.source',
|
||||
'te.id_extra',
|
||||
'te.critical_instructions',
|
||||
'te.warning_instructions',
|
||||
'te.unknown_instructions',
|
||||
'te.owner_user',
|
||||
'te.ack_utimestamp',
|
||||
'te.custom_data',
|
||||
'te.data',
|
||||
'te.module_status',
|
||||
'ta.alias as agent_name',
|
||||
'tg.nombre as group_name',
|
||||
],
|
||||
$filter,
|
||||
// Offset.
|
||||
$start,
|
||||
// Limit.
|
||||
$length,
|
||||
// Order.
|
||||
$order['direction'],
|
||||
// Sort field.
|
||||
$order['field']
|
||||
);
|
||||
$count = events_get_all(
|
||||
'count',
|
||||
$filter
|
||||
);
|
||||
|
||||
if ($count !== false) {
|
||||
$count = $count['0']['nitems'];
|
||||
}
|
||||
if ($count !== false) {
|
||||
$count = $count['0']['nitems'];
|
||||
}
|
||||
|
||||
if ($events) {
|
||||
$data = array_reduce(
|
||||
$events,
|
||||
function ($carry, $item) {
|
||||
$tmp = (object) $item;
|
||||
$tmp->evento = io_safe_output($tmp->evento);
|
||||
$carry[] = $tmp;
|
||||
return $carry;
|
||||
}
|
||||
if ($events) {
|
||||
$data = array_reduce(
|
||||
$events,
|
||||
function ($carry, $item) {
|
||||
$tmp = (object) $item;
|
||||
$tmp->evento = io_safe_output($tmp->evento);
|
||||
$carry[] = $tmp;
|
||||
return $carry;
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
// RecordsTotal && recordsfiltered resultados totales.
|
||||
echo json_encode(
|
||||
[
|
||||
'data' => $data,
|
||||
'recordsTotal' => $count,
|
||||
'recordsFiltered' => $count,
|
||||
]
|
||||
);
|
||||
$response = ob_get_clean();
|
||||
} catch (Exception $e) {
|
||||
echo json_encode(
|
||||
['error' => $e->getMessage()]
|
||||
);
|
||||
}
|
||||
|
||||
// RecordsTotal && recordsfiltered resultados totales.
|
||||
echo json_encode(
|
||||
[
|
||||
'data' => $data,
|
||||
'recordsTotal' => $count,
|
||||
'recordsFiltered' => $count,
|
||||
]
|
||||
);
|
||||
// If not valid it will throw an exception.
|
||||
json_decode($response);
|
||||
if (json_last_error() == JSON_ERROR_NONE) {
|
||||
// If valid dump.
|
||||
echo $response;
|
||||
} else {
|
||||
echo json_encode(
|
||||
['error' => $response]
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
// AJAX section ends.
|
||||
|
@ -1279,6 +1298,7 @@ html_print_input_hidden(
|
|||
echo "<div id='event_details_window'></div>";
|
||||
echo "<div id='event_response_window'></div>";
|
||||
echo "<div id='event_response_command_window' title='".__('Parameters')."'></div>";
|
||||
echo "<div id='error-".$table_id."'></div>";
|
||||
|
||||
// Load filter div for dialog.
|
||||
echo '<div id="load-modal-filter" style="display: none"></div>';
|
||||
|
@ -1422,7 +1442,7 @@ function process_datatables_item(item) {
|
|||
evn += '<div><a href="javascript:" onclick="show_event_dialog(\'';
|
||||
evn += btoa(JSON.stringify(item))+'\','+$("#group_rep").val()+');">';
|
||||
// Grouped events.
|
||||
if(item.event_rep) {
|
||||
if(item.event_rep && item.event_rep > 1) {
|
||||
evn += '('+item.event_rep+') ';
|
||||
}
|
||||
evn += item.evento+'</a></div>';
|
||||
|
|
Loading…
Reference in New Issue