summaryrefslogtreecommitdiffstats
path: root/gnats-report-html.lsp
blob: 982355f2ec5e7b374cec71b0b9207752266b4d76 (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
<% local form = ... 
--[[ DEBUG INFORMATION
io.write("<H1>DEBUGGING</H1><span style='color:red'><H2>DEBUG INFO: CFE</H2>")
io.write(html.cfe_unpack(form))
io.write("</span>")
--]]
%>

<%
function displayinfo(myform,tags,viewtype)
	for k,v in pairs(tags) do 
		if (myform[v]) and (myform[v]["value"]) then
			local val = myform[v] 
			io.write("\n\t<DT")
			if (val.errtxt) then 
				val.class = "error"
				io.write(" class='error'")
			end
			io.write(">" .. html.html_escape(val.label) .. "</DT>")
			io.write("\n\t\t<DD>")
			if (viewtype == "viewonly") then
				if (val.value == "") then val.value = " " end
				io.write(html.html_escape(val.value))
			elseif (val.type == "radio") and (type(val.option) == "table") then
				if (#val.option > 0) then
					io.write("<span style='display:inline' class='" .. html.html_escape(val.class) .. "'>")
					for k1,v1 in pairs(val.option) do
						io.write("\n\t\t\t"..html.html_escape(tostring(v1)) .. ":")
						io.write("<input style='margin-right:20px;margin-left:5px;' type='radio' class='" .. html.html_escape(val.class) .. "' name='" .. html.html_escape(val.name) .. "'")
						if (tostring(val.value) == tostring(v1)) then io.write(" checked='yes'") end
						io.write(" value='" .. html.html_escape(v1) .. "'>")
					end
					io.write("\n\t\t\t</input></span>")
				else
					io.write("[No options available]")
				end
			else
				io.write(html.form[val.type](val))
			end
			if (val.descr) and (#val.descr > 0) then io.write("\n\t\t<P CLASS='descr'>" .. string.gsub(html.html_escape(val.descr), "\n", "<BR>") .. "</P>") end
			if (val.errtxt) then io.write("\n\t\t<P CLASS='error'>" .. string.gsub(html.html_escape(val.errtxt), "\n", "<BR>") .. "</P>") end
			io.write("\n\t\t</DD>\n")
		end
	end
end
%>

<H1>REPORT A BUG</H1>

<form name="cmd" action="" method="POST">

<DL>
<% 
local myform = form.reportform 
displayinfo(myform, { "reporter_name", "from", "synopsis", "description" } )
local tags = {"severity","priority","category","class","release", "howtorepeat", "fix", }
displayinfo(myform,tags)
%>
</DL>

<H2>Submit repport</H2>
<DL>
<% 
local myform = form.reportform 
local tags = { "submit", }
displayinfo(myform,tags)
%>
</DL>
</form>