From b8b438ce11d1908f757ecadef728d01a82e3c438 Mon Sep 17 00:00:00 2001 From: Ted Trask Date: Wed, 7 Jun 2017 15:08:51 +0000 Subject: Modify bulkdumpdevices to only show editable values and add bulkdumprawdevices (cherry picked from commit 0c9b9057fdcce2d5cfe3c6437c872bf849cb6a89) --- provisioning-model.lua | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) (limited to 'provisioning-model.lua') diff --git a/provisioning-model.lua b/provisioning-model.lua index 09b276b..c64f8dd 100644 --- a/provisioning-model.lua +++ b/provisioning-model.lua @@ -506,7 +506,7 @@ local set_device_params = function(params, editable) return params end -local get_device_values = function(device_id) +local get_device_values = function(device_id, editable) local connected local retval = {} local errtxt @@ -517,6 +517,9 @@ local get_device_values = function(device_id) "FROM (devices_to_classes d2t JOIN provisioning_classes t USING(class_id) JOIN classes_to_param_groups t2g USING(class_id) JOIN provisioning_groups g USING(group_id) ".. "JOIN param_groups_to_params g2p USING(group_id) JOIN provisioning_params p USING(param_id)) LEFT JOIN provisioning_values v ON(d2t.device_id=v.device_id AND p.param_id=v.param_id AND g.name=v.group_name ) ".. "WHERE d2t.device_id='"..provdb.escape(device_id).."'" + if editable then + sql = sql.." AND g2p.editable='t'" + end local tmp = getselectresponse(sql) -- Loop through the params and put them into the groups for i,p in ipairs(tmp) do @@ -2596,7 +2599,7 @@ mymodule.get_bulk_dump_request = function(self, clientdata) return cfe({ type="group", value=retval, label="Dump Multiple Devices" }) end -mymodule.bulk_dump_devices = function(self, dumprequest) +local dump_devices = function(self, dumprequest, editable) local connected dumprequest.value.devices = cfe({type="raw", value={}, label="devices.csv"}) local res, err = pcall(function() @@ -2618,7 +2621,7 @@ mymodule.bulk_dump_devices = function(self, dumprequest) end -- Capture all of the params - devicevalues[i] = get_device_values(d.device_id) + devicevalues[i] = get_device_values(d.device_id, editable) for class,value in pairs(devicevalues[i].value) do for param in pairs(value) do if not reversecolumns[class.."."..param] then @@ -2675,4 +2678,12 @@ mymodule.bulk_dump_devices = function(self, dumprequest) return dumprequest end +mymodule.bulk_dump_devices = function(self, dumprequest) + return dump_devices(self, dumprequest, true) +end + +mymodule.bulk_dump_raw_devices = function(self, dumprequest) + return dump_devices(self, dumprequest, false) +end + return mymodule -- cgit v1.2.3