summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSimon Rettberg2019-04-16 17:55:50 +0200
committerSimon Rettberg2019-04-16 17:55:50 +0200
commitb75645cc1b0d088d895bbe7561c5a86b84d4a0bb (patch)
treef563195e879fded04a20b39be1451874f2fd3661
parent[serversetup-bwlp-ipxe] Make sure we always have a default entry (diff)
downloadslx-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.
-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))