2012-06-25 Juan Manuel Ramon <juanmanuel.ramon@artica.es>
* include/functions_visual_map.php godmode/reporting/visual_console_builder.wizard.php godmode/reporting/visual_console_builder.php: Visual console wizard 'item per agent' functionality. Merged from branches. git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@6701 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
This commit is contained in:
parent
5c65625159
commit
2a8afbe237
|
@ -1,3 +1,12 @@
|
|||
2012-06-25 Juan Manuel Ramon <juanmanuel.ramon@artica.es>
|
||||
|
||||
* include/functions_visual_map.php
|
||||
godmode/reporting/visual_console_builder.wizard.php
|
||||
godmode/reporting/visual_console_builder.php: Visual console
|
||||
wizard 'item per agent' functionality.
|
||||
|
||||
Merged from branches.
|
||||
|
||||
2012-06-25 Miguel de Dios <miguel.dedios@artica.es>
|
||||
|
||||
* include/functions_graph.php, include/functions_reporting.php,
|
||||
|
|
|
@ -187,56 +187,74 @@ switch ($activeTab) {
|
|||
$type_percentile = get_parameter ("type_percentile", 'percentile');
|
||||
$value_show = get_parameter ("value_show", 'percent');
|
||||
$label_type = get_parameter ("label_type", 'agent_module');
|
||||
// This var switch between creation of items, item_per_agent = 0 => item per module; item_per_agent <> 0 => item per agent
|
||||
$item_per_agent = get_parameter ("item_per_agent", 0);
|
||||
|
||||
$message = '';
|
||||
|
||||
if (empty($name_modules)) {
|
||||
$statusProcessInDB = array('flag' => true, 'message' => ui_print_error_message (__('No modules selected'), '', true));
|
||||
}
|
||||
else {
|
||||
//Any module
|
||||
if ($name_modules[0] == '0') {
|
||||
$id_modules = array();
|
||||
foreach ($id_agents as $id_agent) {
|
||||
$id_modulo = agents_get_modules($id_agent, array('id_agente_modulo'));
|
||||
if (empty($id_modulo)) $id_modulo = array();
|
||||
// One item per agent
|
||||
if ($item_per_agent == 1) {
|
||||
$id_agents_result = array();
|
||||
foreach ($id_agents as $id_agent_key => $id_agent_id)
|
||||
$id_agents_result[] = $id_agent_id;
|
||||
|
||||
foreach ($id_modulo as $id) {
|
||||
$id_modules[] = $id['id_agente_modulo'];
|
||||
}
|
||||
}
|
||||
$message .= visual_map_process_wizard_add_agents($id_agents_result,
|
||||
$image, $idVisualConsole, $range, $width, $height,
|
||||
$period, $process_value, $percentileitem_width,
|
||||
$max_value, $type_percentile, $value_show, $label_type, $type);
|
||||
|
||||
$message .= visual_map_process_wizard_add_modules($id_modules,
|
||||
$image, $idVisualConsole, $range, $width, $height,
|
||||
$period, $process_value, $percentileitem_width,
|
||||
$max_value, $type_percentile, $value_show, $label_type, $type);
|
||||
$statusProcessInDB = array('flag' => true, 'message' => $message);
|
||||
|
||||
} else {
|
||||
// One item per module
|
||||
if (empty($name_modules)) {
|
||||
$statusProcessInDB = array('flag' => true, 'message' => ui_print_error_message (__('No modules selected'), '', true));
|
||||
}
|
||||
else {
|
||||
$id_modules = array();
|
||||
//Any module
|
||||
if ($name_modules[0] == '0') {
|
||||
$id_modules = array();
|
||||
foreach ($id_agents as $id_agent) {
|
||||
$id_modulo = agents_get_modules($id_agent, array('id_agente_modulo'));
|
||||
if (empty($id_modulo)) $id_modulo = array();
|
||||
|
||||
foreach ($name_modules as $mod) {
|
||||
foreach ($id_agents as $ag) {
|
||||
$id_module = agents_get_modules($ag,
|
||||
array('id_agente_modulo'),
|
||||
array('nombre' => $mod));
|
||||
|
||||
if (empty($id_module))
|
||||
continue;
|
||||
else {
|
||||
$id_module = reset($id_module);
|
||||
$id_module = $id_module['id_agente_modulo'];
|
||||
foreach ($id_modulo as $id) {
|
||||
$id_modules[] = $id['id_agente_modulo'];
|
||||
}
|
||||
|
||||
$id_modules[] = $id_module;
|
||||
}
|
||||
}
|
||||
|
||||
$message .= visual_map_process_wizard_add_modules($id_modules,
|
||||
$image, $idVisualConsole, $range, $width, $height,
|
||||
$period, $process_value, $percentileitem_width,
|
||||
$max_value, $type_percentile, $value_show, $label_type, $type);
|
||||
$message .= visual_map_process_wizard_add_modules($id_modules,
|
||||
$image, $idVisualConsole, $range, $width, $height,
|
||||
$period, $process_value, $percentileitem_width,
|
||||
$max_value, $type_percentile, $value_show, $label_type, $type);
|
||||
}
|
||||
else {
|
||||
$id_modules = array();
|
||||
|
||||
foreach ($name_modules as $mod) {
|
||||
foreach ($id_agents as $ag) {
|
||||
$id_module = agents_get_modules($ag,
|
||||
array('id_agente_modulo'),
|
||||
array('nombre' => $mod));
|
||||
|
||||
if (empty($id_module))
|
||||
continue;
|
||||
else {
|
||||
$id_module = reset($id_module);
|
||||
$id_module = $id_module['id_agente_modulo'];
|
||||
}
|
||||
|
||||
$id_modules[] = $id_module;
|
||||
}
|
||||
}
|
||||
|
||||
$message .= visual_map_process_wizard_add_modules($id_modules,
|
||||
$image, $idVisualConsole, $range, $width, $height,
|
||||
$period, $process_value, $percentileitem_width,
|
||||
$max_value, $type_percentile, $value_show, $label_type, $type);
|
||||
}
|
||||
$statusProcessInDB = array('flag' => true, 'message' => $message);
|
||||
}
|
||||
$statusProcessInDB = array('flag' => true, 'message' => $message);
|
||||
}
|
||||
$action = 'edit';
|
||||
break;
|
||||
|
|
|
@ -34,7 +34,12 @@ $table->data = array ();
|
|||
$table->style = array ();
|
||||
$table->style[0] = 'font-weight: bold; vertical-align: text-top;';
|
||||
$table->style[1] = 'font-weight: bold; vertical-align: top;';
|
||||
$table->style[2] = 'font-weight: bold; vertical-align: top';
|
||||
$table->size = array ();
|
||||
$table->size[0] = "20%";
|
||||
$table->size[1] = "20%";
|
||||
$table->size[2] = "20%";
|
||||
$table->size[3] = "20%";
|
||||
$table->data = array ();
|
||||
|
||||
$images_list = array ();
|
||||
|
@ -72,7 +77,7 @@ $table->data["all_1"][1] = html_print_input_text ('range', 50, '', 5, 5, true);
|
|||
$table->rowstyle["staticgraph_modulegraph"] = 'display: none;';
|
||||
$table->data["staticgraph_modulegraph"][0] = __('Size (px)');
|
||||
$table->data["staticgraph_modulegraph"][1] = __('Width').': '.html_print_input_text ('width', 0, '', 5, 5, true);
|
||||
$table->data["staticgraph_modulegraph"][1] .= ' ' . __('Height').': '.html_print_input_text ('height', 0, '', 5, 5, true);
|
||||
$table->data["staticgraph_modulegraph"][1] .= ' ' . __('Height').': '.html_print_input_text ('height', 0, '', 5, 5, true);
|
||||
|
||||
$table->rowstyle["modulegraph_simplevalue"] = 'display: none;';
|
||||
$table->data["modulegraph_simplevalue"][0] = __('Period');
|
||||
|
@ -108,12 +113,21 @@ $table->data["all_2"][0] = __('Groups');
|
|||
$table->data["all_2"][1] = html_print_select_groups($config['id_user'], "AR", true,
|
||||
'groups', '', '', '', 0, true);
|
||||
|
||||
$table->rowstyle["all_one_item_per_agent"] = 'display: none';
|
||||
$table->data["all_one_item_per_agent"][0] = __('One item per agent');
|
||||
$table->data["all_one_item_per_agent"][1] = __('Yes').' '.html_print_radio_button_extended ('item_per_agent', 1, '', '', false, 'item_per_agent_change(1)', '', true).' ';
|
||||
$table->data["all_one_item_per_agent"][1] .= __('No').' '.html_print_radio_button_extended ('item_per_agent', 0, '', 0, false, 'item_per_agent_change(0)', '', true);
|
||||
$table->data["all_one_item_per_agent"][1] .= html_print_input_hidden ('item_per_agent_test', 0, true);
|
||||
|
||||
$table->rowstyle["all_3"] = 'display: none;';
|
||||
$table->data["all_3"][0] = __('Agents');
|
||||
|
||||
$table->data["all_3"][1] = html_print_select (agents_get_group_agents (0, false, "none", false, true),
|
||||
'id_agents[]', 0, false, '', '', true, true) .
|
||||
' <span style="vertical-align: top;">' . __('Modules') . '</span>' .
|
||||
html_print_select (array (), 'module[]', 0, false, __('None'), -1, true, true);
|
||||
'id_agents[]', 0, false, '', '', true, true);
|
||||
|
||||
$table->data["all_3"][2] = ' <span style="vertical-align: top;">' . __('Modules') . '</span>';
|
||||
|
||||
$table->data["all_3"][3] = html_print_select (array (), 'module[]', 0, false, __('None'), -1, true, true);
|
||||
|
||||
$table->rowstyle["all_5"] = 'display: none;';
|
||||
$table->data["all_5"][0] = __('Label');
|
||||
|
@ -126,8 +140,7 @@ $table->data["all_5"][1] = html_print_select ($label_type, 'label_type', 'agent_
|
|||
echo '<form method="post"
|
||||
action="index.php?sec=reporting&sec2=godmode/reporting/visual_console_builder&tab=' . $activeTab . '&id_visual_console=' . $visualConsole["id"] . '"
|
||||
onsubmit="if (! confirm(\''.__('Are you sure to add many elements\nin visual map?').'\')) return false; else return check_fields();">';
|
||||
$table->size[0] = "20%";
|
||||
$table->size[1] = "80%";
|
||||
|
||||
html_print_table ($table);
|
||||
|
||||
echo '<div class="action-buttons" style="width: '.$table->width.'">';
|
||||
|
@ -204,7 +217,11 @@ $(document).ready (function () {
|
|||
|
||||
return;
|
||||
});
|
||||
$("#id_agents").change (agent_changed_by_multiple_agents);
|
||||
|
||||
$("#id_agents").change ( function() {
|
||||
if ($("#hidden-item_per_agent_test").val() == 0)
|
||||
agent_changed_by_multiple_agents();
|
||||
});
|
||||
});
|
||||
|
||||
function check_fields() {
|
||||
|
@ -247,4 +264,29 @@ function hidden_rows() {
|
|||
break;
|
||||
}
|
||||
}
|
||||
|
||||
function item_per_agent_change(itemPerAgent) {
|
||||
|
||||
// Disable Module select
|
||||
if (itemPerAgent == 1) {
|
||||
$('#module').empty();
|
||||
$('#module').append ($('<option></option>').html (<?php echo "'" . __('None') . "'"; ?>).attr("value", -1));
|
||||
$('#module').attr('disabled', true);
|
||||
$('#label_type').empty();
|
||||
$('#label_type').append ($('<option></option>').html (<?php echo "'" . __('Agent') . "'"; ?>).attr('value', 'agent').attr('selected', true));
|
||||
$('#label_type').append ($('<option></option>').html (<?php echo "'" . __('None') . "'"; ?>).attr('value', 'none'));
|
||||
|
||||
$('#hidden-item_per_agent_test').val(1);
|
||||
} else {
|
||||
$('#module').removeAttr('disabled');
|
||||
$('#hidden-item_per_agent_test').val(0);
|
||||
$('#label_type').empty();
|
||||
$('#label_type').append ($('<option></option>').html (<?php echo "'" . __('Agent') . "'"; ?>).attr('value', 'agent'));
|
||||
$('#label_type').append ($('<option></option>').html (<?php echo "'" . __('Agent - Module') . "'"; ?>).attr('value', 'agent_module').attr('selected', true));
|
||||
$('#label_type').append ($('<option></option>').html (<?php echo "'" . __('Module') . "'"; ?>).attr('value', 'module'));
|
||||
$('#label_type').append ($('<option></option>').html (<?php echo "'" . __('None') . "'"; ?>).attr('value', 'none'));
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
</script>
|
||||
|
|
|
@ -554,6 +554,111 @@ function visual_map_process_wizard_add_modules ($id_modules, $image, $id_layout,
|
|||
return $return;
|
||||
}
|
||||
|
||||
/**
|
||||
* The function to save the new elements of agents make as wizard.
|
||||
*
|
||||
* @param array $id_agents The list of id of agents.
|
||||
* @param string $image The image to set the elements.
|
||||
* @param integer $id_layout The id of visual console to insert the elements.
|
||||
* @param integer $range The distance between elements.
|
||||
* @param integer $width Width of image.
|
||||
* @param integer $height Height of image.
|
||||
*
|
||||
* @return string Return the message status to insert DB.
|
||||
*/
|
||||
function visual_map_process_wizard_add_agents ($id_agents, $image, $id_layout,
|
||||
$range, $width = 0, $height = 0, $period, $process_value, $percentileitem_width,
|
||||
$max_value, $type_percentile, $value_show, $label_type, $type) {
|
||||
|
||||
if (empty ($id_agents)) {
|
||||
$return = ui_print_error_message (__('No agents selected'), '', true);
|
||||
return $return;
|
||||
}
|
||||
|
||||
$id_agents = (array) $id_agents;
|
||||
|
||||
$error = false;
|
||||
$pos_y = 10;
|
||||
$pos_x = 10;
|
||||
|
||||
foreach ($id_agents as $id_agent) {
|
||||
if ($pos_x > 600) {
|
||||
$pos_x = 10;
|
||||
$pos_y = $pos_y + $range;
|
||||
}
|
||||
|
||||
$value_height = $height;
|
||||
$value_image = $image;
|
||||
$value_type = $type;
|
||||
$value_width = $width;
|
||||
|
||||
switch ($type) {
|
||||
case PERCENTILE_BAR:
|
||||
case PERCENTILE_BUBBLE:
|
||||
$value_height = $max_value;
|
||||
$value_width = $percentileitem_width;
|
||||
$value_image = $value_show;
|
||||
if ($type_percentile == 'percentile') {
|
||||
$value_type = PERCENTILE_BAR;
|
||||
}
|
||||
else {
|
||||
$value_type = PERCENTILE_BUBBLE;
|
||||
}
|
||||
break;
|
||||
case SIMPLE_VALUE:
|
||||
$value_image = '';
|
||||
switch ($process_value) {
|
||||
case PROCESS_VALUE_NONE:
|
||||
$value_type = SIMPLE_VALUE;
|
||||
break;
|
||||
case PROCESS_VALUE_MIN:
|
||||
$value_type = SIMPLE_VALUE_MIN;
|
||||
break;
|
||||
case PROCESS_VALUE_MAX:
|
||||
$value_type = SIMPLE_VALUE_MAX;
|
||||
break;
|
||||
case PROCESS_VALUE_AVG:
|
||||
$value_type = SIMPLE_VALUE_AVG;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
switch ($label_type) {
|
||||
case 'agent':
|
||||
$agent_label = ui_print_truncate_text(agents_get_name ($id_agent), 'agent_small', false, true, false, '…', false);
|
||||
$label = $agent_label;
|
||||
break;
|
||||
case 'none':
|
||||
$label = '';
|
||||
break;
|
||||
}
|
||||
$label = io_safe_input($label);
|
||||
|
||||
$values = array ('type' => $value_type,
|
||||
'id_layout' => $id_layout,
|
||||
'pos_x' => $pos_x,
|
||||
'pos_y' => $pos_y,
|
||||
'label' => $label,
|
||||
'image' => $value_image,
|
||||
'id_agent' => $id_agent,
|
||||
'id_agente_modulo' => 0,
|
||||
'width' => $value_width,
|
||||
'period' => $period,
|
||||
'height' => $value_height,
|
||||
'label_color' => '#000000');
|
||||
|
||||
db_process_sql_insert ('tlayout_data', $values);
|
||||
|
||||
$pos_x = $pos_x + $range;
|
||||
}
|
||||
|
||||
$return = ui_print_success_message (__('Agents successfully added to layout'), '', true);
|
||||
|
||||
return $return;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Get the color of line between elements in the visual map.
|
||||
*
|
||||
|
|
Loading…
Reference in New Issue