From 415e67ebad924fa0764a34e0811860d6b4a1e2c0 Mon Sep 17 00:00:00 2001 From: Alejandro Gallardo Escobar Date: Thu, 19 Feb 2015 20:13:56 +0100 Subject: [PATCH] Fixed an error which prevented an user with strict ACL to see some agents --- .../operation/agentes/estado_agente.php | 31 +++++++++++-------- 1 file changed, 18 insertions(+), 13 deletions(-) diff --git a/pandora_console/operation/agentes/estado_agente.php b/pandora_console/operation/agentes/estado_agente.php index 05a96a5ec6..e5139eff79 100644 --- a/pandora_console/operation/agentes/estado_agente.php +++ b/pandora_console/operation/agentes/estado_agente.php @@ -197,12 +197,14 @@ echo ' '; echo ''; -echo '
'; -echo '
'; - html_print_input_hidden ('new_agent', 1); - html_print_submit_button (__('Create agent'), 'crt', false, 'class="sub next"'); -echo "
"; -echo '
'; +if (check_acl ($config['id_user'], 0, "AW") || check_acl ($config['id_user'], 0, "AM")) { + echo '
'; + echo '
'; + html_print_input_hidden ('new_agent', 1); + html_print_submit_button (__('Create agent'), 'crt', false, 'class="sub next"'); + echo "
"; + echo '
'; +} if ($search != "") { $filter = array ("string" => '%' . $search . '%'); @@ -349,6 +351,11 @@ else { if ($strict_user) { + $count_filter = array ( + 'order' => 'tagente.nombre COLLATE utf8_general_ci ASC', + 'disabled' => 0, + 'status' => $status, + 'search' => $search); $filter = array ( 'order' => 'tagente.nombre COLLATE utf8_general_ci ASC', 'disabled' => 0, @@ -363,23 +370,21 @@ if ($strict_user) { $groups = groups_get_id_recursive($group_id, true); } $filter['id_group'] = implode(',', $groups); + $count_filter['id_group'] = $filter['id_group']; } $fields = array ('tagente.id_agente','tagente.id_grupo','tagente.id_os','tagente.ultimo_contacto','tagente.intervalo','tagente.comentarios description','tagente.quiet', 'tagente.normal_count','tagente.warning_count','tagente.critical_count','tagente.unknown_count','tagente.notinit_count','tagente.total_count','tagente.fired_count'); - $acltags = tags_get_user_module_and_tags ($config['id_user'],'AR', $strict_user); + $acltags = tags_get_user_module_and_tags ($config['id_user'], 'AR', $strict_user); + $total_agents = tags_get_all_user_agents (false, $config['id_user'], $acltags, $count_filter, $fields, false, $strict_user, true); + $total_agents = count($total_agents); $agents = tags_get_all_user_agents (false, $config['id_user'], $acltags, $filter, $fields, false, $strict_user, true); - $total_agents = count($agents); } else { - $total_agents = 0; - $agents = false; - - $total_agents = agents_get_agents(array ( 'disabled' => 0, 'id_grupo' => $groups, @@ -396,7 +401,7 @@ else { 'status' => $status, 'search' => $search_sql, 'offset' => (int) get_parameter ('offset'), - 'limit' => (int) $config['block_size'] ), + 'limit' => (int) $config['block_size']), array ('id_agente', 'id_grupo',