summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTed Trask <ttrask01@yahoo.com>2015-07-06 11:50:49 -0400
committerTed Trask <ttrask01@yahoo.com>2015-07-06 11:50:49 -0400
commit8e9359a77cb89ac67db14b21dc3f44e26f32285d (patch)
treed642e028df0b57df18c8aa2987b1d0103040fe92
parentea9e6f6f8b85126abf87dc7d7101b3d6c90d61c8 (diff)
downloadacf-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.lsp2
-rw-r--r--provisioning-searchdevices-html.lsp75
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