Merge branch '2865-Problema-con-el-filtro-de-grupo-en-Agent-Module-View-dev' into 'develop'
Fixed filter group in agents/modules view See merge request artica/pandorafms!1892
This commit is contained in:
commit
ae6f746d41
|
@ -921,6 +921,10 @@ function agents_get_group_agents (
|
||||||
unset ($search["alias"]);
|
unset ($search["alias"]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (isset($search['id_os'])) {
|
||||||
|
$filter[] = "id_os = ". $search['id_os'];
|
||||||
|
}
|
||||||
|
|
||||||
if (isset($search['status'])) {
|
if (isset($search['status'])) {
|
||||||
switch ($search['status']) {
|
switch ($search['status']) {
|
||||||
case AGENT_STATUS_NORMAL:
|
case AGENT_STATUS_NORMAL:
|
||||||
|
|
|
@ -60,26 +60,9 @@ if (is_ajax ()) {
|
||||||
$keys_prefix = (string) get_parameter ('keys_prefix', '');
|
$keys_prefix = (string) get_parameter ('keys_prefix', '');
|
||||||
$status_agents = (int)get_parameter('status_agents', AGENT_STATUS_ALL);
|
$status_agents = (int)get_parameter('status_agents', AGENT_STATUS_ALL);
|
||||||
|
|
||||||
if ($id_group > 0) {
|
|
||||||
$groups = array($id_group);
|
|
||||||
if ($recursion === 'true' || $recursion == 1 ) {
|
|
||||||
$groups = array_merge($groups,
|
|
||||||
groups_get_id_recursive($id_group, true));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
$groups_orig = users_get_groups(false, $privilege, false);
|
|
||||||
$groups = array_keys($groups_orig);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Build filter
|
// Build filter
|
||||||
$filter = array();
|
$filter = array();
|
||||||
// Group filter (primary and secondary)
|
|
||||||
$filter[] = "(" .db_format_array_where_clause_sql(
|
|
||||||
array('id_grupo' => $groups, 'id_group' => $groups),
|
|
||||||
'OR'
|
|
||||||
) . ")";
|
|
||||||
|
|
||||||
if (!empty($id_os))
|
if (!empty($id_os))
|
||||||
$filter['id_os'] = $id_os;
|
$filter['id_os'] = $id_os;
|
||||||
if (!empty($agent_name))
|
if (!empty($agent_name))
|
||||||
|
@ -87,44 +70,7 @@ if (is_ajax ()) {
|
||||||
if (!empty($agent_alias))
|
if (!empty($agent_alias))
|
||||||
$filter['alias'] = '%' . $agent_alias . '%';
|
$filter['alias'] = '%' . $agent_alias . '%';
|
||||||
|
|
||||||
switch ($status_agents) {
|
$filter['status'] = $status_agents;
|
||||||
case AGENT_STATUS_NORMAL:
|
|
||||||
$filter[] = "(
|
|
||||||
critical_count = 0
|
|
||||||
AND warning_count = 0
|
|
||||||
AND unknown_count = 0
|
|
||||||
AND normal_count > 0)";
|
|
||||||
break;
|
|
||||||
case AGENT_STATUS_WARNING:
|
|
||||||
$filter[] = "(
|
|
||||||
critical_count = 0
|
|
||||||
AND warning_count > 0
|
|
||||||
AND total_count > 0)";
|
|
||||||
break;
|
|
||||||
case AGENT_STATUS_CRITICAL:
|
|
||||||
$filter[] = "(critical_count > 0)";
|
|
||||||
break;
|
|
||||||
case AGENT_STATUS_UNKNOWN:
|
|
||||||
$filter[] = "(
|
|
||||||
critical_count = 0
|
|
||||||
AND warning_count = 0
|
|
||||||
AND unknown_count > 0)";
|
|
||||||
break;
|
|
||||||
case AGENT_STATUS_NOT_NORMAL:
|
|
||||||
$filter[] = "(
|
|
||||||
critical_count > 0
|
|
||||||
OR warning_count > 0
|
|
||||||
OR unknown_count > 0
|
|
||||||
OR total_count = 0
|
|
||||||
OR total_count = notinit_count)";
|
|
||||||
break;
|
|
||||||
case AGENT_STATUS_NOT_INIT:
|
|
||||||
$filter[] = "(
|
|
||||||
total_count = 0
|
|
||||||
OR total_count = notinit_count)";
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
$filter['order'] = "alias ASC";
|
|
||||||
|
|
||||||
if($cluster_mode){
|
if($cluster_mode){
|
||||||
|
|
||||||
|
@ -162,28 +108,18 @@ if (is_ajax ()) {
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
$filter['group'] = 'id_agente';
|
|
||||||
|
|
||||||
// Build fields
|
|
||||||
$fields = array('id_agente', 'alias');
|
|
||||||
|
|
||||||
// Perform search
|
// Perform search
|
||||||
$agents = db_get_all_rows_filter(
|
$agents = agents_get_group_agents($id_group,$filter,"lower",false,false,false,'|',$cluster_mode);
|
||||||
'tagente LEFT JOIN tagent_secondary_group ON id_agente=id_agent',
|
|
||||||
$filter,
|
|
||||||
$fields
|
|
||||||
);
|
|
||||||
if (empty($agents)) $agents = array();
|
if (empty($agents)) $agents = array();
|
||||||
|
|
||||||
foreach ($agents as $k => $v) {
|
|
||||||
$agents[$k] = io_safe_output($v);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Add keys prefix
|
// Add keys prefix
|
||||||
if ($keys_prefix !== '') {
|
if ($keys_prefix !== '') {
|
||||||
|
$i = 0;
|
||||||
foreach ($agents as $k => $v) {
|
foreach ($agents as $k => $v) {
|
||||||
$agents[$keys_prefix . $k] = io_safe_output($v);
|
$agents[$keys_prefix . $i] = array('id_agente' => $k, 'alias' => io_safe_output($v));
|
||||||
unset($agents[$k]);
|
unset($agents[$k]);
|
||||||
|
$i++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue