summaryrefslogtreecommitdiffstats
path: root/modules-available/statistics/inc/hardwareinfo.inc.php
diff options
context:
space:
mode:
Diffstat (limited to 'modules-available/statistics/inc/hardwareinfo.inc.php')
-rw-r--r--modules-available/statistics/inc/hardwareinfo.inc.php10
1 files changed, 7 insertions, 3 deletions
diff --git a/modules-available/statistics/inc/hardwareinfo.inc.php b/modules-available/statistics/inc/hardwareinfo.inc.php
index ed47c153..df33a5f6 100644
--- a/modules-available/statistics/inc/hardwareinfo.inc.php
+++ b/modules-available/statistics/inc/hardwareinfo.inc.php
@@ -29,7 +29,7 @@ class HardwareInfo
$mac = Request::get('mac', '', 'string');
$mac = str_replace(':', '-', $mac);
}
- $res = Database::simpleQuery("SELECT machineuuid, lastseen, cpumodel FROM machine
+ $res = Database::simpleQuery("SELECT machineuuid, lastseen, cpumodel, locationid FROM machine
WHERE machineuuid = :uuid OR macaddr = :mac", ['uuid' => $uuid, 'mac' => $mac]);
$best = null;
foreach ($res as $row) {
@@ -37,11 +37,15 @@ class HardwareInfo
$best = $row;
}
}
- if ($best === null)
+ if ($best === null || ((int)$best['locationid']) === 0)
+ return '';
+ $locations = Location::getLocationRootChain($best['locationid']);
+ if (empty($locations))
return '';
$hw = new HardwareQuery(self::PCI_DEVICE, $best['machineuuid'], true);
// TODO: Get list of enabled pass through groups for this client's location
- $hw->addWhere(true, '@PASSTHROUGH', 'IN', ['GPU', 'GVT']);
+ $hw->addJoin(true, '@PASSTHROUGH', 'passthrough_group_x_location', 'groupid',
+ 'locationid', $locations);
$hw->addGlobalColumn('vendor');
$hw->addGlobalColumn('device');
$hw->addLocalColumn('slot');