diff options
author | Ted Trask <ttrask01@yahoo.com> | 2011-10-10 15:24:51 +0000 |
---|---|---|
committer | Ted Trask <ttrask01@yahoo.com> | 2011-10-10 15:24:51 +0000 |
commit | 6e029cd625261b77c94cdf3c38139a7d0fc381c4 (patch) | |
tree | fb0bfb84215f86f0a6547adb3b90c7ca2316abf7 /provisioning-viewclassparams-html.lsp | |
parent | a47f82e3b84e6757501d1cec6a78870dc6c459c0 (diff) | |
download | acf-provisioning-6e029cd625261b77c94cdf3c38139a7d0fc381c4.tar.bz2 acf-provisioning-6e029cd625261b77c94cdf3c38139a7d0fc381c4.tar.xz |
Added viewclassparams, getfile, and putfile actions plus determine_class.lua script and provisioning_requests table.
viewclassparams shows the parameters and default values for a class
getfile is used to get the config file for a known device and a default config file for unconfigured devices
putfile is unimplemented, but will be used for parsing files uploaded to the server
determine_class.lua determines which device class best matches an unconfigured device (by agent)
provisioning_requests table will track the last request (ip, agent, and timestamp) for each device
Diffstat (limited to 'provisioning-viewclassparams-html.lsp')
-rw-r--r-- | provisioning-viewclassparams-html.lsp | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/provisioning-viewclassparams-html.lsp b/provisioning-viewclassparams-html.lsp new file mode 100644 index 0000000..e07a30f --- /dev/null +++ b/provisioning-viewclassparams-html.lsp @@ -0,0 +1,48 @@ +<% local data, viewlibrary, page_info = ... +require("viewfunctions") +%> + +<% +function displayitemcustom(myitem, header_level) + if not myitem then return end + if myitem.type == "group" then + header_level = header_level or 2 + io.write("<H"..tostring(header_level)..">"..html.html_escape(myitem.label).."</H"..tostring(header_level)..">") + if myitem.descr then io.write('<P CLASS="descr">' .. string.gsub(html.html_escape(myitem.descr), "\n", "<BR>") .. "</P>\n") end + if myitem.errtxt then io.write('<P CLASS="error">' .. string.gsub(html.html_escape(myitem.errtxt), "\n", "<BR>") .. "</P>\n") end + local seqorder = {} + local order = {} + for name,item in pairs(myitem.value) do + if tonumber(item.seq) then + seqorder[#seqorder+1] = {seq=tonumber(item.seq), name=name} + else + order[#order+1] = name + end + end + table.sort(seqorder, function(a,b) if a.seq ~= b.seq then return a.seq > b.seq else return a.name > b.name end end) + table.sort(order) + for i,val in ipairs(seqorder) do + table.insert(order, 1, val.name) + end + for x,name in ipairs(order) do + if myitem.value[name] then + displayitemcustom(myitem.value[name], tonumber(header_level)+1) + end + end + elseif myitem.type ~= "hidden" then + io.write("<DT") + if myitem.errtxt then + myitem.class = "error" + io.write(' class="error"') + end + io.write(">" .. html.html_escape(myitem.label) .. "</DT>\n") + io.write("<DD>") + io.write(string.gsub(html.html_escape(tostring(myitem.value)), "\n", "<BR>") .. "\n") + if myitem.descr then io.write("<P CLASS='descr'>" .. string.gsub(html.html_escape(myitem.descr), "\n", "<BR>") .. "</P>\n") end + if myitem.errtxt then io.write("<P CLASS='error'>" .. string.gsub(html.html_escape(myitem.errtxt), "\n", "<BR>") .. "</P>\n") end + io.write("</DD>\n") + end +end + +displayitemcustom(data, 1) +%> |