#12688 fixed filter module status in tree

This commit is contained in:
Daniel Cebrian 2023-12-26 17:06:16 +01:00
parent ec98e84b02
commit 83c6d3735e
2 changed files with 11 additions and 7 deletions

View File

@ -303,18 +303,23 @@ class Tree
$this->filter['statusModule'] = -1;
}
$filter_status = '';
if ((int) $this->filter['statusModule'] !== -1 && $this->type === 'module') {
$filter_status = ' AND tae.estado = '.$this->filter['statusModule'];
}
$show_init_condition = ($this->filter['show_not_init_agents']) ? '' : ' AND ta.notinit_count <> ta.total_count';
if ($this->getEmptyModuleFilterStatus()) {
return $show_init_condition;
return $show_init_condition.$filter_status;
}
if ((int) $this->filter['statusModule'] === 6) {
return ' AND (ta.warning_count > 0 OR ta.critical_count > 0)';
return ' AND (ta.warning_count > 0 OR ta.critical_count > 0)'.$filter_status;
}
if ($this->filter['statusModule'] === 'fired') {
return ' AND ta.fired_count > 0';
return ' AND ta.fired_count > 0'.$filter_status;
}
$field_filter = modules_get_counter_by_states($this->filter['statusModule']);
@ -322,7 +327,7 @@ class Tree
return ' AND 1=0';
}
return "AND ta.$field_filter > 0".$show_init_condition;
return "AND ta.$field_filter > 0".$show_init_condition.$filter_status;
}

View File

@ -28,9 +28,8 @@ class TreeModule extends Tree
$this->L1fieldNameSql = 'tam.nombre';
$this->L1inner = '';
$this->L1orderByFinal = 'name';
$this->L1innerInside = 'INNER JOIN tagente_modulo tam
ON ta.id_agente = tam.id_agente';
$this->L1innerInside = 'INNER JOIN tagente_modulo tam ON ta.id_agente = tam.id_agente
INNER JOIN tagente_estado tae ON tae.id_agente_modulo = tam.id_agente_modulo';
$this->L2condition = "AND tam.nombre = '".$this->symbol2name($this->rootID)."'";
}