Merge branch 'ent-11873-paradas-planificadas-de-modulos-ponen-en-modo-quiet-agente-en-vez-de-modulos' into 'develop'
Ent 11873 paradas planificadas de modulos ponen en modo quiet agente en vez de modulos See merge request artica/pandorafms!6345
This commit is contained in:
commit
9e747e9952
|
@ -1558,7 +1558,7 @@ function insert_downtime_agent($id_downtime, $user_groups_ad)
|
||||||
$all_modules = true;
|
$all_modules = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($all_common_modules === true) {
|
if ($all_common_modules === true || $all_modules === true) {
|
||||||
$module_names = explode(',', get_parameter('all_common_modules'));
|
$module_names = explode(',', get_parameter('all_common_modules'));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1602,7 +1602,7 @@ function insert_downtime_agent($id_downtime, $user_groups_ad)
|
||||||
foreach ($agents as $agent_id) {
|
foreach ($agents as $agent_id) {
|
||||||
$agent_id = (int) $agent_id;
|
$agent_id = (int) $agent_id;
|
||||||
// Check module belongs to the agent.
|
// Check module belongs to the agent.
|
||||||
if ($modules_selection_mode == 'all' && $all_modules === false) {
|
if ($modules_selection_mode == 'all' && ($all_modules === false || $all_modules === true)) {
|
||||||
$check = false;
|
$check = false;
|
||||||
foreach ($module_names as $module_name) {
|
foreach ($module_names as $module_name) {
|
||||||
$check_module = modules_get_agentmodule_id(
|
$check_module = modules_get_agentmodule_id(
|
||||||
|
@ -1666,7 +1666,7 @@ function insert_downtime_agent($id_downtime, $user_groups_ad)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($result !== false && (bool) $all_modules === false) {
|
if ($result !== false && ((bool) $all_modules === false || (bool) $all_modules === true)) {
|
||||||
foreach ($module_names as $module_name) {
|
foreach ($module_names as $module_name) {
|
||||||
$module = modules_get_agentmodule_id(
|
$module = modules_get_agentmodule_id(
|
||||||
$module_name,
|
$module_name,
|
||||||
|
|
|
@ -620,45 +620,33 @@ function planned_downtimes_stop($downtime)
|
||||||
|
|
||||||
$count = 0;
|
$count = 0;
|
||||||
foreach ($agents as $agent) {
|
foreach ($agents as $agent) {
|
||||||
if ($agent['all_modules']) {
|
$modules = db_get_all_rows_filter(
|
||||||
|
'tplanned_downtime_modules',
|
||||||
|
[
|
||||||
|
'id_agent' => $agent['id_agent'],
|
||||||
|
'id_downtime' => $id_downtime,
|
||||||
|
]
|
||||||
|
);
|
||||||
|
if (empty($modules)) {
|
||||||
|
$modules = [];
|
||||||
|
}
|
||||||
|
|
||||||
|
foreach ($modules as $module) {
|
||||||
$result = db_process_sql_update(
|
$result = db_process_sql_update(
|
||||||
'tagente',
|
'tagente_modulo',
|
||||||
['quiet' => 0],
|
[
|
||||||
['id_agente' => $agent['id_agent']]
|
'quiet' => 0,
|
||||||
|
'quiet_by_downtime' => 0,
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'quiet_by_downtime' => 1,
|
||||||
|
'id_agente_modulo' => $module['id_agent_module'],
|
||||||
|
]
|
||||||
);
|
);
|
||||||
|
|
||||||
if ($result) {
|
if ($result) {
|
||||||
$count++;
|
$count++;
|
||||||
}
|
}
|
||||||
} else {
|
|
||||||
$modules = db_get_all_rows_filter(
|
|
||||||
'tplanned_downtime_modules',
|
|
||||||
[
|
|
||||||
'id_agent' => $agent['id_agent'],
|
|
||||||
'id_downtime' => $id_downtime,
|
|
||||||
]
|
|
||||||
);
|
|
||||||
if (empty($modules)) {
|
|
||||||
$modules = [];
|
|
||||||
}
|
|
||||||
|
|
||||||
foreach ($modules as $module) {
|
|
||||||
$result = db_process_sql_update(
|
|
||||||
'tagente_modulo',
|
|
||||||
[
|
|
||||||
'quiet' => 0,
|
|
||||||
'quiet_by_downtime' => 0,
|
|
||||||
],
|
|
||||||
[
|
|
||||||
'quiet_by_downtime' => 1,
|
|
||||||
'id_agente_modulo' => $module['id_agent_module'],
|
|
||||||
]
|
|
||||||
);
|
|
||||||
|
|
||||||
if ($result) {
|
|
||||||
$count++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -2660,30 +2660,23 @@ sub pandora_planned_downtime_set_quiet_elements($$$) {
|
||||||
WHERE id_downtime = ' . $downtime_id);
|
WHERE id_downtime = ' . $downtime_id);
|
||||||
|
|
||||||
foreach my $downtime_agent (@downtime_agents) {
|
foreach my $downtime_agent (@downtime_agents) {
|
||||||
if ($downtime_agent->{'all_modules'}) {
|
my @downtime_modules = get_db_rows($dbh, 'SELECT *
|
||||||
db_do ($dbh, 'UPDATE tagente
|
|
||||||
SET quiet = 1
|
|
||||||
WHERE id_agente = ?', $downtime_agent->{'id_agent'});
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
my @downtime_modules = get_db_rows($dbh, 'SELECT *
|
|
||||||
FROM tplanned_downtime_modules
|
FROM tplanned_downtime_modules
|
||||||
WHERE id_agent = ' . $downtime_agent->{'id_agent'} . '
|
WHERE id_agent = ' . $downtime_agent->{'id_agent'} . '
|
||||||
AND id_downtime = ' . $downtime_id);
|
AND id_downtime = ' . $downtime_id);
|
||||||
|
|
||||||
foreach my $downtime_module (@downtime_modules) {
|
foreach my $downtime_module (@downtime_modules) {
|
||||||
# If traversed module was already quiet, do not set quiet_by_downtime flag.
|
# If traversed module was already quiet, do not set quiet_by_downtime flag.
|
||||||
# quiet_by_downtime is used to avoid setting the module back to quiet=0 when downtime is over for those modules that were quiet before the downtime.
|
# quiet_by_downtime is used to avoid setting the module back to quiet=0 when downtime is over for those modules that were quiet before the downtime.
|
||||||
db_do ($dbh, 'UPDATE tagente_modulo
|
db_do ($dbh, 'UPDATE tagente_modulo
|
||||||
SET quiet_by_downtime = 1
|
SET quiet_by_downtime = 1
|
||||||
WHERE quiet = 0 && id_agente_modulo = ?',
|
WHERE quiet = 0 && id_agente_modulo = ?',
|
||||||
$downtime_module->{'id_agent_module'});
|
$downtime_module->{'id_agent_module'});
|
||||||
|
|
||||||
db_do ($dbh, 'UPDATE tagente_modulo
|
db_do ($dbh, 'UPDATE tagente_modulo
|
||||||
SET quiet = 1
|
SET quiet = 1
|
||||||
WHERE id_agente_modulo = ?',
|
WHERE id_agente_modulo = ?',
|
||||||
$downtime_module->{'id_agent_module'});
|
$downtime_module->{'id_agent_module'});
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue