diff options
-rw-r--r-- | provisioning-controller.lua | 3 | ||||
-rw-r--r-- | provisioning-getdevicevalues-html.lsp | 1 | ||||
-rw-r--r-- | provisioning-getdevicevalues-templated.lsp | 13 | ||||
-rw-r--r-- | provisioning-listdevices-html.lsp | 3 | ||||
-rw-r--r-- | provisioning-model.lua | 6 |
5 files changed, 24 insertions, 2 deletions
diff --git a/provisioning-controller.lua b/provisioning-controller.lua index 31a1c43..6da9884 100644 --- a/provisioning-controller.lua +++ b/provisioning-controller.lua @@ -93,5 +93,8 @@ overridedeviceparams = function( self ) end getdevicevalues = function( self ) + if self.clientdata.viewtype then + self.conf.viewtype = self.clientdata.viewtype + end return self.model.get_device_values(self.clientdata.name) end diff --git a/provisioning-getdevicevalues-html.lsp b/provisioning-getdevicevalues-html.lsp index 7404ca7..c942a5c 100644 --- a/provisioning-getdevicevalues-html.lsp +++ b/provisioning-getdevicevalues-html.lsp @@ -3,6 +3,7 @@ <H1><%= html.html_escape(form.label) %></H1> <% +if form.errtxt then io.write("<P CLASS='error'>" .. string.gsub(html.html_escape(form.errtxt), "\n", "<BR>") .. "</P>\n") end displayitem(form.value.device_id) displayitem(form.value.name) displayitem(form.value.label) diff --git a/provisioning-getdevicevalues-templated.lsp b/provisioning-getdevicevalues-templated.lsp new file mode 100644 index 0000000..f58907e --- /dev/null +++ b/provisioning-getdevicevalues-templated.lsp @@ -0,0 +1,13 @@ +<% local data, viewlibrary, page_info = ... %> + +<% +if not data.errtxt then + print("Status: 200 OK") + print() + local func = haserl.loadfile(data.value.template.value) + func(data.value.values.value) +else + print("Status: 404 Not Found") + print() +end +%> diff --git a/provisioning-listdevices-html.lsp b/provisioning-listdevices-html.lsp index d93c096..df81bfe 100644 --- a/provisioning-listdevices-html.lsp +++ b/provisioning-listdevices-html.lsp @@ -36,6 +36,9 @@ require("viewfunctions") <% elseif viewlibrary.check_permission("editdeviceparams") then %> <%= html.link{value=page_info.script..page_info.prefix..page_info.controller.."/editdeviceparams?device_id="..v.device_id.."&redir="..page_info.orig_action, label="Params "} %> <% end %> + <% if viewlibrary.check_permission("getdevicevalues") then %> + <%= html.link{value=page_info.script..page_info.prefix..page_info.controller.."/getdevicevalues?name="..v.name.."&viewtype=templated", label="View "} %> + <% end %> </TD> <TD><%= html.html_escape(v.name) %></TD> <TD><%= html.html_escape(v.label) %></TD> diff --git a/provisioning-model.lua b/provisioning-model.lua index 9dd45ff..8a51e31 100644 --- a/provisioning-model.lua +++ b/provisioning-model.lua @@ -1216,8 +1216,8 @@ end get_device_values = function(name) local retval = {} - retval.device_id = cfe({value=device_id or "", label="Device ID", seq=1}) - retval.name = cfe({label="Name", seq=2}) + retval.device_id = cfe({label="Device ID", seq=1}) + retval.name = cfe({value=name or "", label="Name", seq=2}) retval.label = cfe({label="Label", seq=3}) retval.template = cfe({type="select", label="Template", option={}, seq=4}) retval.values = cfe({type="structure", value={}, label="Parameter Values", option={}, seq=5}) @@ -1254,6 +1254,8 @@ get_device_values = function(name) errtxt = "Invalid device name" end if connected then databasedisconnect() end + else + errtxt = "Invalid device name" end end) if not res and err then |