diff options
Diffstat (limited to 'modules-available/statistics/inc/hardwareinfo.inc.php')
-rw-r--r-- | modules-available/statistics/inc/hardwareinfo.inc.php | 10 |
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'); |