pandorafms/pandora_console/include/javascript/pandora_events.js

636 lines
16 KiB
JavaScript
Raw Normal View History

// Show the modal window of an event
function show_event_dialog(event_id, group_rep, dialog_page, result) {
var ajax_file = $('#hidden-ajax_file').val();
if (dialog_page == undefined) {
dialog_page = 'general';
}
var similar_ids = $('#hidden-similar_ids_'+event_id).val();
var timestamp_first = $('#hidden-timestamp_first_'+event_id).val();
var timestamp_last = $('#hidden-timestamp_last_'+event_id).val();
var user_comment = $('#hidden-user_comment_'+event_id).val();
var event_rep = $('#hidden-event_rep_'+event_id).val();
var server_id = $('#hidden-server_id_'+event_id).val();
2014-11-18 11:27:04 +01:00
var childrens_ids = $('#hidden-childrens_ids').val();
// Metaconsole mode flag
var meta = $('#hidden-meta').val();
// History mode flag
var history = $('#hidden-history').val();
jQuery.post (ajax_file,
{"page": "include/ajax/events",
"get_extended_event": 1,
"group_rep": group_rep,
"event_rep": event_rep,
"dialog_page": dialog_page,
"similar_ids": similar_ids,
"timestamp_first": timestamp_first,
"timestamp_last": timestamp_last,
"user_comment": user_comment,
"event_id": event_id,
"server_id": server_id,
"meta": meta,
2014-11-18 11:27:04 +01:00
"childrens_ids": childrens_ids,
"history": history},
function (data, status) {
$("#event_details_window").hide ()
.empty ()
.append (data)
.dialog ({
title: get_event_name(event_id, meta, history),
resizable: true,
draggable: true,
modal: true,
close: function() {
$("#refrcounter").countdown("resume");
$('div.vc-countdown').countdown('resume');
},
overlay: {
opacity: 0.5,
background: "black"
},
width: 725,
height: 530
})
.show ();
$("#refrcounter").countdown('pause');
$('div.vc-countdown').countdown('pause');
switch (result) {
case 'comment_ok':
$('#notification_comment_success').show();
break;
case 'comment_error':
$('#notification_comment_error').show();
break;
case 'status_ok':
$('#notification_status_success').show();
break;
case 'status_error':
$('#notification_status_error').show();
break;
case 'owner_ok':
$('#notification_owner_success').show();
break;
case 'owner_error':
$('#notification_owner_error').show();
break;
}
forced_title_callback();
},
"html"
);
return false;
}
function show_save_filter_dialog() {
$('input:radio[name="filter_mode"]').filter('[value="new"]').trigger('click');
$("#save_filter_layer").dialog ({
title: $('#save_filter_text').html(),
resizable: true,
draggable: true,
modal: true,
overlay: {
opacity: 0.5,
background: "black"
},
2015-07-06 17:10:51 +02:00
width: 688,
height: 200
})
.show ();
return false;
}
function show_load_filter_dialog() {
$("#load_filter_layer").dialog ({
title: $('#load_filter_text').html(),
resizable: true,
draggable: true,
modal: true,
overlay: {
opacity: 0.5,
background: "black"
},
2015-07-06 17:10:51 +02:00
width: 520,
height: 300
})
.show ();
return false;
}
// Check the response type and open it in a modal dialog or new window
function execute_response(event_id, server_id) {
var response_id = $('#select_custom_response option:selected').val();
var response = get_response(response_id);
// If cannot get response abort it
if (response == null) {
return;
}
response['target'] = get_response_target(event_id, response_id, server_id);
switch(response['type']) {
case 'command':
show_response_dialog(event_id, response_id, response);
break;
case 'url':
if (response['new_window'] == 1) {
window.open(response['target'],'_blank');
}
else {
show_response_dialog(event_id, response_id, response);
}
break;
}
}
//Show the modal window of an event response
function show_response_dialog(event_id, response_id, response) {
var ajax_file = $('#hidden-ajax_file').val();
var params = [];
params.push("page=include/ajax/events");
params.push("dialogue_event_response=1");
params.push("massive=0");
params.push("event_id="+event_id);
params.push("target="+response['target']);
params.push("response_id="+response_id);
jQuery.ajax ({
data: params.join ("&"),
type: 'POST',
url: action=ajax_file,
dataType: 'html',
success: function (data) {
$("#event_response_window").hide ()
.empty ()
.append (data)
.dialog ({
title: $('#select_custom_response option:selected').html(),
resizable: true,
draggable: true,
modal: false,
open: function(event, ui) {
perform_response(response['target'], response_id);
},
width: response['modal_width'],
height: response['modal_height']
})
.show ();
}
});
}
//Show the modal window of event responses when multiple events are selected
function show_massive_response_dialog(event_id, response_id, response, out_iterator, end) {
var ajax_file = $('#hidden-ajax_file').val();
var params = [];
params.push("page=include/ajax/events");
params.push("dialogue_event_response=1");
params.push("massive=1");
params.push("end="+end);
params.push("out_iterator="+out_iterator);
params.push("event_id="+event_id);
params.push("target="+response['target']);
params.push("response_id="+response_id);
jQuery.ajax ({
data: params.join ("&"),
response_tg: response['target'],
response_id: response_id,
out_iterator: out_iterator,
type: 'POST',
url: action=ajax_file,
dataType: 'html',
success: function (data) {
if (out_iterator === 0)
$("#event_response_window").empty();
$("#event_response_window").hide ()
.append (data)
.dialog ({
title: $('#select_custom_response option:selected').html(),
resizable: true,
draggable: true,
modal: false,
open: function(event, ui) {
$('#response_loading_dialog').hide();
$('#button-submit_event_response').show();
},
close: function(event, ui) {
$( ".chk_val" ).prop( "checked", false );
},
width: response['modal_width'],
height: response['modal_height']
})
.show ();
perform_response_massive(this.response_tg, this.response_id, this.out_iterator);
}
});
}
// Get an event response from db
function get_response(response_id) {
var ajax_file = $('#hidden-ajax_file').val();
var response = '';
var params = [];
params.push("page=include/ajax/events");
params.push("get_response=1");
params.push("response_id="+response_id);
jQuery.ajax ({
data: params.join ("&"),
type: 'POST',
url: action=ajax_file,
async: false,
timeout: 10000,
dataType: 'json',
success: function (data) {
response = data;
}
});
return response;
}
// Get an event response params from db
function get_response_params(response_id) {
var ajax_file = $('#hidden-ajax_file').val();
var response_params;
var params = [];
params.push("page=include/ajax/events");
params.push("get_response_params=1");
params.push("response_id="+response_id);
jQuery.ajax ({
data: params.join ("&"),
type: 'POST',
url: action=ajax_file,
async: false,
timeout: 10000,
dataType: 'json',
success: function (data) {
response_params = data;
}
});
return response_params;
}
// Get an event response description from db
function get_response_description(response_id) {
var ajax_file = $('#hidden-ajax_file').val();
var response_description = '';
var params = [];
params.push("page=include/ajax/events");
params.push("get_response_description=1");
params.push("response_id="+response_id);
jQuery.ajax ({
data: params.join ("&"),
type: 'POST',
url: action=ajax_file,
async: false,
timeout: 10000,
dataType: 'html',
success: function (data) {
response_description = data;
}
});
return response_description;
}
// Get an event response description from db
function get_event_name(event_id, meta, history) {
var ajax_file = $('#hidden-ajax_file').val();
var name = '';
var params = [];
params.push("page=include/ajax/events");
params.push("get_event_name=1");
params.push("event_id="+event_id);
params.push("meta="+meta);
params.push("history="+history);
jQuery.ajax ({
data: params.join ("&"),
type: 'POST',
url: action=ajax_file,
async: false,
timeout: 10000,
dataType: 'html',
success: function (data) {
name = data;
}
});
return name;
}
function add_row_param(id_table, param) {
$('#'+id_table).append('<tr class="params_rows"><td style="text-align:left; padding-left:40px;">'+param+'</td><td style="text-align:left"><input type="text" name="'+param+'" id="'+param+'"></td></tr>');
}
// Get an event response from db
function get_response_target(event_id, response_id, server_id) {
var ajax_file = $('#hidden-ajax_file').val();
var target = '';
// Replace the main macros
var params = [];
params.push("page=include/ajax/events");
params.push("get_response_target=1");
params.push("event_id="+event_id);
params.push("response_id="+response_id);
params.push("server_id="+server_id);
jQuery.ajax ({
data: params.join ("&"),
type: 'POST',
url: action=ajax_file,
async: false,
timeout: 10000,
dataType: 'html',
success: function (data) {
target = data;
}
});
// Replace the custom params macros
var response_params = get_response_params(response_id);
if (response_params.length > 1 || response_params[0] != '') {
for (i = 0; i < response_params.length; i++) {
target = target.replace('_'+response_params[i]+'_',$('#'+response_params[i]).val());
}
}
return target;
}
// Perform a response and put the output into a div
function perform_response(target, response_id) {
var ajax_file = $('#hidden-ajax_file').val();
$('#re_exec_command').hide();
$('#response_loading_command').show();
$('#response_out').html('');
var finished = 0;
var time = Math.round(+new Date()/1000);
var timeout = time + 10;
var params = [];
params.push("page=include/ajax/events");
params.push("perform_event_response=1");
params.push("target="+target);
params.push("response_id="+response_id)
jQuery.ajax ({
data: params.join ("&"),
type: 'POST',
url: action=ajax_file,
async: true,
timeout: 10000,
dataType: 'html',
success: function (data) {
var out = data.replace(/[\n|\r]/g, "<br>");
$('#response_out').html(out);
$('#response_loading_command').hide();
$('#re_exec_command').show();
}
});
return false;
}
// Perform a response and put the output into a div
function perform_response_massive(target, response_id, out_iterator) {
var ajax_file = $('#hidden-ajax_file').val();
$('#re_exec_command').hide();
$('#response_loading_command_'+out_iterator).show();
$('#response_out_'+out_iterator).html('');
var finished = 0;
var time = Math.round(+new Date()/1000);
var timeout = time + 10;
var params = [];
params.push("page=include/ajax/events");
params.push("perform_event_response=1");
params.push("target="+target);
params.push("response_id="+response_id)
jQuery.ajax ({
data: params.join ("&"),
type: 'POST',
url: action=ajax_file,
async: true,
timeout: 10000,
dataType: 'html',
success: function (data) {
var out = data.replace(/[\n|\r]/g, "<br>");
$('#response_out_'+out_iterator).html(out);
$('#response_loading_command_'+out_iterator).hide();
$('#re_exec_command_'+out_iterator).show();
}
});
return false;
}
// Change the status of an event to new, in process or validated
function event_change_status(event_ids) {
var ajax_file = $('#hidden-ajax_file').val();
var new_status = $('#estado').val();
var event_id = $('#hidden-id_event').val();
var meta = $('#hidden-meta').val();
var history = $('#hidden-history').val();
var params = [];
params.push("page=include/ajax/events");
params.push("change_status=1");
params.push("event_ids="+event_ids);
params.push("new_status="+new_status);
params.push("meta="+meta);
params.push("history="+history);
$('#button-status_button').attr('disabled','disabled');
$('#response_loading').show();
jQuery.ajax ({
data: params.join ("&"),
type: 'POST',
url: action=ajax_file,
async: true,
timeout: 10000,
dataType: 'html',
success: function (data) {
$('#button-status_button').removeAttr('disabled');
$('#response_loading').hide();
show_event_dialog(event_id, $('#hidden-group_rep').val(), 'responses', data);
if (data == 'status_ok') {
}
else {
}
}
});
return false;
}
// Change te owner of an event to one user of empty
function event_change_owner() {
var ajax_file = $('#hidden-ajax_file').val();
var event_id = $('#hidden-id_event').val();
var new_owner = $('#id_owner').val();
var meta = $('#hidden-meta').val();
var history = $('#hidden-history').val();
var params = [];
params.push("page=include/ajax/events");
params.push("change_owner=1");
params.push("event_id="+event_id);
params.push("new_owner="+new_owner);
params.push("meta="+meta);
params.push("history="+history);
$('#button-owner_button').attr('disabled','disabled');
$('#response_loading').show();
jQuery.ajax ({
data: params.join ("&"),
type: 'POST',
url: action=ajax_file,
async: true,
timeout: 10000,
dataType: 'html',
success: function (data) {
$('#button-owner_button').removeAttr('disabled');
$('#response_loading').hide();
show_event_dialog(event_id, $('#hidden-group_rep').val(), 'responses', data);
}
});
return false;
}
// Save a comment into an event
function event_comment() {
var ajax_file = $('#hidden-ajax_file').val();
var event_id = $('#hidden-id_event').val();
var comment = $('#textarea_comment').val();
var meta = $('#hidden-meta').val();
var history = $('#hidden-history').val();
if (comment == '') {
show_event_dialog(event_id, $('#hidden-group_rep').val(), 'comments', 'comment_error');
return false;
}
var params = [];
params.push("page=include/ajax/events");
params.push("add_comment=1");
params.push("event_id=" + event_id);
params.push("comment=" + comment);
params.push("meta=" + meta);
params.push("history=" + history);
$('#button-comment_button').attr('disabled','disabled');
$('#response_loading').show();
jQuery.ajax ({
data: params.join ("&"),
type: 'POST',
url: action=ajax_file,
async: true,
timeout: 10000,
dataType: 'html',
success: function (data) {
$('#button-comment_button').removeAttr('disabled');
$('#response_loading').show();
show_event_dialog(event_id, $('#hidden-group_rep').val(), 'comments', data);
}
});
return false;
}
//Show event list when fielter repetead is Group agents
function show_events_group_agent (id_insert, id_agent, server_id) {
var ajax_file = $('#hidden-ajax_file').val();
parameter = [];
parameter.push ({name: "id_agent",
value: id_agent});
parameter.push ({name: "server_id",
value: server_id});
parameter.push ({name: "event_type",
value: $("#event_type").val()});
parameter.push ({name: "severity",
value: $("#severity").val()});
parameter.push ({name: "status",
value: $("#status").val()});
parameter.push ({name: "search",
value: $("#text-search").val()});
parameter.push ({name: "id_agent_module",
value: $('input:hidden[name=module_search_hidden]').val()});
parameter.push ({name: "event_view_hr",
value: $("#text-event_view_hr").val()});
parameter.push ({name: "id_user_ack",
value: $("#id_user_ack").val()});
parameter.push ({name: "tag_with",
value: Base64.decode($("#hidden-tag_with").val())});
parameter.push ({name: "tag_without",
value: Base64.decode($("#hidden-tag_without").val())});
parameter.push ({name: "filter_only_alert",
value: $("#filter_only_alert").val()});
parameter.push ({name: "date_from",
value: $("#text-date_from").val()});
parameter.push ({name: "date_to",
value: $("#text-date_to").val()});
parameter.push ({name: "server_id_search",
value: $("#server_id").val()});
parameter.push ({
name: "page",
value: "include/ajax/events"});
parameter.push ({
name: "get_list_events_agents",
value: 1});
jQuery.ajax ({
type: 'POST',
url: action=ajax_file,
data: parameter,
dataType: 'html',
success: function (data) {
$("#"+id_insert).html(data);
$("#"+id_insert).toggle();
}
});
}