diff options
author | Simon Rettberg | 2020-04-16 12:32:43 +0200 |
---|---|---|
committer | Simon Rettberg | 2020-04-16 12:32:43 +0200 |
commit | f5260ab67219a48bdc97aa7ffab5c1ed5845f2f5 (patch) | |
tree | 46a01714755d76f3427ab73feb80955d3dbbbd9a /modules-available/statistics/pages | |
parent | [statistics] Show current user in client list (diff) | |
download | slx-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.php | 15 |
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; + } + } |