#11117 Add new field in tusuario for metaconsole event default and fix selectors

This commit is contained in:
miguel angel rasteu 2023-05-22 12:08:27 +02:00
parent e0781801ac
commit 33d95ef00e
8 changed files with 54 additions and 25 deletions

View File

@ -13,4 +13,7 @@ ADD COLUMN `metaconsole_section` VARCHAR(255) NOT NULL DEFAULT 'Default' AFTER `
ALTER TABLE `tusuario` ALTER TABLE `tusuario`
ADD COLUMN `metaconsole_data_section` VARCHAR(255) NOT NULL DEFAULT '' AFTER `metaconsole_section`; ADD COLUMN `metaconsole_data_section` VARCHAR(255) NOT NULL DEFAULT '' AFTER `metaconsole_section`;
ALTER TABLE `tusuario`
ADD COLUMN `metaconsole_default_event_filter` INT UNSIGNED NOT NULL DEFAULT 0 AFTER `default_event_filter`;
COMMIT; COMMIT;

View File

@ -94,6 +94,7 @@ $user_info = get_user_info($id);
if (is_metaconsole() === true) { if (is_metaconsole() === true) {
$user_info['section'] = $user_info['metaconsole_section']; $user_info['section'] = $user_info['metaconsole_section'];
$user_info['data_section'] = $user_info['metaconsole_data_section']; $user_info['data_section'] = $user_info['metaconsole_data_section'];
$user_info['default_event_filter'] = $user_info['metaconsole_default_event_filter'];
} }
$is_err = false; $is_err = false;
@ -1472,6 +1473,10 @@ foreach ($event_filter_data as $filter) {
$event_filter[$filter['id_filter']] = $filter['id_name']; $event_filter[$filter['id_filter']] = $filter['id_name'];
} }
if (is_metaconsole() === true && empty($user_info['metaconsole_default_event_filter']) !== true) {
$user_info['default_event_filter'] = $user_info['metaconsole_default_event_filter'];
}
$default_event_filter = '<div class="label_select"><p class="edit_user_labels">'.__('Default event filter').'</p>'; $default_event_filter = '<div class="label_select"><p class="edit_user_labels">'.__('Default event filter').'</p>';
$default_event_filter .= html_print_select( $default_event_filter .= html_print_select(
$event_filter, $event_filter,

View File

@ -596,11 +596,15 @@ $userManagementTable->data['fields_blocksize_eventfilter'][0] = html_print_input
true true
); );
if (is_metaconsole() === true && empty($user_info['metaconsole_default_event_filter']) !== true) {
$user_info['default_event_filter'] = $user_info['metaconsole_default_event_filter'];
}
$userManagementTable->data['captions_blocksize_eventfilter'][1] = __('Event filter'); $userManagementTable->data['captions_blocksize_eventfilter'][1] = __('Event filter');
$userManagementTable->data['fields_blocksize_eventfilter'][1] = html_print_select( $userManagementTable->data['fields_blocksize_eventfilter'][1] = html_print_select(
$event_filter, $event_filter,
'default_event_filter', 'default_event_filter',
($user_info['default_event_filter'] ?? 0), [$user_info['default_event_filter']],
'', '',
'', '',
__('None'), __('None'),
@ -617,6 +621,11 @@ $homeScreenTable->style = [];
$homeScreenTable->rowclass = []; $homeScreenTable->rowclass = [];
$homeScreenTable->data = []; $homeScreenTable->data = [];
// Home screen. // Home screen.
if (is_metaconsole() === true && empty($user_info['metaconsole_data_section']) !== true) {
$user_info['data_section'] = $user_info['metaconsole_data_section'];
$user_info['section'] = $user_info['metaconsole_section'];
}
$homeScreenTable->data['captions_homescreen'][0] = __('Home screen'); $homeScreenTable->data['captions_homescreen'][0] = __('Home screen');
$homeScreenTable->colspan['captions_homescreen'][0] = 2; $homeScreenTable->colspan['captions_homescreen'][0] = 2;
$homeScreenTable->rowclass['captions_homescreen'] = 'field_half_width'; $homeScreenTable->rowclass['captions_homescreen'] = 'field_half_width';
@ -643,18 +652,6 @@ $homeScreenTable->data['fields_homescreen'][1] = html_print_div(
$userManagementTable->rowclass['homescreen_table'] = 'w100p'; $userManagementTable->rowclass['homescreen_table'] = 'w100p';
$userManagementTable->data['homescreen_table'] = html_print_table($homeScreenTable, true); $userManagementTable->data['homescreen_table'] = html_print_table($homeScreenTable, true);
$homeScreenTable->data['fields_homescreen'][0] = html_print_select(
$homeScreenValues,
'section',
$selected_homescreen,
'show_data_section();',
'',
-1,
true,
false,
false
);
$homeScreenTable->data['fields_homescreen'][1] = html_print_div( $homeScreenTable->data['fields_homescreen'][1] = html_print_div(
[ [
'class' => 'w100p', 'class' => 'w100p',

View File

@ -821,6 +821,7 @@ function update_user(string $id_user, array $values)
if (is_metaconsole() === true) { if (is_metaconsole() === true) {
$values['metaconsole_section'] = $values['section']; $values['metaconsole_section'] = $values['section'];
$values['metaconsole_data_section'] = $values['data_section']; $values['metaconsole_data_section'] = $values['data_section'];
$values['metaconsole_default_event_filter'] = $values['default_event_filter'];
unset($values['id_skin']); unset($values['id_skin']);
unset($values['section']); unset($values['section']);
unset($values['data_section']); unset($values['data_section']);

View File

@ -899,7 +899,7 @@ function html_print_select(
if (is_array($selected) && in_array($value, $selected)) { if (is_array($selected) && in_array($value, $selected)) {
$output .= ' selected="selected"'; $output .= ' selected="selected"';
} else if (is_numeric($value) && is_numeric($selected) } else if (is_numeric($value) && is_numeric($selected)
&& $value == $selected && $value === $selected
) { ) {
// This fixes string ($value) to int ($selected) comparisons // This fixes string ($value) to int ($selected) comparisons
$output .= ' selected="selected"'; $output .= ' selected="selected"';

View File

@ -1100,6 +1100,18 @@ $load_filter_id = (int) get_parameter('filter_id', 0);
$fav_menu = []; $fav_menu = [];
if ($load_filter_id === 0) { if ($load_filter_id === 0) {
// Load user filter. // Load user filter.
if (is_metaconsole() === true) {
$loaded_filter = db_get_row_sql(
sprintf(
'SELECT f.id_filter, f.id_name
FROM tevent_filter f
INNER JOIN tusuario u
ON u.metaconsole_default_event_filter=f.id_filter
WHERE u.id_user = "%s" ',
$config['id_user']
)
);
} else {
$loaded_filter = db_get_row_sql( $loaded_filter = db_get_row_sql(
sprintf( sprintf(
'SELECT f.id_filter, f.id_name 'SELECT f.id_filter, f.id_name
@ -1110,6 +1122,7 @@ if ($load_filter_id === 0) {
$config['id_user'] $config['id_user']
) )
); );
}
} else { } else {
// Load filter selected by user. // Load filter selected by user.
$loaded_filter['id_filter'] = $load_filter_id; $loaded_filter['id_filter'] = $load_filter_id;

View File

@ -475,7 +475,12 @@ $skin = '';
'Dashboard' => __('Dashboard'), 'Dashboard' => __('Dashboard'),
]; ];
if (is_metaconsole() === true) {
$home_screen .= html_print_select($values, 'metaconsole_section', io_safe_output($user_info['section']), 'show_data_section();', '', -1, true, false, false).'</div>';
} else {
$home_screen .= html_print_select($values, 'section', io_safe_output($user_info['section']), 'show_data_section();', '', -1, true, false, false).'</div>'; $home_screen .= html_print_select($values, 'section', io_safe_output($user_info['section']), 'show_data_section();', '', -1, true, false, false).'</div>';
}
$dashboards = Manager::getDashboards( $dashboards = Manager::getDashboards(
-1, -1,
@ -558,6 +563,10 @@ $skin = '';
$double_authentication .= '</div>'; $double_authentication .= '</div>';
} }
if (is_metaconsole() === true && empty($user_info['metaconsole_default_event_filter']) !== true) {
$user_info['default_event_filter'] = $user_info['metaconsole_default_event_filter'];
}
if ((bool) check_acl($config['id_user'], 0, 'ER') === true) { if ((bool) check_acl($config['id_user'], 0, 'ER') === true) {
$event_filter = '<div class="label_select"><p class="edit_user_labels">'.__('Event filter').'</p>'; $event_filter = '<div class="label_select"><p class="edit_user_labels">'.__('Event filter').'</p>';
$user_groups = implode(',', array_keys((users_get_groups($config['id_user'], 'AR', true)))); $user_groups = implode(',', array_keys((users_get_groups($config['id_user'], 'AR', true))));

View File

@ -1312,6 +1312,7 @@ CREATE TABLE IF NOT EXISTS `tusuario` (
`id_filter` INT UNSIGNED NULL DEFAULT NULL, `id_filter` INT UNSIGNED NULL DEFAULT NULL,
`session_time` INT signed NOT NULL DEFAULT 0, `session_time` INT signed NOT NULL DEFAULT 0,
`default_event_filter` INT UNSIGNED NOT NULL DEFAULT 0, `default_event_filter` INT UNSIGNED NOT NULL DEFAULT 0,
`metaconsole_default_event_filter` INT UNSIGNED NOT NULL DEFAULT 0,
`show_tips_startup` TINYINT UNSIGNED NOT NULL DEFAULT 1, `show_tips_startup` TINYINT UNSIGNED NOT NULL DEFAULT 1,
`autorefresh_white_list` TEXT , `autorefresh_white_list` TEXT ,
`time_autorefresh` INT UNSIGNED NOT NULL DEFAULT 30, `time_autorefresh` INT UNSIGNED NOT NULL DEFAULT 30,