#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`
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;

View File

@ -94,6 +94,7 @@ $user_info = get_user_info($id);
if (is_metaconsole() === true) {
$user_info['section'] = $user_info['metaconsole_section'];
$user_info['data_section'] = $user_info['metaconsole_data_section'];
$user_info['default_event_filter'] = $user_info['metaconsole_default_event_filter'];
}
$is_err = false;
@ -1472,6 +1473,10 @@ foreach ($event_filter_data as $filter) {
$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 .= html_print_select(
$event_filter,

View File

@ -596,11 +596,15 @@ $userManagementTable->data['fields_blocksize_eventfilter'][0] = html_print_input
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['fields_blocksize_eventfilter'][1] = html_print_select(
$event_filter,
'default_event_filter',
($user_info['default_event_filter'] ?? 0),
[$user_info['default_event_filter']],
'',
'',
__('None'),
@ -617,6 +621,11 @@ $homeScreenTable->style = [];
$homeScreenTable->rowclass = [];
$homeScreenTable->data = [];
// 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->colspan['captions_homescreen'][0] = 2;
$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->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(
[
'class' => 'w100p',

View File

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

View File

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

View File

@ -1100,6 +1100,18 @@ $load_filter_id = (int) get_parameter('filter_id', 0);
$fav_menu = [];
if ($load_filter_id === 0) {
// 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(
sprintf(
'SELECT f.id_filter, f.id_name
@ -1110,6 +1122,7 @@ if ($load_filter_id === 0) {
$config['id_user']
)
);
}
} else {
// Load filter selected by user.
$loaded_filter['id_filter'] = $load_filter_id;

View File

@ -475,7 +475,12 @@ $skin = '';
'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>';
}
$dashboards = Manager::getDashboards(
-1,
@ -558,6 +563,10 @@ $skin = '';
$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) {
$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))));

View File

@ -1312,6 +1312,7 @@ CREATE TABLE IF NOT EXISTS `tusuario` (
`id_filter` INT UNSIGNED NULL DEFAULT NULL,
`session_time` INT signed 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,
`autorefresh_white_list` TEXT ,
`time_autorefresh` INT UNSIGNED NOT NULL DEFAULT 30,