From 346c60a8472d1baa8b8eef9567ffb6b5ff06bc6c Mon Sep 17 00:00:00 2001 From: Simon Rettberg Date: Thu, 16 Apr 2020 12:32:43 +0200 Subject: [statistics] Make sort order in client list match the location tree It's still not showing the actual tree, but sorting is the same as the location list now, but obviously skipping locations where no clients match the display filter. --- modules-available/statistics/pages/list.inc.php | 15 ++++++++++++++- modules-available/statistics/templates/clientlist.html | 2 +- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/modules-available/statistics/pages/list.inc.php b/modules-available/statistics/pages/list.inc.php index 97133aa2..4df60044 100644 --- a/modules-available/statistics/pages/list.inc.php +++ b/modules-available/statistics/pages/list.inc.php @@ -63,6 +63,7 @@ class SubPage $execAllowedLocations = User::getAllowedLocations('.rebootcontrol.action.exec'); // Only make client clickable if user is allowed to view details page $detailsAllowedLocations = User::getAllowedLocations("machine.view-details"); + $location = self::buildLocationLookup(); while ($row = $res->fetch(PDO::FETCH_ASSOC)) { if ($singleMachine === 'none') { $singleMachine = $row['machineuuid']; @@ -107,7 +108,9 @@ class SubPage } } $row['state_' . $row['state']] = true; - $row['locationname'] = Location::getName($row['locationid']); + if ($row['locationid'] > 0) { + $row['location'] = $location[$row['locationid']]; + } $rows[] = $row; } if ($singleMachine !== false && $singleMachine !== 'none') { @@ -134,4 +137,14 @@ class SubPage Render::addTemplate('clientlist', $data); } + private static function buildLocationLookup() + { + $ret = []; + $i = 0; + foreach (Location::getLocationsAssoc() as $lid => $data) { + $ret[$lid] = ['sort' => ++$i, 'name' => $data['locationname']]; + } + return $ret; + } + } diff --git a/modules-available/statistics/templates/clientlist.html b/modules-available/statistics/templates/clientlist.html index 6fee9f27..e9d0aeca 100644 --- a/modules-available/statistics/templates/clientlist.html +++ b/modules-available/statistics/templates/clientlist.html @@ -128,7 +128,7 @@ {{/nohdd}} {{lang_realCores}}: {{realcores}}
{{cpumodel}}
- {{locationname}} + {{location.name}} {{/rows}} -- cgit v1.2.3-55-g7522