diff options
author | Simon Rettberg | 2020-05-19 15:37:44 +0200 |
---|---|---|
committer | Simon Rettberg | 2020-05-19 15:37:44 +0200 |
commit | c2e20fb1b18119eb98052661bbefae88f045b0cc (patch) | |
tree | 54d8b0600504119603fb4b286bcd60e00db04ebe /modules-available/locations | |
parent | [locationinfo] Make colors for idle clients more distinct from offline (diff) | |
download | slx-admin-c2e20fb1b18119eb98052661bbefae88f045b0cc.tar.gz slx-admin-c2e20fb1b18119eb98052661bbefae88f045b0cc.tar.xz slx-admin-c2e20fb1b18119eb98052661bbefae88f045b0cc.zip |
[locations] Show colored bars for used/idle/offline in overview
Diffstat (limited to 'modules-available/locations')
-rw-r--r-- | modules-available/locations/pages/locations.inc.php | 16 | ||||
-rw-r--r-- | modules-available/locations/style.css | 5 | ||||
-rw-r--r-- | modules-available/locations/templates/locations.html | 14 |
3 files changed, 22 insertions, 13 deletions
diff --git a/modules-available/locations/pages/locations.inc.php b/modules-available/locations/pages/locations.inc.php index 54f44554..8afb454a 100644 --- a/modules-available/locations/pages/locations.inc.php +++ b/modules-available/locations/pages/locations.inc.php @@ -90,8 +90,7 @@ class SubPage unset($locationList[0]); // Statistics: Count machines for each subnet $unassigned = false; - $unassignedLoad = 0; - $unassignedOverrides = 0; + $unassignedIdle = $unassignedLoad = $unassignedOverrides = 0; $allowedLocationIds = User::getAllowedLocations("location.view"); foreach (array_keys($locationList) as $lid) { @@ -119,16 +118,19 @@ class SubPage if (in_array(0, $allowedLocationIds)) { $extra = ' OR locationid IS NULL'; } - $res = Database::simpleQuery("SELECT m.locationid, Count(*) AS cnt, Sum(If(m.state = 'OCCUPIED', 1, 0)) AS used + $res = Database::simpleQuery("SELECT m.locationid, Count(*) AS cnt, + Sum(If(m.state = 'OCCUPIED', 1, 0)) AS used, Sum(If(m.state = 'IDLE', 1, 0)) AS idle FROM machine m WHERE (locationid IN (:allowedLocationIds) $extra) GROUP BY locationid", compact('allowedLocationIds')); while ($row = $res->fetch(PDO::FETCH_ASSOC)) { $locId = (int)$row['locationid']; if (isset($locationList[$locId])) { $locationList[$locId]['clientCount'] = $row['cnt']; - $locationList[$locId]['clientLoad'] = round(100 * $row['used'] / $row['cnt']) . ' %'; + $locationList[$locId]['clientLoad'] = round(100 * $row['used'] / $row['cnt']); + $locationList[$locId]['clientIdle'] = round(100 * ($row['used'] + $row['idle']) / $row['cnt']); } else { $unassigned += $row['cnt']; $unassignedLoad += $row['used']; + $unassignedIdle += $row['idle']; } } $res = Database::simpleQuery("SELECT m.locationid, Count(DISTINCT sm.machineuuid) AS cnt FROM setting_machine sm @@ -149,8 +151,7 @@ class SubPage $loc['clientCountSum'] = 0; } if (!isset($loc['clientCount'])) { - $loc['clientCount'] = 0; - $loc['clientLoad'] = '0%'; + $loc['clientCount'] = $loc['clientIdle'] = $loc['clientLoad'] = 0; } $loc['clientCountSum'] += $loc['clientCount']; foreach ($loc['parents'] as $pid) { @@ -233,7 +234,8 @@ class SubPage 'overlapOther' => $overlapOther, 'mismatchMachines' => $mismatchMachines, 'unassignedCount' => $unassigned, - 'unassignedLoad' => ($unassigned ? (round(($unassignedLoad / $unassigned) * 100) . ' %') : ''), + 'unassignedLoad' => ($unassigned ? (round(($unassignedLoad / $unassigned) * 100)) : ''), + 'unassignedIdle' => ($unassigned ? (round((($unassignedLoad + $unassignedIdle) / $unassigned) * 100)) : ''), 'unassignedOverrides' => $unassignedOverrides, 'defaultConfig' => $defaultConfig, 'addAllowedList' => array_values($addAllowedList), diff --git a/modules-available/locations/style.css b/modules-available/locations/style.css index 042ac4d1..19950a38 100644 --- a/modules-available/locations/style.css +++ b/modules-available/locations/style.css @@ -12,3 +12,8 @@ table.locations tbody td:nth-of-type(even) { pointer-events: none; opacity: 0.6; } + +.load-col { + text-align: right; + text-shadow: 1px 1px #fff; +}
\ No newline at end of file diff --git a/modules-available/locations/templates/locations.html b/modules-available/locations/templates/locations.html index e2224bc0..7adfe2fc 100644 --- a/modules-available/locations/templates/locations.html +++ b/modules-available/locations/templates/locations.html @@ -71,10 +71,10 @@ </span> {{/havestatistics}} </td> - <td class="text-nowrap" align="right"> - {{#havestatistics}} - {{clientLoad}} - {{/havestatistics}} + <td class="text-nowrap load-col" {{#clientCount}} style="background:linear-gradient(to right, #f97, #f97 {{clientLoad}}%, #6fa {{clientLoad}}%, #6fa {{clientIdle}}%, #eee {{clientIdle}}%)"{{/clientCount}}> + {{#clientCount}} + {{clientLoad}} % + {{/clientCount}} </td> <td class="text-nowrap {{overriddenClass}}"> {{#havebaseconfig}} @@ -125,8 +125,10 @@ </a> <span style="display:inline-block;width:5ex"></span> </td> - <td class="text-nowrap" align="right"> - {{unassignedLoad}} + <td class="text-nowrap load-col"{{#unassignedCount}} style="background:linear-gradient(to right, #f97, #f97 {{unassignedLoad}}%, #6fa {{unassignedLoad}}%, #6fa {{unassignedIdle}}%, #eee {{unassignedIdle}}%)"{{/unassignedCount}}> + {{#unassignedCount}} + {{unassignedLoad}} % + {{/unassignedCount}} </td> <td> {{#unassignedOverrides}} |