diff --git a/pandora_console/ChangeLog b/pandora_console/ChangeLog index 4dad92b9e4..39d20f714e 100644 --- a/pandora_console/ChangeLog +++ b/pandora_console/ChangeLog @@ -1,3 +1,9 @@ +2010-09-02 Sergio Martin + + * godmode/massive/massive_operations.php + godmode/massive/massive_enable_disable_alerts.php: Added + the disable/enable alerts massive operation + 2010-09-01 Sergio Martin * operation/menu.php diff --git a/pandora_console/godmode/massive/massive_enable_disable_alerts.php b/pandora_console/godmode/massive/massive_enable_disable_alerts.php new file mode 100644 index 0000000000..bc9b0e24eb --- /dev/null +++ b/pandora_console/godmode/massive/massive_enable_disable_alerts.php @@ -0,0 +1,206 @@ + 'tagente.nombre, talert_template_modules.disabled', '`talert_template_modules`.disabled' => $disabled), + array ('LEFT(CONCAT(LEFT(tagente.nombre,40), " - ", tagente_modulo.nombre), 85) as agent_agentmodule_name', + 'talert_template_modules.id as template_module_id')); + + echo json_encode (index_array ($agents_alerts, 'template_module_id', 'agent_agentmodule_name')); + return; + } + return; +} + +$id_group = (int) get_parameter ('id_group'); +$action = (string) get_parameter ('action', ''); + +$result = false; + +switch($action) { + case 'enable_alerts': + $id_alert_template = (int) get_parameter ('id_alert_template_disabled', 0); + $id_disabled_alerts = get_parameter_post ('id_disabled_alerts', array()); + foreach($id_disabled_alerts as $id_alert) { + $result = set_alerts_agent_module_disable ($id_alert, false); + } + print_result_message ($result, __('Successfully enabled'), __('Could not be enabled')); + break; + case 'disable_alerts': + $id_alert_template = (int) get_parameter ('id_alert_template_enabled', 0); + $id_enabled_alerts = get_parameter_post ('id_enabled_alerts', array()); + + foreach($id_enabled_alerts as $id_alert) { + $result = set_alerts_agent_module_disable ($id_alert, true); + } + print_result_message ($result, __('Successfully disabled'), __('Could not be disabled')); + break; + default: + $id_alert_template = (int) get_parameter ('id_alert_template', 0); + break; +} + +$groups = get_user_groups (); + +$table->id = 'delete_table'; +$table->width = '95%'; +$table->data = array (); +$table->style = array (); +$table->style[0] = 'font-weight: bold; vertical-align:top'; +$table->style[2] = 'font-weight: bold'; +$table->size = array (); +$table->size[0] = '15%'; +$table->size[1] = '85%'; + +$table->data = array (); + +$templates = get_alert_templates (false, array ('id', 'name')); +$table->data[0][0] = '
'; +$table->data[0][0] .= print_input_hidden('id_alert_template_enabled', $id_alert_template, true); +$table->data[0][0] .= __('Alert template'); +$table->data[0][1] = print_select (index_array ($templates, 'id', 'name'), + 'id_alert_template', $id_alert_template, false, __('Select'), 0, true); + +$table->data[1][0] = __('Group'); +$table->data[1][1] = print_select_groups(false, "AR", true, 'id_group', $id_group, + '', '', '', true, false, true, '', $id_alert_template == 0); + +$table->data[2][0] = __('Enabled alerts').print_help_tip(__('Format').":
".__('Agent')." - ".__('Module'), true); +$table->data[2][0] .= ''; +$agents_alerts = get_agents_with_alert_template ($id_alert_template, $id_group, + false, array ('tagente.nombre', 'tagente.id_agente')); +$table->data[2][1] = print_select (index_array ($agents_alerts, 'id_agente', 'nombre'), + 'id_enabled_alerts[]', '', '', '', '', true, true, true, '', $id_alert_template == 0); + +$table->data[3][0] = __('Action'); + +$table->data[3][1] = "
".print_input_image ('disable_alerts', 'images/darrowdown.png', 1, 'margin-left: 150px;', true, array ('title' => __('Disable selected alerts'))).""; +$table->data[3][1] .= ''; +$table->data[3][1] .= '
'; +$table->data[3][1] .= print_input_hidden('id_alert_template_disabled', $id_alert_template, true); +$table->data[3][1] .= print_input_image ('enable_alerts', 'images/darrowup.png', 1, 'margin-left: 200px;', true, array ('title' => __('Enable selected alerts')))."
"; + +$table->data[4][0] = __('Disabled alerts').print_help_tip(__('Format').":
".__('Agent')." - ".__('Module'), true); +$table->data[4][0] .= ''; +$table->data[4][1] = print_select (index_array ($agents_alerts, 'id_agente2', 'nombre'), + 'id_disabled_alerts[]', '', '', '', '', true, true, true, '', $id_alert_template == 0); +$table->data[4][1] .= ''; + +print_table ($table); + +echo ''; + +require_jquery_file ('form'); +require_jquery_file ('pandora.controls'); +?> + + diff --git a/pandora_console/godmode/massive/massive_operations.php b/pandora_console/godmode/massive/massive_operations.php index ccdf8f798b..58dc865e17 100644 --- a/pandora_console/godmode/massive/massive_operations.php +++ b/pandora_console/godmode/massive/massive_operations.php @@ -34,7 +34,8 @@ $option = (string) get_parameter ('option', ''); $options_alerts = array('add_alerts' => __('Massive alerts addition'), 'delete_alerts' => __('Massive alerts deletion'), - 'add_action_alerts' => __('Massive alert actions addition'), 'delete_action_alerts' => __('Massive alert actions deletion')); + 'add_action_alerts' => __('Massive alert actions addition'), 'delete_action_alerts' => __('Massive alert actions deletion'), + 'enable_disable_alerts' => __('Massive alert enable/disable')); $options_agents = array('delete_agents' => __('Massive agents deletion')); @@ -133,6 +134,9 @@ switch ($option) { case 'add_action_alerts': require_once ('godmode/massive/massive_add_action_alerts.php'); break; + case 'enable_disable_alerts': + require_once ('godmode/massive/massive_enable_disable_alerts.php'); + break; case 'delete_agents': require_once ('godmode/massive/massive_delete_agents.php'); break;