diff options
author | Ted Trask <ttrask01@yahoo.com> | 2015-07-06 11:50:49 -0400 |
---|---|---|
committer | Ted Trask <ttrask01@yahoo.com> | 2015-07-06 11:50:49 -0400 |
commit | 8e9359a77cb89ac67db14b21dc3f44e26f32285d (patch) | |
tree | d642e028df0b57df18c8aa2987b1d0103040fe92 | |
parent | ea9e6f6f8b85126abf87dc7d7101b3d6c90d61c8 (diff) | |
download | acf-provisioning-8e9359a77cb89ac67db14b21dc3f44e26f32285d.tar.bz2 acf-provisioning-8e9359a77cb89ac67db14b21dc3f44e26f32285d.tar.xz |
Fix searchdevices html view by adding in old listdevices code
Since we're searching, filtering is not valid and pagination isn't as important as for list page
Also, changed searchbymac to be case insensitive
-rw-r--r-- | provisioning-searchbymac-html.lsp | 2 | ||||
-rw-r--r-- | provisioning-searchdevices-html.lsp | 75 |
2 files changed, 72 insertions, 5 deletions
diff --git a/provisioning-searchbymac-html.lsp b/provisioning-searchbymac-html.lsp index eba96f8..45a771d 100644 --- a/provisioning-searchbymac-html.lsp +++ b/provisioning-searchbymac-html.lsp @@ -25,7 +25,7 @@ html = require("acf.html") <% local id = cfe({type="hidden", value="device.mac"}) -local comparison = cfe({type="hidden", value="~"}) +local comparison = cfe({type="hidden", value="~*"}) local value = cfe({label="MAC Address"}) local form = cfe({type="form", label="Search by MAC Address", value={id=id, comparison=comparison, value=value}, action="searchdevices", option="Search"}) diff --git a/provisioning-searchdevices-html.lsp b/provisioning-searchdevices-html.lsp index d2f086d..332a817 100644 --- a/provisioning-searchdevices-html.lsp +++ b/provisioning-searchdevices-html.lsp @@ -10,6 +10,12 @@ html = require("acf.html") </script> <script type="text/javascript"> + if (typeof $.tablesorter == 'undefined') { + document.write('<script type="text/javascript" src="<%= html.html_escape(page_info.wwwprefix) %>/js/jquery.tablesorter.js"><\/script>'); + } +</script> + +<script type="text/javascript"> $(function(){ $('input, select').first().focus(); $('input, select').keydown(function(e){ @@ -18,6 +24,8 @@ html = require("acf.html") return false; } }); + $("#list").tablesorter({headers: {0:{sorter: false}}, widgets: ['zebra']}); + $(".deletedevice").click(function(){ return confirm("Are you sure you want to delete this device?")}); }); </script> @@ -38,12 +46,71 @@ if form.value.values then form.value.values = nil -- And here we display the list of devices in the result elseif form.value.result then + -- Determine all of the columns + local tmp = {} + for k,v in ipairs( form.value.result.value ) do + for g,c in pairs(v) do + if not tmp[g] then tmp[g] = true end + end + end + local display = {} + for n in pairs(tmp) do + if n ~= "device_id" then + display[#display+1] = n + end + end + table.sort(display) - print("There are "..#form.value.result.value.." devices in the result") --- local func = haserl.loadfile(page_info.viewfile:gsub(page_info.action, "listdevices")) --- func(form, viewlibrary, page_info, session) -end + local header_level = htmlviewfunctions.displaysectionstart(form.value.result, page_info) %> + <table id="list" class="tablesorter"><thead> + <tr> + <th>Action</th> + <th>Device ID</th> + <% for i,n in ipairs(display) do %> + <th><%= html.html_escape(string.gsub(n, "^.", string.upper)) %> + <% end %> + </tr> + </thead><tbody> + <% local device_id = cfe({ type="hidden", value="" }) %> + <% local redir = cfe({ type="hidden", value=page_info.orig_action }) %> + <% for k,v in ipairs( form.value.result.value ) do %> + <tr> + <td> + <% device_id.value = v.device_id %> + <% if viewlibrary.check_permission("editdevice") then %> + <% htmlviewfunctions.displayitem(cfe({type="link", value={device_id=device_id, redir=redir}, label="", option="Edit", action="editdevice"}), page_info, -1) %> + <% end %> + <% if viewlibrary.check_permission("overridedeviceparams") then %> + <% htmlviewfunctions.displayitem(cfe({type="link", value={device_id=device_id, redir=redir}, label="", option="Params", action="overridedeviceparams"}), page_info, -1) %> + <% elseif viewlibrary.check_permission("editdeviceparams") then %> + <% htmlviewfunctions.displayitem(cfe({type="link", value={device_id=device_id, redir=redir}, label="", option="Params", action="editdeviceparams"}), page_info, -1) %> + <% end %> + <% if viewlibrary.check_permission("getdevicevalues") then %> + <% htmlviewfunctions.displayitem(cfe({type="form", value={value=device_id, id=cfe({type="hidden", value="device_id"}), viewtype=cfe({type="hidden", value="templated"})}, label="", option="View", action="getdevicevalues"}), page_info, -1) %> + <% end %> + <% if viewlibrary.check_permission("deletedevice") then %> + <% htmlviewfunctions.displayitem(cfe({type="form", value={device_id=device_id}, label="", option="Delete", action="deletedevice", class="deletedevice"}), page_info, -1) %> + <% end %> + </td> + <td><%= html.html_escape(v.device_id) %></td> + <% for i,n in ipairs(display) do %> + <td><%= html.html_escape(v[n]) %></td> + <% end %> + </tr> + <% end %> + </tbody> + </table> + + <% if form.value.result.errtxt then %> + <p class="error"><%= html.html_escape(form.value.result.errtxt) %></p> + <% end %> + <% if #form.value.result.value == 0 then %> + <p>No devices found</p> + <% end %> + <% htmlviewfunctions.displaysectionend(header_level) %> + +<% end %> <% form.value.result = nil |