summaryrefslogtreecommitdiffstats
path: root/modules-available/statistics/pages
diff options
context:
space:
mode:
authorSimon Rettberg2020-04-16 12:32:43 +0200
committerSimon Rettberg2020-04-16 12:32:43 +0200
commitf5260ab67219a48bdc97aa7ffab5c1ed5845f2f5 (patch)
tree46a01714755d76f3427ab73feb80955d3dbbbd9a /modules-available/statistics/pages
parent[statistics] Show current user in client list (diff)
downloadslx-admin-f5260ab67219a48bdc97aa7ffab5c1ed5845f2f5.tar.gz
slx-admin-f5260ab67219a48bdc97aa7ffab5c1ed5845f2f5.tar.xz
slx-admin-f5260ab67219a48bdc97aa7ffab5c1ed5845f2f5.zip
[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.
Diffstat (limited to 'modules-available/statistics/pages')
-rw-r--r--modules-available/statistics/pages/list.inc.php15
1 files changed, 14 insertions, 1 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;
+ }
+
}