summaryrefslogtreecommitdiffstats
path: root/modules-available
diff options
context:
space:
mode:
authorSimon Rettberg2019-04-16 17:55:50 +0200
committerSimon Rettberg2019-04-16 17:58:06 +0200
commitaea72c6524ab9fecd0834f698712e4b9d0ff9c18 (patch)
tree18369d8773fff286e9ea8c36631f6f9885eb0d07 /modules-available
parent[serversetup-bwlp-ipxe] Make sure we always have a default entry (diff)
downloadslx-admin-aea72c6524ab9fecd0834f698712e4b9d0ff9c18.tar.gz
slx-admin-aea72c6524ab9fecd0834f698712e4b9d0ff9c18.tar.xz
slx-admin-aea72c6524ab9fecd0834f698712e4b9d0ff9c18.zip
[roomplanner] Don't generate roomplan if pointless
If a UUID for a machine is passed that maps into a location by its IP address, but doesn't have a position in it, don't render a SVG for that location, unless the locationid is explicitly specified too.
Diffstat (limited to 'modules-available')
-rw-r--r--modules-available/roomplanner/inc/pvsgenerator.inc.php10
1 files changed, 6 insertions, 4 deletions
diff --git a/modules-available/roomplanner/inc/pvsgenerator.inc.php b/modules-available/roomplanner/inc/pvsgenerator.inc.php
index 6bc8ebee..e05ee1f1 100644
--- a/modules-available/roomplanner/inc/pvsgenerator.inc.php
+++ b/modules-available/roomplanner/inc/pvsgenerator.inc.php
@@ -159,11 +159,13 @@ class PvsGenerator
public static function generateSvg($locationId = false, $highlightUuid = false, $rotate = 0)
{
if ($locationId === false) {
- $locationId = Database::queryFirst('SELECT locationid FROM machine WHERE machineuuid = :uuid',
+ $locationId = Database::queryFirst('SELECT fixedlocationid FROM machine
+ WHERE machineuuid = :uuid AND Length(position) > 5',
['uuid' => $highlightUuid]);
- if ($locationId !== false) {
- $locationId = $locationId['locationid'];
- }
+ // Not found or not placed in room plan -- bail out
+ if ($locationId === false || $locationId['fixedlocationid'] === null)
+ return false;
+ $locationId = $locationId['fixedlocationid'];
}
$machines = self::getMachines($locationId);
if (empty($machines))