From cec69e828dec2ce30a1f2cb4721c40d91c1a75b8 Mon Sep 17 00:00:00 2001 From: Ted Trask Date: Thu, 4 Nov 2010 08:09:49 +0000 Subject: Added getdevicevalues with templated viewtype to load template with haserl. --- provisioning-controller.lua | 3 +++ provisioning-getdevicevalues-html.lsp | 1 + provisioning-getdevicevalues-templated.lsp | 13 +++++++++++++ provisioning-listdevices-html.lsp | 3 +++ provisioning-model.lua | 6 ++++-- 5 files changed, 24 insertions(+), 2 deletions(-) create mode 100644 provisioning-getdevicevalues-templated.lsp 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 @@

<%= html.html_escape(form.label) %>

<% +if form.errtxt then io.write("

" .. string.gsub(html.html_escape(form.errtxt), "\n", "
") .. "

\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 %> <%= html.html_escape(v.name) %> <%= html.html_escape(v.label) %> 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 -- cgit v1.2.3