#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' 'w100p'
).html_print_label_input_block( ).html_print_label_input_block(
__('Private event'), __('Private'),
html_print_checkbox_switch( html_print_checkbox_switch(
'private_filter_event', 'private_filter_event',
$private_filter, $private_filter,

View File

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

View File

@ -1879,6 +1879,9 @@ if (enterprise_hook(
* Load filter form. * Load filter form.
*/ */
// User private filter process.
$inputs[] = html_print_input_hidden('id_filter_event', $load_filter_id, true);
// Group. // Group.
if ($id_group === null) { if ($id_group === null) {
$id_group = 0; $id_group = 0;
@ -1943,25 +1946,6 @@ $in_sec_group .= '</label>';
$in_sec_group .= '</div>'; $in_sec_group .= '</div>';
$in .= $in_sec_group; $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>'; $in .= '</div>';
$inputs[] = $in; $inputs[] = $in;
@ -2082,6 +2066,8 @@ $in = '<div class="filter_input"><label>'.__('Severity').'</label>';
$in .= $data.'</div>'; $in .= $data.'</div>';
$inputs[] = $in; $inputs[] = $in;
// User private filter.
$inputs[] = html_print_input_hidden('private_filter_event', $private_filter_event, true);
// Trick view in table. // Trick view in table.
$inputs[] = '<div class="w100p pdd_t_15px"></div>'; $inputs[] = '<div class="w100p pdd_t_15px"></div>';
@ -3374,7 +3360,8 @@ $(document).ready( function() {
data: { data: {
page: 'include/ajax/events', page: 'include/ajax/events',
save_filter_modal: 1, 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){ success: function (data){
$('#save-modal-filter') $('#save-modal-filter')