summaryrefslogtreecommitdiffstats
path: root/provisioning-model.lua
diff options
context:
space:
mode:
authorTed Trask <ttrask01@yahoo.com>2011-10-14 14:35:27 +0000
committerTed Trask <ttrask01@yahoo.com>2011-10-18 12:55:18 +0000
commit91435344a92e1b3755969390fc660e21a891e4d4 (patch)
treee12c7ee0d0ae99c5d7de87fd59c3016dba385a6e /provisioning-model.lua
parenta47f82e3b84e6757501d1cec6a78870dc6c459c0 (diff)
downloadacf-provisioning-91435344a92e1b3755969390fc660e21a891e4d4.tar.bz2
acf-provisioning-91435344a92e1b3755969390fc660e21a891e4d4.tar.xz
Modify listdevices to also display the class values for each device
(cherry picked from commit 0501a13026838f688eb8822bf080b0040672190a)
Diffstat (limited to 'provisioning-model.lua')
-rw-r--r--provisioning-model.lua12
1 files changed, 10 insertions, 2 deletions
diff --git a/provisioning-model.lua b/provisioning-model.lua
index c68f513..9e80d92 100644
--- a/provisioning-model.lua
+++ b/provisioning-model.lua
@@ -1190,8 +1190,16 @@ list_devices = function()
-- Get the devices from the DB
local res, err = pcall(function()
local connected = databaseconnect()
- local sql = "SELECT device_id FROM devices_to_classes GROUP BY device_id ORDER BY device_id ASC"
- retval = getselectresponse(sql)
+ local sql = "SELECT device_id, c.label AS class, g.label AS group FROM devices_to_classes d2c JOIN provisioning_classes c USING(class_id) JOIN provisioning_class_groups g USING(class_group_id) ORDER BY device_id"
+ local tmp = getselectresponse(sql)
+ local reverse_device_id = {}
+ for i,d in ipairs(tmp) do
+ if not reverse_device_id[d.device_id] then
+ retval[#retval+1] = {device_id=d.device_id}
+ reverse_device_id[d.device_id] = #retval
+ end
+ retval[reverse_device_id[d.device_id]][d.group] = d.class
+ end
if connected then databasedisconnect() end
end)
if not res and err then