diff options
author | Simon Rettberg | 2019-04-16 17:55:50 +0200 |
---|---|---|
committer | Simon Rettberg | 2019-04-16 17:55:50 +0200 |
commit | b75645cc1b0d088d895bbe7561c5a86b84d4a0bb (patch) | |
tree | f563195e879fded04a20b39be1451874f2fd3661 /modules-available | |
parent | [serversetup-bwlp-ipxe] Make sure we always have a default entry (diff) | |
download | slx-admin-b75645cc1b0d088d895bbe7561c5a86b84d4a0bb.tar.gz slx-admin-b75645cc1b0d088d895bbe7561c5a86b84d4a0bb.tar.xz slx-admin-b75645cc1b0d088d895bbe7561c5a86b84d4a0bb.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.php | 10 |
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)) |