From 797b24af86a515a7f79c9dccf31ab4d83b24c96a Mon Sep 17 00:00:00 2001 From: Jorge Rincon Date: Mon, 28 Aug 2023 13:54:35 +0200 Subject: [PATCH] #10065 Added switch to filter create/edit modal. --- .../godmode/events/event_edit_filter.php | 2 +- .../godmode/events/event_filter.php | 2 +- pandora_console/include/ajax/events.php | 58 +++++++++++++++---- pandora_console/operation/events/events.php | 27 +++------ 4 files changed, 57 insertions(+), 32 deletions(-) diff --git a/pandora_console/godmode/events/event_edit_filter.php b/pandora_console/godmode/events/event_edit_filter.php index aaf5d00b9b..113c156df3 100644 --- a/pandora_console/godmode/events/event_edit_filter.php +++ b/pandora_console/godmode/events/event_edit_filter.php @@ -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, diff --git a/pandora_console/godmode/events/event_filter.php b/pandora_console/godmode/events/event_filter.php index 0be93fa4a4..c4f1860e6f 100644 --- a/pandora_console/godmode/events/event_filter.php +++ b/pandora_console/godmode/events/event_filter.php @@ -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) { diff --git a/pandora_console/include/ajax/events.php b/pandora_console/include/ajax/events.php index b3a6be0670..dbab927606 100644 --- a/pandora_console/include/ajax/events.php +++ b/pandora_console/include/ajax/events.php @@ -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] = ''.__('Filter name').''.$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) { ?>