Changed to disabled agents in planned downtime

This commit is contained in:
Daniel Maya 2017-06-28 16:20:20 +02:00
parent ef22945b80
commit 4244e23737

View File

@ -1619,11 +1619,6 @@ Start the planned downtime, the once type.
sub pandora_planned_downtime_set_disabled_elements($$$) { sub pandora_planned_downtime_set_disabled_elements($$$) {
my ($pa_config, $dbh, $downtime) = @_; my ($pa_config, $dbh, $downtime) = @_;
my @downtime_agents = get_db_rows($dbh, 'SELECT *
FROM tplanned_downtime_agents
WHERE id_downtime = ' . $downtime->{'id'});
foreach my $downtime_agent (@downtime_agents) {
my $only_alerts = 0; my $only_alerts = 0;
if ($downtime->{'only_alerts'} == 0) { if ($downtime->{'only_alerts'} == 0) {
@ -1633,26 +1628,25 @@ 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
SET tp.manually_disabled = ta.disabled
WHERE tp.id_agent = ta.id_agente AND tp.id_downtime = ?',$downtime->{'id'});
if($pa_config->{'include_agents'} == 0){ db_do($dbh,'UPDATE tagente ta, tplanned_downtime_agents tpa
db_do($dbh, 'UPDATE tplanned_downtime_agents SET ta.disabled = 1 WHERE tpa.id_agent = ta.id_agente AND
SET manually_disabled = 1 WHERE id_agent IN (SELECT id_agente FROM tagente WHERE disabled = 1 AND id_agente = ?) tpa.id_downtime = ?',$downtime->{'id'});
AND id_downtime = ' . $downtime->{'id'}, $downtime_agent->{'id_agent'});
}
db_do ($dbh, 'UPDATE tagente } else {
SET disabled = 1 my @downtime_agents = get_db_rows($dbh, 'SELECT *
WHERE id_agente = ?', $downtime_agent->{'id_agent'}); FROM tplanned_downtime_agents
} WHERE id_downtime = ' . $downtime->{'id'});
else {
db_do ($dbh, 'UPDATE talert_template_modules
SET disabled = 1
WHERE id_agent_module IN (
SELECT id_agente_modulo
FROM tagente_modulo
WHERE id_agente = ?)', $downtime_agent->{'id_agent'});
}
foreach my $downtime_agent (@downtime_agents) {
db_do ($dbh, 'UPDATE talert_template_modules tat, tagente_modulo tam
SET tat.disabled = 1
WHERE tat.id_agent_module = tam.id_agente_modulo
AND tam.id_agente = ?', $downtime_agent->{'id_agent'});
}
} }
} }
@ -1666,11 +1660,6 @@ Start the planned downtime, the once type.
sub pandora_planned_downtime_unset_disabled_elements($$$) { sub pandora_planned_downtime_unset_disabled_elements($$$) {
my ($pa_config, $dbh, $downtime) = @_; my ($pa_config, $dbh, $downtime) = @_;
my @downtime_agents = get_db_rows($dbh, 'SELECT *
FROM tplanned_downtime_agents
WHERE id_downtime = ' . $downtime->{'id'});
foreach my $downtime_agent (@downtime_agents) {
my $only_alerts = 0; my $only_alerts = 0;
if ($downtime->{'only_alerts'} == 0) { if ($downtime->{'only_alerts'} == 0) {
@ -1680,26 +1669,21 @@ sub pandora_planned_downtime_unset_disabled_elements($$$) {
} }
if ($only_alerts == 0) { if ($only_alerts == 0) {
db_do ($dbh, 'UPDATE tagente db_do($dbh,'UPDATE tagente ta, tplanned_downtime_agents tpa
SET disabled = 0 set ta.disabled = 0 WHERE tpa.id_agent = ta.id_agente AND
WHERE id_agente = ?', $downtime_agent->{'id_agent'}); tpa.manually_disabled = 0 AND tpa.id_downtime = ?',$downtime->{'id'});
} else {
my @downtime_agents = get_db_rows($dbh, 'SELECT *
FROM tplanned_downtime_agents
WHERE id_downtime = ' . $downtime->{'id'});
if($pa_config->{'include_agents'} == 0){ foreach my $downtime_agent (@downtime_agents) {
db_do ($dbh, 'UPDATE tagente db_do ($dbh, 'UPDATE talert_template_modules tat, tagente_modulo tam
SET disabled = 1 SET tat.disabled = 0
WHERE id_agente IN (SELECT id_agent FROM tplanned_downtime_agents WHERE manually_disabled = 1 and id_downtime = ?)',$downtime_agent->{'id_downtime'}); WHERE tat.id_agent_module = tam.id_agente_modulo
AND tam.id_agente = ?', $downtime_agent->{'id_agent'});
} }
} }
else {
db_do ($dbh, 'UPDATE talert_template_modules
SET disabled = 0
WHERE id_agent_module IN (
SELECT id_agente_modulo
FROM tagente_modulo
WHERE id_agente = ?)', $downtime_agent->{'id_agent'});
}
}
} }
######################################################################## ########################################################################