summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTed Trask <ttrask01@yahoo.com>2017-06-07 15:08:51 +0000
committerTed Trask <ttrask01@yahoo.com>2017-06-07 21:23:54 +0000
commitd6750dc482da61f4e982d5e76f9209c6c4a69a25 (patch)
treef81538e3db7ebb8cc8f074a8184474b5a10dea39
parent5faa32ed5c5b6f015713be86286b7cc42778da1b (diff)
downloadacf-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.lsp6
-rw-r--r--provisioning-controller.lua4
-rw-r--r--provisioning-model.lua17
-rw-r--r--provisioning.roles4
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