#10065 Added switch to filter create/edit modal.

This commit is contained in:
Jorge Rincon 2023-08-28 13:54:35 +02:00
parent 76b3e1da4a
commit 797b24af86
4 changed files with 57 additions and 32 deletions

View File

@ -309,7 +309,7 @@ $table->data[0][0] = html_print_label_input_block(
'',
'w100p'
).html_print_label_input_block(
__('Private event'),
__('Private'),
html_print_checkbox_switch(
'private_filter_event',
$private_filter,

View File

@ -135,7 +135,7 @@ if ($filters === false) {
$filters = [];
} else {
foreach ($filters as $key => $filter) {
$permission = check_acl($config['id_user'], 0, 'PM');
$permission = users_is_admin($config['id_user']);
// Validate permission and private filter user.
if ($permission || $filter['private_filter_user'] === $config['id_user']) {
if ($filter['private_filter_user'] !== null) {

View File

@ -92,6 +92,9 @@ $get_id_source_event = get_parameter('get_id_source_event');
$node_id = (int) get_parameter('node_id', 0);
$settings_modal = get_parameter('settings', 0);
$parameters_modal = get_parameter('parameters', 0);
// User private filter.
$current_filter = get_parameter('current_filter', 0);
$private_filter_event = get_parameter('private_filter_event', 0);
if ($get_comments === true) {
global $config;
@ -731,8 +734,8 @@ if ($save_filter_modal) {
$table = new StdClass;
$table->id = 'save_filter_form';
$table->width = '100%';
$table->cellspacing = 4;
$table->cellpadding = 4;
$table->cellspacing = 5;
$table->cellpadding = 5;
$table->class = 'databox';
if (is_metaconsole() === true) {
$table->class = 'databox filters';
@ -751,7 +754,7 @@ if ($save_filter_modal) {
'filter_mode',
'new',
__('New filter'),
true,
((int) $current_filter === 0) ? true : false,
true
);
@ -759,7 +762,7 @@ if ($save_filter_modal) {
'filter_mode',
'update',
__('Update filter'),
false,
((int) $current_filter > 0) ? true : false,
true
);
@ -774,6 +777,7 @@ if ($save_filter_modal) {
$table->rowclass[2] = 'flex';
$table->rowclass[3] = 'flex';
$table->rowclass[4] = 'flex';
$table->rowclass[5] = 'flex';
$data[0] = '<b>'.__('Filter name').'</b>'.$jump;
$data[0] .= html_print_input_text('id_name', '', '', 15, 255, true);
if (is_metaconsole()) {
@ -820,9 +824,9 @@ if ($save_filter_modal) {
$data[0] .= html_print_select(
$_filters_update,
'overwrite_filter',
$current_filter,
'',
'',
'',
__('None'),
0,
true,
false,
@ -833,6 +837,31 @@ if ($save_filter_modal) {
$table->data[] = $data;
$table->rowclass[] = '';
$data = [];
$table->rowid[4] = 'update_filter_row2';
$table->data[] = $data;
$table->rowclass[] = '';
// Update user private filter.
$data = [];
$table->rowid[6] = 'private_filter_event_row1';
$data[0] = html_print_label_input_block(
__('Private'),
html_print_checkbox_switch(
'private_filter_event',
$private_filter_event,
$private_filter_event,
true,
false,
'checked_slide_events(this);',
true
)
);
$table->data[] = $data;
$table->rowclass[] = '';
html_print_table($table);
html_print_div(
@ -877,10 +906,19 @@ if ($save_filter_modal) {
?>
<script type="text/javascript">
function show_save_filter() {
$('#save_filter_row1').show();
$('#save_filter_row2').show();
$('#update_filter_row1').hide();
$('#button-update_filter').hide();
if ($('#hidden-id_filter_event').val() == 0) {
$('#save_filter_row1').show();
$('#save_filter_row2').show();
$('#update_filter_row1').hide();
$('#button-update_filter').hide();
} else {
$('#save_filter_row1').hide();
$('#save_filter_row2').hide();
$('#button-save_filter').hide();
$('#update_filter_row1').show();
$('#button-update_filter').show();
}
// Filter save mode selector
$("[name='filter_mode']").click(function() {
if ($(this).val() == 'new') {

View File

@ -1879,6 +1879,9 @@ if (enterprise_hook(
* Load filter form.
*/
// User private filter process.
$inputs[] = html_print_input_hidden('id_filter_event', $load_filter_id, true);
// Group.
if ($id_group === null) {
$id_group = 0;
@ -1943,25 +1946,6 @@ $in_sec_group .= '</label>';
$in_sec_group .= '</div>';
$in .= $in_sec_group;
// User private filter.
$data = html_print_checkbox_switch(
'private_filter_event',
$private_filter_event,
$private_filter_event,
true,
false,
'checked_slide_events(this);',
true
);
$in_third_group = '<div class="display-initial">';
$in_third_group .= $data;
$in_third_group .= '<label class="vert-align-bottom">';
$in_third_group .= __('Private event');
$in_third_group .= '</label>';
$in_third_group .= '</div>';
$in .= $in_third_group;
$in .= '</div>';
$inputs[] = $in;
@ -2082,6 +2066,8 @@ $in = '<div class="filter_input"><label>'.__('Severity').'</label>';
$in .= $data.'</div>';
$inputs[] = $in;
// User private filter.
$inputs[] = html_print_input_hidden('private_filter_event', $private_filter_event, true);
// Trick view in table.
$inputs[] = '<div class="w100p pdd_t_15px"></div>';
@ -3374,7 +3360,8 @@ $(document).ready( function() {
data: {
page: 'include/ajax/events',
save_filter_modal: 1,
current_filter: $('#latest_filter_id').val()
current_filter: $('#hidden-id_filter_event').val(),
private_filter_event: $('#hidden-private_filter_event').val()
},
success: function (data){
$('#save-modal-filter')