fixed minor error not init agent in tree view node
This commit is contained in:
parent
3b0436008a
commit
4781809e14
|
@ -950,7 +950,7 @@ class Tree {
|
|||
SUM(if(%s, 1, 0)) as state_unknown,
|
||||
SUM(if(%s, 1, 0)) as state_notinit,
|
||||
SUM(if(%s, 1, 0)) as state_normal,
|
||||
SUM(if(%s, 1, 0)) as state_total
|
||||
SUM(if(%s AND tae.estado IS NOT NULL, 1, 0)) as state_total
|
||||
",
|
||||
$this->getModuleStatusFilterFromTestado(AGENT_MODULE_STATUS_CRITICAL_ALERT, true),
|
||||
$this->getModuleStatusFilterFromTestado(AGENT_MODULE_STATUS_WARNING_ALERT, true),
|
||||
|
@ -977,7 +977,8 @@ class Tree {
|
|||
FROM tagente ta
|
||||
$inner_or_left JOIN tagente_modulo tam
|
||||
ON ta.id_agente = tam.id_agente
|
||||
INNER JOIN tagente_estado tae
|
||||
AND tam.disabled = 0
|
||||
$inner_or_left JOIN tagente_estado tae
|
||||
ON tae.id_agente_modulo = tam.id_agente_modulo
|
||||
$inner
|
||||
WHERE ta.id_agente IN
|
||||
|
@ -992,14 +993,13 @@ class Tree {
|
|||
$group_search_filter
|
||||
$condition_inside
|
||||
)
|
||||
AND ta.disabled = 0 AND tam.disabled = 0
|
||||
AND ta.disabled = 0
|
||||
$condition
|
||||
$agent_search_filter
|
||||
$agent_status_filter
|
||||
$module_search_filter
|
||||
$module_status_filter
|
||||
GROUP BY ta.id_agente
|
||||
HAVING state_total > 0
|
||||
ORDER BY ta.alias ASC, ta.id_agente ASC
|
||||
";
|
||||
|
||||
|
|
|
@ -28,7 +28,6 @@ class TreeGroup extends Tree {
|
|||
$this->L1fieldName = "id_group";
|
||||
$this->L1extraFields = array(
|
||||
"tg.nombre AS `name`",
|
||||
$this->getDisplayHierarchy() ? 'tg.parent' : '0 as parent',
|
||||
"tg.icon",
|
||||
"tg.id_grupo AS gid"
|
||||
);
|
||||
|
@ -56,42 +55,42 @@ class TreeGroup extends Tree {
|
|||
protected function getFirstLevel() {
|
||||
$processed_items = $this->getProcessedGroups();
|
||||
|
||||
if (!empty($processed_items)) {
|
||||
// Filter by group name. This should be done after rerieving the items cause we need the possible items descendants
|
||||
if (!empty($this->filter['searchGroup'])) {
|
||||
// Save the groups which intersect with the user groups
|
||||
$groups = db_get_all_rows_filter('tgrupo', array('nombre' => '%' . $this->filter['searchGroup'] . '%'));
|
||||
if ($groups == false) $groups = array();
|
||||
$userGroupsACL = $this->userGroupsACL;
|
||||
$ids_hash = array_reduce($groups, function ($userGroups, $group) use ($userGroupsACL) {
|
||||
$group_id = $group['id_grupo'];
|
||||
if (isset($userGroupsACL[$group_id])) {
|
||||
$userGroups[$group_id] = $userGroupsACL[$group_id];
|
||||
}
|
||||
if (!empty($processed_items)) {
|
||||
// Filter by group name. This should be done after rerieving the items cause we need the possible items descendants
|
||||
if (!empty($this->filter['searchGroup'])) {
|
||||
// Save the groups which intersect with the user groups
|
||||
$groups = db_get_all_rows_filter('tgrupo', array('nombre' => '%' . $this->filter['searchGroup'] . '%'));
|
||||
if ($groups == false) $groups = array();
|
||||
$userGroupsACL = $this->userGroupsACL;
|
||||
$ids_hash = array_reduce($groups, function ($userGroups, $group) use ($userGroupsACL) {
|
||||
$group_id = $group['id_grupo'];
|
||||
if (isset($userGroupsACL[$group_id])) {
|
||||
$userGroups[$group_id] = $userGroupsACL[$group_id];
|
||||
}
|
||||
|
||||
return $userGroups;
|
||||
}, array());
|
||||
return $userGroups;
|
||||
}, array());
|
||||
|
||||
$result = self::extractGroupsWithIDs($processed_items, $ids_hash);
|
||||
$result = self::extractGroupsWithIDs($processed_items, $ids_hash);
|
||||
|
||||
$processed_items = ($result === false) ? array() : $result;
|
||||
}
|
||||
|
||||
// groupID filter. To access the view from tactical views f.e.
|
||||
if (!empty($this->filter['groupID'])) {
|
||||
$result = self::extractItemWithID($processed_items, $this->filter['groupID'], "group", $this->strictACL);
|
||||
|
||||
$processed_items = ($result === false) ? array() : array($result);
|
||||
}
|
||||
$processed_items = ($result === false) ? array() : $result;
|
||||
}
|
||||
|
||||
// groupID filter. To access the view from tactical views f.e.
|
||||
if (!empty($this->filter['groupID'])) {
|
||||
$result = self::extractItemWithID($processed_items, $this->filter['groupID'], "group", $this->strictACL);
|
||||
|
||||
$processed_items = ($result === false) ? array() : array($result);
|
||||
}
|
||||
}
|
||||
|
||||
$this->tree = $processed_items;
|
||||
}
|
||||
|
||||
protected function getProcessedGroups () {
|
||||
$processed_groups = array();
|
||||
// Index and process the groups
|
||||
$groups = $this->getGroupCounters(0);
|
||||
$groups = $this->getGroupCounters();
|
||||
|
||||
// If user have not permissions in parent, set parent node to 0 (all)
|
||||
// Avoid to do foreach for admins
|
||||
|
@ -250,6 +249,12 @@ class TreeGroup extends Tree {
|
|||
return $group_stats;
|
||||
}
|
||||
|
||||
protected function getFirstLevelFields() {
|
||||
$fields = parent::getFirstLevelFields();
|
||||
$parent = $this->getDisplayHierarchy() ? 'tg.parent' : '0 as parent';
|
||||
return "$fields, $parent";
|
||||
}
|
||||
|
||||
protected function getProcessedModules($modules_tree) {
|
||||
|
||||
$groups = array();
|
||||
|
|
Loading…
Reference in New Issue