From fac066debddfdaa975f4a1f7ccfd79f9914f2dbc Mon Sep 17 00:00:00 2001 From: Arturo Gonzalez Date: Wed, 8 Nov 2017 15:01:44 +0100 Subject: [PATCH] Added groups acl in all visual console elements --- .../extras/pandoradb_migrate_6.0_to_7.0.mysql.sql | 1 + .../reporting/visual_console_builder.editor.js | 15 +++++++-------- .../include/ajax/visual_console_builder.ajax.php | 5 +++++ pandora_console/include/functions_visual_map.php | 5 +++++ .../include/functions_visual_map_editor.php | 10 ++++++++++ pandora_console/pandoradb.sql | 1 + 6 files changed, 29 insertions(+), 8 deletions(-) diff --git a/pandora_console/extras/pandoradb_migrate_6.0_to_7.0.mysql.sql b/pandora_console/extras/pandoradb_migrate_6.0_to_7.0.mysql.sql index 159eb466f9..851a5b4535 100644 --- a/pandora_console/extras/pandoradb_migrate_6.0_to_7.0.mysql.sql +++ b/pandora_console/extras/pandoradb_migrate_6.0_to_7.0.mysql.sql @@ -1239,6 +1239,7 @@ ALTER TABLE tlayout ADD `background_color` varchar(50) NOT NULL default '#FFF'; ALTER TABLE tlayout_data ADD `type_graph` varchar(50) NOT NULL default 'area'; ALTER TABLE tlayout_data ADD `label_position` varchar(50) NOT NULL default 'down'; ALTER TABLE tlayout_data ADD COLUMN `show_statistics` tinyint(2) NOT NULL default '0'; +ALTER TABLE tlayout_data ADD COLUMN `element_group` int(10) NOT NULL default '0'; -- --------------------------------------------------------------------- -- Table `tagent_custom_fields` diff --git a/pandora_console/godmode/reporting/visual_console_builder.editor.js b/pandora_console/godmode/reporting/visual_console_builder.editor.js index ebd2427ce3..148cc7be27 100755 --- a/pandora_console/godmode/reporting/visual_console_builder.editor.js +++ b/pandora_console/godmode/reporting/visual_console_builder.editor.js @@ -815,6 +815,7 @@ function readFields() { values['bars_graph_type'] = $("select[name=bars_graph_type]").val(); values['parent'] = $("select[name=parent]").val(); values['map_linked'] = $("select[name=map_linked]").val(); + values['element_group'] = $("select[name=element_group]").val(); values['width_percentile'] = $("input[name=width_percentile]").val(); values['max_percentile'] = parseInt($("input[name=max_percentile]").val()); values['width_module_graph'] = $("input[name=width_module_graph]").val(); @@ -1489,6 +1490,8 @@ function loadFieldsFromDB(item) { $("select[name=parent]").val(val); if (key == 'id_layout_linked') $("select[name=map_linked]").val(val); + if (key == 'element_group') + $("select[name=element_group]").val(val); if (key == 'width_percentile') $("input[name=width_percentile]").val(val); if (key == 'max_percentile') @@ -1771,6 +1774,9 @@ function hiddenFields(item) { $("#map_linked_row").css('display', 'none'); $("#map_linked_row." + item).css('display', ''); + $("#element_group_row").css('display', 'none'); + $("#element_group_row." + item).css('display', ''); + $("#module_graph_size_row").css('display', 'none'); $("#module_graph_size_row." + item).css('display', ''); @@ -1821,14 +1827,6 @@ function hiddenFields(item) { if (typeof(enterprise_hiddenFields) == 'function') { enterprise_hiddenFields(item); } - - //~ var code_control = tinyMCE.activeEditor.controlManager.controls['text-label_code']; - //~ if (item == 'label') { - //~ code_control.setDisabled(false); - //~ } - //~ else { - //~ code_control.setDisabled(true); - //~ } } function cleanFields(item) { @@ -1848,6 +1846,7 @@ function cleanFields(item) { $("input[name=height]").val(0); $("select[name=parent]").val(''); $("select[name=map_linked]").val(''); + $("select[name=element_group]").val(''); $("input[name=width_module_graph]").val(300); $("input[name=height_module_graph]").val(180); $("input[name='width_box']").val(300); diff --git a/pandora_console/include/ajax/visual_console_builder.ajax.php b/pandora_console/include/ajax/visual_console_builder.ajax.php index c7e4484a27..9c3b32611e 100755 --- a/pandora_console/include/ajax/visual_console_builder.ajax.php +++ b/pandora_console/include/ajax/visual_console_builder.ajax.php @@ -100,6 +100,7 @@ $width = get_parameter('width', null); $height = get_parameter('height', null); $parent = get_parameter('parent', null); $map_linked = get_parameter('map_linked', null); +$element_group = get_parameter('element_group', null); $width_percentile = get_parameter('width_percentile', null); $max_percentile = get_parameter('max_percentile', null); $height_module_graph = get_parameter('height_module_graph', null); @@ -584,6 +585,9 @@ switch ($action) { if ($map_linked !== null) { $values['id_layout_linked'] = $map_linked; } + if ($element_group !== null) { + $values['element_group'] = $element_group; + } switch ($type) { // -- line_item ------------------------------------ case 'handler_start': @@ -982,6 +986,7 @@ switch ($action) { } $values['id_agente_modulo'] = $id_module; $values['id_layout_linked'] = $map_linked; + $values['element_group'] = $element_group; $values['parent_item'] = $parent; $values['enable_link'] = $enable_link; $values['image'] = $background_color; diff --git a/pandora_console/include/functions_visual_map.php b/pandora_console/include/functions_visual_map.php index f6293d8743..f2715047df 100755 --- a/pandora_console/include/functions_visual_map.php +++ b/pandora_console/include/functions_visual_map.php @@ -3248,6 +3248,11 @@ function visual_map_print_visual_map ($id_layout, $show_links = true, foreach ($layout_datas as $layout_data) { + $layout_group = $layout_data['element_group']; + if (!check_acl ($config['id_user'], $layout_group, "VR")) { + continue; + } + //Check the items are from disabled or pending delete modules if ($layout_data['id_agente_modulo'] != 0 && (($layout_data['type'] != LABEL) diff --git a/pandora_console/include/functions_visual_map_editor.php b/pandora_console/include/functions_visual_map_editor.php index 513c6ccc32..32876e99a7 100755 --- a/pandora_console/include/functions_visual_map_editor.php +++ b/pandora_console/include/functions_visual_map_editor.php @@ -625,6 +625,16 @@ function visual_map_editor_print_item_palette($visualConsole_id, $background) { $form_items_advance['line_case']['html'] = ' ' . __('Lines haven\'t advanced options') . ''; + $user_groups = users_get_groups($config['id_user']); + $form_items_advance['element_group_row'] = array(); + $form_items_advance['element_group_row']['items'] = array( + 'group_item', 'static_graph', 'percentile_bar', + 'percentile_item', 'module_graph', 'simple_value', + 'icon', 'label', 'datos'); + $form_items_advance['element_group_row']['html'] = ''. + __('Element group') . '' . + '' . html_print_select($user_groups, 'element_group', '', '', '', 0, true) . + ''; //Insert and modify before the buttons to create or update. if (enterprise_installed()) { diff --git a/pandora_console/pandoradb.sql b/pandora_console/pandoradb.sql index 28fb2575cf..ad89ce2b8c 100644 --- a/pandora_console/pandoradb.sql +++ b/pandora_console/pandoradb.sql @@ -1362,6 +1362,7 @@ CREATE TABLE IF NOT EXISTS `tlayout_data` ( `border_color` varchar(200) DEFAULT "", `fill_color` varchar(200) DEFAULT "", `show_statistics` tinyint(2) NOT NULL default '0', + `element_group` int(10) NOT NULL default '0', PRIMARY KEY(`id`) ) ENGINE = InnoDB DEFAULT CHARSET=utf8;