mirror of
https://github.com/pandorafms/pandorafms.git
synced 2025-07-27 15:54:29 +02:00
implemented disable modules scheduled downtime
This commit is contained in:
parent
8efb8c46b1
commit
a479ab84f7
@ -754,7 +754,8 @@ if ($agents !== false) {
|
|||||||
$in_planned_downtime = db_get_sql(
|
$in_planned_downtime = db_get_sql(
|
||||||
'SELECT executed FROM tplanned_downtime
|
'SELECT executed FROM tplanned_downtime
|
||||||
INNER JOIN tplanned_downtime_agents ON tplanned_downtime.id = tplanned_downtime_agents.id_downtime
|
INNER JOIN tplanned_downtime_agents ON tplanned_downtime.id = tplanned_downtime_agents.id_downtime
|
||||||
WHERE tplanned_downtime_agents.id_agent = '.$agent['id_agente'].' AND tplanned_downtime.executed = 1'
|
WHERE tplanned_downtime_agents.id_agent = '.$agent['id_agente'].' AND tplanned_downtime.executed = 1
|
||||||
|
AND tplanned_downtime.type_downtime <> "disable_agent_modules"'
|
||||||
);
|
);
|
||||||
|
|
||||||
if ($agent['disabled']) {
|
if ($agent['disabled']) {
|
||||||
|
@ -993,6 +993,24 @@ foreach ($modules as $module) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if ($module['disabled']) {
|
if ($module['disabled']) {
|
||||||
|
$dt_disabled_icon = '';
|
||||||
|
|
||||||
|
$in_planned_downtime = db_get_sql(
|
||||||
|
'SELECT executed FROM tplanned_downtime
|
||||||
|
INNER JOIN tplanned_downtime_modules ON tplanned_downtime.id = tplanned_downtime_modules.id_downtime
|
||||||
|
WHERE tplanned_downtime.executed = 1
|
||||||
|
AND tplanned_downtime.type_downtime = "disable_agent_modules"
|
||||||
|
AND tplanned_downtime_modules.id_agent_module = '.$module['id_agente_modulo']
|
||||||
|
);
|
||||||
|
|
||||||
|
if ($in_planned_downtime !== false) {
|
||||||
|
$dt_disabled_icon = ui_print_help_tip(
|
||||||
|
__('Module in scheduled downtime'),
|
||||||
|
true,
|
||||||
|
'images/minireloj-16.png'
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
$data[0] .= '<em class="disabled_module">'.ui_print_truncate_text(
|
$data[0] .= '<em class="disabled_module">'.ui_print_truncate_text(
|
||||||
$module['nombre'],
|
$module['nombre'],
|
||||||
'module_medium',
|
'module_medium',
|
||||||
@ -1001,7 +1019,7 @@ foreach ($modules as $module) {
|
|||||||
true,
|
true,
|
||||||
'[…]',
|
'[…]',
|
||||||
'font-size: 7.2pt'
|
'font-size: 7.2pt'
|
||||||
).'</em>';
|
).$dt_disabled_icon.'</em>';
|
||||||
} else {
|
} else {
|
||||||
$data[0] .= ui_print_truncate_text(
|
$data[0] .= ui_print_truncate_text(
|
||||||
$module['nombre'],
|
$module['nombre'],
|
||||||
|
@ -593,6 +593,7 @@ $table->data[3][1] = html_print_select(
|
|||||||
[
|
[
|
||||||
'quiet' => __('Quiet'),
|
'quiet' => __('Quiet'),
|
||||||
'disable_agents' => __('Disabled Agents'),
|
'disable_agents' => __('Disabled Agents'),
|
||||||
|
'disable_agent_modules' => __('Disable Modules'),
|
||||||
'disable_agents_alerts' => __('Disabled only Alerts'),
|
'disable_agents_alerts' => __('Disabled only Alerts'),
|
||||||
],
|
],
|
||||||
'type_downtime',
|
'type_downtime',
|
||||||
|
@ -539,6 +539,8 @@ function planned_downtimes_migrate_malformed_downtimes_copy_items($original_down
|
|||||||
*/
|
*/
|
||||||
function planned_downtimes_stop($downtime)
|
function planned_downtimes_stop($downtime)
|
||||||
{
|
{
|
||||||
|
global $config;
|
||||||
|
|
||||||
$result = false;
|
$result = false;
|
||||||
$message = '';
|
$message = '';
|
||||||
|
|
||||||
@ -672,6 +674,21 @@ function planned_downtimes_stop($downtime)
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case 'disable_agent_modules':
|
||||||
|
$update_sql = sprintf(
|
||||||
|
'UPDATE tagente_modulo tam, tagente ta, tplanned_downtime_modules tpdm
|
||||||
|
SET tam.disabled = 0, ta.update_module_count = 1
|
||||||
|
WHERE tpdm.id_agent_module = tam.id_agente_modulo AND
|
||||||
|
ta.id_agente = tam.id_agente AND
|
||||||
|
tpdm.id_downtime = %d',
|
||||||
|
$id_downtime
|
||||||
|
);
|
||||||
|
|
||||||
|
db_process_sql($update_sql);
|
||||||
|
|
||||||
|
$count = '';
|
||||||
|
break;
|
||||||
|
|
||||||
case 'disable_agents_alerts':
|
case 'disable_agents_alerts':
|
||||||
$agents = db_get_all_rows_filter(
|
$agents = db_get_all_rows_filter(
|
||||||
'tplanned_downtime_agents',
|
'tplanned_downtime_agents',
|
||||||
|
@ -2322,15 +2322,22 @@ sub pandora_planned_downtime_set_disabled_elements($$$) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if ($only_alerts == 0) {
|
if ($only_alerts == 0) {
|
||||||
db_do($dbh,'UPDATE tplanned_downtime_agents tp, tagente ta
|
if ($downtime->{'type_downtime'} eq 'disable_agent_modules') {
|
||||||
SET tp.manually_disabled = ta.disabled
|
db_do($dbh,'UPDATE tagente_modulo tam, tagente ta, tplanned_downtime_modules tpdm
|
||||||
WHERE tp.id_agent = ta.id_agente AND tp.id_downtime = ?',$downtime->{'id'});
|
SET tam.disabled = 1, ta.update_module_count = 1
|
||||||
|
WHERE tpdm.id_agent_module = tam.id_agente_modulo AND
|
||||||
db_do($dbh,'UPDATE tagente ta, tplanned_downtime_agents tpa
|
ta.id_agente = tam.id_agente AND
|
||||||
SET ta.disabled = 1, ta.update_module_count = 1
|
tpdm.id_downtime = ?', $downtime->{'id'});
|
||||||
WHERE tpa.id_agent = ta.id_agente AND
|
} else {
|
||||||
tpa.id_downtime = ?',$downtime->{'id'});
|
db_do($dbh,'UPDATE tplanned_downtime_agents tp, tagente ta
|
||||||
|
SET tp.manually_disabled = ta.disabled
|
||||||
|
WHERE tp.id_agent = ta.id_agente AND tp.id_downtime = ?',$downtime->{'id'});
|
||||||
|
|
||||||
|
db_do($dbh,'UPDATE tagente ta, tplanned_downtime_agents tpa
|
||||||
|
SET ta.disabled = 1, ta.update_module_count = 1
|
||||||
|
WHERE tpa.id_agent = ta.id_agente AND
|
||||||
|
tpa.id_downtime = ?',$downtime->{'id'});
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
my @downtime_agents = get_db_rows($dbh, 'SELECT *
|
my @downtime_agents = get_db_rows($dbh, 'SELECT *
|
||||||
FROM tplanned_downtime_agents
|
FROM tplanned_downtime_agents
|
||||||
@ -2364,10 +2371,18 @@ sub pandora_planned_downtime_unset_disabled_elements($$$) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if ($only_alerts == 0) {
|
if ($only_alerts == 0) {
|
||||||
db_do($dbh,'UPDATE tagente ta, tplanned_downtime_agents tpa
|
if ($downtime->{'type_downtime'} eq 'disable_agent_modules') {
|
||||||
set ta.disabled = 0, ta.update_module_count = 1
|
db_do($dbh,'UPDATE tagente_modulo tam, tagente ta, tplanned_downtime_modules tpdm
|
||||||
WHERE tpa.id_agent = ta.id_agente AND
|
SET tam.disabled = 0, ta.update_module_count = 1
|
||||||
tpa.manually_disabled = 0 AND tpa.id_downtime = ?',$downtime->{'id'});
|
WHERE tpdm.id_agent_module = tam.id_agente_modulo AND
|
||||||
|
ta.id_agente = tam.id_agente AND
|
||||||
|
tpdm.id_downtime = ?', $downtime->{'id'});
|
||||||
|
} else {
|
||||||
|
db_do($dbh,'UPDATE tagente ta, tplanned_downtime_agents tpa
|
||||||
|
set ta.disabled = 0, ta.update_module_count = 1
|
||||||
|
WHERE tpa.id_agent = ta.id_agente AND
|
||||||
|
tpa.manually_disabled = 0 AND tpa.id_downtime = ?',$downtime->{'id'});
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
my @downtime_agents = get_db_rows($dbh, 'SELECT *
|
my @downtime_agents = get_db_rows($dbh, 'SELECT *
|
||||||
FROM tplanned_downtime_agents
|
FROM tplanned_downtime_agents
|
||||||
|
Loading…
x
Reference in New Issue
Block a user