summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--provisioning-controller.lua3
-rw-r--r--provisioning-getdevicevalues-html.lsp1
-rw-r--r--provisioning-getdevicevalues-templated.lsp13
-rw-r--r--provisioning-listdevices-html.lsp3
-rw-r--r--provisioning-model.lua6
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