diff options
author | Ted Trask <ttrask01@yahoo.com> | 2017-06-07 15:08:51 +0000 |
---|---|---|
committer | Ted Trask <ttrask01@yahoo.com> | 2017-06-07 21:23:54 +0000 |
commit | d6750dc482da61f4e982d5e76f9209c6c4a69a25 (patch) | |
tree | f81538e3db7ebb8cc8f074a8184474b5a10dea39 | |
parent | 5faa32ed5c5b6f015713be86286b7cc42778da1b (diff) | |
download | acf-provisioning-d6750dc482da61f4e982d5e76f9209c6c4a69a25.tar.bz2 acf-provisioning-d6750dc482da61f4e982d5e76f9209c6c4a69a25.tar.xz |
Modify bulkdumpdevices to only show editable values and add bulkdumprawdevices
(cherry picked from commit 0c9b9057fdcce2d5cfe3c6437c872bf849cb6a89)
-rw-r--r-- | provisioning-bulkcreatedevices-html.lsp | 6 | ||||
-rw-r--r-- | provisioning-controller.lua | 4 | ||||
-rw-r--r-- | provisioning-model.lua | 17 | ||||
-rw-r--r-- | provisioning.roles | 4 |
4 files changed, 25 insertions, 6 deletions
diff --git a/provisioning-bulkcreatedevices-html.lsp b/provisioning-bulkcreatedevices-html.lsp index 0f0e45f..17907a6 100644 --- a/provisioning-bulkcreatedevices-html.lsp +++ b/provisioning-bulkcreatedevices-html.lsp @@ -13,5 +13,9 @@ html = require("acf.html") <% local viewtype = cfe({type="hidden", value="stream"}) - htmlviewfunctions.displayitem(cfe({type="form", value={viewtype=viewtype}, label="Bulk Dump Devices", option="Dump", action="bulkdumpdevices"}), page_info) + if viewlibrary.check_permission("bulkdumprawdevices") then + htmlviewfunctions.displayitem(cfe({type="form", value={viewtype=viewtype}, label="Bulk Dump Devices", option="Dump", action="bulkdumprawdevices"}), page_info) + elseif viewlibrary.check_permission("bulkdumpdevices") then + htmlviewfunctions.displayitem(cfe({type="form", value={viewtype=viewtype}, label="Bulk Dump Devices", option="Dump", action="bulkdumpdevices"}), page_info) + end %> diff --git a/provisioning-controller.lua b/provisioning-controller.lua index ab693bf..e488998 100644 --- a/provisioning-controller.lua +++ b/provisioning-controller.lua @@ -170,4 +170,8 @@ mymodule.bulkdumpdevices = function( self ) return self.handle_form(self, self.model.get_bulk_dump_request, self.model.bulk_dump_devices, self.clientdata, "Dump", "Bulk Dump Devices") end +mymodule.bulkdumprawdevices = function( self ) + return self.handle_form(self, self.model.get_bulk_dump_request, self.model.bulk_dump_raw_devices, self.clientdata, "Dump", "Bulk Dump Devices") +end + return mymodule diff --git a/provisioning-model.lua b/provisioning-model.lua index 5787daa..ebbf27d 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 diff --git a/provisioning.roles b/provisioning.roles index d69e526..17d9aa7 100644 --- a/provisioning.roles +++ b/provisioning.roles @@ -1,4 +1,4 @@ USER=provisioning:searchdevices,provisioning:listdevices,provisioning:viewdeviceparams,provisioning:searchbyextension,provisioning:searchbymac,provisioning:listrequests,provisioning:bulkdumpdevices EDITOR=provisioning:editdevice,provisioning:createdevice,provisioning:duplicatedevice,provisioning:deletedevice,provisioning:editdeviceparams,provisioning:deleterequest,provisioning:createdevicefromrequest,provisioning:bulkcreatedevices -EXPERT=provisioning:listtemplates,provisioning:edittemplate,provisioning:createtemplate,provisioning:deletetemplate,provisioning:listclassgroups,provisioning:editclassgroup,provisioning:createclassgroup,provisioning:deleteclassgroup,provisioning:listclasses,provisioning:editclass,provisioning:createclass,provisioning:deleteclass,provisioning:listgroups,provisioning:editgroup,provisioning:creategroup,provisioning:deletegroup,provisioning:listparams,provisioning:editparam,provisioning:createparam,provisioning:deleteparam,provisioning:overridedeviceparams,provisioning:editoptions,provisioning:listfiles,provisioning:editfile,provisioning:getdevicevalues -ADMIN=provisioning:listtemplates,provisioning:edittemplate,provisioning:createtemplate,provisioning:deletetemplate,provisioning:searchdevices,provisioning:listdevices,provisioning:editdevice,provisioning:createdevice,provisioning:duplicatedevice,provisioning:deletedevice,provisioning:listclassgroups,provisioning:editclassgroup,provisioning:createclassgroup,provisioning:deleteclassgroup,provisioning:listclasses,provisioning:editclass,provisioning:createclass,provisioning:deleteclass,provisioning:listgroups,provisioning:editgroup,provisioning:creategroup,provisioning:deletegroup,provisioning:listparams,provisioning:editparam,provisioning:createparam,provisioning:deleteparam,provisioning:editdeviceparams,provisioning:overridedeviceparams,provisioning:viewdeviceparams,provisioning:editoptions,provisioning:listfiles,provisioning:editfile,provisioning:searchbyextension,provisioning:searchbymac,provisioning:getdevicevalues,provisioning:dumpdatabase,provisioning:getclassvalues,provisioning:listrequests,provisioning:deleterequest,provisioning:createdevicefromrequest,provisioning:bulkcreatedevices,provisioning:bulkdumpdevices +EXPERT=provisioning:listtemplates,provisioning:edittemplate,provisioning:createtemplate,provisioning:deletetemplate,provisioning:listclassgroups,provisioning:editclassgroup,provisioning:createclassgroup,provisioning:deleteclassgroup,provisioning:listclasses,provisioning:editclass,provisioning:createclass,provisioning:deleteclass,provisioning:listgroups,provisioning:editgroup,provisioning:creategroup,provisioning:deletegroup,provisioning:listparams,provisioning:editparam,provisioning:createparam,provisioning:deleteparam,provisioning:overridedeviceparams,provisioning:editoptions,provisioning:listfiles,provisioning:editfile,provisioning:getdevicevalues,provisioning:bulkdumprawdevices +ADMIN=provisioning:listtemplates,provisioning:edittemplate,provisioning:createtemplate,provisioning:deletetemplate,provisioning:searchdevices,provisioning:listdevices,provisioning:editdevice,provisioning:createdevice,provisioning:duplicatedevice,provisioning:deletedevice,provisioning:listclassgroups,provisioning:editclassgroup,provisioning:createclassgroup,provisioning:deleteclassgroup,provisioning:listclasses,provisioning:editclass,provisioning:createclass,provisioning:deleteclass,provisioning:listgroups,provisioning:editgroup,provisioning:creategroup,provisioning:deletegroup,provisioning:listparams,provisioning:editparam,provisioning:createparam,provisioning:deleteparam,provisioning:editdeviceparams,provisioning:overridedeviceparams,provisioning:viewdeviceparams,provisioning:editoptions,provisioning:listfiles,provisioning:editfile,provisioning:searchbyextension,provisioning:searchbymac,provisioning:getdevicevalues,provisioning:dumpdatabase,provisioning:getclassvalues,provisioning:listrequests,provisioning:deleterequest,provisioning:createdevicefromrequest,provisioning:bulkcreatedevices,provisioning:bulkdumprawdevices |