From 04649dee00d8d0b25ffa8cab410d7f687a6768d3 Mon Sep 17 00:00:00 2001 From: Jorge Rincon Date: Mon, 13 Nov 2023 13:41:47 +0100 Subject: [PATCH] #12168 Fixed sql bringing main services --- .../include/class/TreeService.class.php | 16 ++++++---------- .../include/javascript/tree/TreeController.js | 1 + 2 files changed, 7 insertions(+), 10 deletions(-) diff --git a/pandora_console/include/class/TreeService.class.php b/pandora_console/include/class/TreeService.class.php index b218468de3..a627794f0e 100644 --- a/pandora_console/include/class/TreeService.class.php +++ b/pandora_console/include/class/TreeService.class.php @@ -738,19 +738,15 @@ class TreeService extends Tree $filterResult = db_get_all_rows_sql($sqlFilter); + $services = []; foreach ($filterResult as $key => $result) { - $ancestors = services_get_services_ancestors($result['id']); - $idAncestors = implode(',', $ancestors); - $numAncestors = count($ancestors); - if ($numAncestors > 1) { - $whereAncestors = ' AND tse.id_service_child in ('.$idAncestors.')'; - } else if ($numAncestors == 1) { - $whereAncestors = ' AND ts.id ='.$idAncestors; - } else { - $whereAncestors = ' AND ts.id ='.$result['id']; - } + $services_ancestors = services_get_services_ancestors($result['id']); + $services[] = array_pop($services_ancestors); } + $services_list = array_unique($services, SORT_NUMERIC); + $whereAncestors = ' AND tse.id_service IN ('.implode(',', $services_list).')'; + return $whereAncestors; } diff --git a/pandora_console/include/javascript/tree/TreeController.js b/pandora_console/include/javascript/tree/TreeController.js index d8a6daf468..4f850e32d5 100644 --- a/pandora_console/include/javascript/tree/TreeController.js +++ b/pandora_console/include/javascript/tree/TreeController.js @@ -1561,6 +1561,7 @@ var TreeController = { * Filter the tree based on a search criterion */ function _filterItems(rawTree, searched) { + console.log(rawTree); const ancestors = []; const father = []; const newTree = [];