summaryrefslogtreecommitdiffstats
path: root/lib/db-viewtable-html.lsp
blob: 3bde35e7e97a9426ba431296b0197a942c8ecc16 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
<% local form, viewlibrary, page_info, session = ... %>
<% htmlviewfunctions = require("htmlviewfunctions") %>
<% html = require("acf.html") %>

<script type="text/javascript">
	if (typeof jQuery == 'undefined') {
		document.write('<script type="text/javascript" src="<%= html.html_escape(page_info.wwwprefix) %>/js/jquery-latest.js"><\/script>');
	}
</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">
	$(document).ready(function() {
		$("#list").tablesorter({widgets: ['zebra']});
		$(".deletetableentry").click(function(){ return confirm("Are you sure you want to delete this entry?")});
	});
</script>

<%
local redir = cfe({ type="hidden", value=page_info.orig_action.."?table="..html.url_encode(form.value.table.value) })
local keyvalues = {table=form.value.table.value}
if form.value.connection then
	keyvalues.connection = {}
	for n,v in pairs(form.value.connection.value) do
		redir.value = redir.value.."&connection."..n.."="..html.url_encode(v.value)
		keyvalues.connection[n] = v.value
	end
end
keyvalues.redir = redir.value
%>

<% htmlviewfunctions.displaycommandresults({"deletetableentry", "updatetableentry"}, session) %>
<% htmlviewfunctions.displaycommandresults({"createtableentry"}, session, true) %>

<% if form.value.table.value ~= "" then form.label = form.label.." - "..form.value.table.value end %>
<% local header_level = htmlviewfunctions.displaysectionstart(form, page_info) %>
<%
local header_level2 = htmlviewfunctions.incrementheader(header_level)
htmlviewfunctions.displayformstart(form, page_info)
if form.value.connection and next(form.value.connection.value) ~= nil then
	htmlviewfunctions.displayitem(form.value.connection, page_info, header_level2, "connection")
end
htmlviewfunctions.displayitem(form.value.table, page_info, header_level2, "table")
form.option = "Update"
htmlviewfunctions.displayformend(form, htmlviewfunctions.incrementheader(header_level))
%>
<table id="list" class="tablesorter"><thead>
	<tr>
	<% if viewlibrary.check_permission("deletetableentry") or viewlibrary.check_permission("updatetableentry") then %>
		<th>Action</th>
	<% end %>
	<% for i,f in ipairs(form.value.fields.value) do %>
		<th><%= html.html_escape(f) %></th>
	<% end %>
	</tr>
</thead><tbody>
<% -- We will reuse the form connection structure to pass key values to updatetableentry and deletetableentry
local formvalues = {}
if form.value.connection then
	formvalues.connection = form.value.connection
	for n,v in pairs(form.value.connection.value) do v.type="hidden" end
end
if form.value.keyfields then
	formvalues.fields = cfe({ type="group", value={} })
	for i,f in ipairs(form.value.keyfields.value) do
		formvalues.fields.value[f] = cfe({ type="hidden" })
	end
end
formvalues.table = form.value.table
form.value.table.type = "hidden"
formvalues.redir = redir
%>
<% for i,tableentry in ipairs(form.value.entries.value) do %>
	<tr>
	<% if viewlibrary.check_permission("deletetableentry") or viewlibrary.check_permission("updatetableentry") then %>
		<%
		if formvalues.fields then
			for i,f in ipairs(form.value.keyfields.value) do
				formvalues.fields.value[f].value = tableentry[f]
			end
		end
		%>
		<td>
	<% if viewlibrary.check_permission("updatetableentry") then %>
		<% htmlviewfunctions.displayitem(cfe({type="link", value=formvalues, label="", option="Update", action="updatetableentry"}), page_info, -1) %>
	<% end %>
	<% if viewlibrary.check_permission("deletetableentry") then %>
		<% htmlviewfunctions.displayitem(cfe({type="form", value=formvalues, label="", option="Delete", action="deletetableentry", class="deletetableentry"}), page_info, -1) %>
	<% end %>
		</td>
	<% end %>
	<% for i,f in ipairs(form.value.fields.value) do %>
		<td><%= html.html_escape(tableentry[f]) %></td>
	<% end %>
	</tr>
<% end %>
</tbody></table>
<% htmlviewfunctions.displayinfo(form) %>
<% if #form.value.entries.value == 0 then %>
<p>No entries found</p>
<% end %>
<% htmlviewfunctions.displaysectionend(header_level) %>

<% if page_info.action == "viewtable" and viewlibrary and viewlibrary.dispatch_component and viewlibrary.check_permission("createtableentry") then
	viewlibrary.dispatch_component("createtableentry", keyvalues)
end %>