summaryrefslogtreecommitdiffstats
path: root/gnats-editpr-html.lsp
diff options
context:
space:
mode:
Diffstat (limited to 'gnats-editpr-html.lsp')
-rw-r--r--gnats-editpr-html.lsp129
1 files changed, 129 insertions, 0 deletions
diff --git a/gnats-editpr-html.lsp b/gnats-editpr-html.lsp
new file mode 100644
index 0000000..28b39cf
--- /dev/null
+++ b/gnats-editpr-html.lsp
@@ -0,0 +1,129 @@
+<? 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 > 0) then
+ val.class = "error"
+ io.write(" class='error'")
+ end
+ io.write(">" .. val.label .. "</DT>")
+ io.write("\n\t\t<DD>")
+ if (viewtype == "viewonly") then
+ if not (val.value) or (val.value == "") then val.value = "&nbsp;" end
+ io.write(val.value)
+ elseif (val.type == "radio") and (type(val.option) == "table") and (#val.option > 0) then
+ io.write("<span style='display:inline' class='" .. ( val.class or "") .. "'>")
+ for k1,v1 in pairs(val.option) do
+ io.write("\n\t\t\t"..tostring(v1) .. ":")
+ io.write("<input style='margin-right:20px;margin-left:5px;' type='radio' class='" .. ( val.class or "") .. "' name='" .. val.name .. "'")
+ if (tostring(val.value) == tostring(v1)) then io.write(" checked='yes'") end
+ io.write(" value='" .. v1 .. "'>")
+ end
+ io.write("\n\t\t\t</input></span>")
+ 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(val.descr, "\n", "<BR>") .. "</P>") end
+ if (#val.errtxt > 0) then io.write("\n\t\t<P CLASS='error'>" .. string.gsub(val.errtxt, "\n", "<BR>") .. "</P>") end
+ io.write("\n\t\t</DD>\n")
+ end
+ end
+end
+?>
+
+<H1><? io.write(form["query"]["sfields"]["category"]["value"] .. "/")
+io.write(form["query"]["sfields"]["number"]["value"] .. ": " )
+io.write(form["query"]["sfields"]["synopsis"]["value"] or form["query"]["header"]["subject"]["value"] or "Qurery object")?></H1>
+
+<H2>Header</H2>
+<DL>
+<?
+local myform = form.query.header
+local tags = { "from","date", "subject", }
+displayinfo(myform,tags)
+?>
+</DL>
+
+<H2>Details</H2>
+<DL>
+<?
+local myform = form.query.sfields
+local tags = { "submitter_id", "class", "release", "state", "priority", "severity", "responsible", "arrival_date", "closed_date", "last_modified", "originator", }
+displayinfo(myform,tags)
+?>
+</DL>
+
+<?
+local myform = form.query.mfields
+local tags = {"organization", "environment", "description", "how_to_repeat", "fix", "release_note", }
+for k,v in pairs(tags) do
+ local myform=myform[v]
+?>
+<H2><? io.write(myform.label) ?></H2>
+<DL>
+<? io.write(html.form[myform.type](myform)) ?>
+</DL>
+<? end ?>
+
+
+<style>
+table {margin:10px;margin-top:5px;border:1px solid #aaa;background:#eee;}
+.Responsible-Changed-From-To {background: #fcc;}
+.Responsible-Changed-From-To {background: #fcc;}
+.State-Changed-From-To {background: #cfc;}
+.From {background: #ccf;}
+.Header {padding:3px;font-weight:bold;border-bottom:1px solid #665;}
+</style>
+
+<?
+local myform = form.query["mfields"]["audit_trail"]
+?>
+<H2><? io.write(myform.label) ?></H2>
+<DL>
+<?
+for k,v in pairs(myform.option) do
+ io.write("\n<TABLE STYLE='width:98%;'>")
+ if (#v.label > 0) then
+ io.write("<TR CLASS='" .. (v.class or "") .. "'><TD COLSPAN=2 CLASS='Header'>" .. (v.label or "Uknown") .. "</TD></TR>")
+ end
+ for i=1,#v do
+ io.write("<TR><TD WIDTH='100%'><PRE>" .. (v[i] or "Uknown") .. "</PRE></TD></TR>")
+ end
+ io.write("\n</TABLE>")
+end
+?>
+</DL>
+
+<?
+local myform = form.query.mfields
+local tags = {"unformatted", }
+for k,v in pairs(tags) do
+ local myform=myform[v]
+?>
+<H2><? io.write(myform.label) ?></H2>
+<DL>
+<PRE><? io.write(myform.value) ?></PRE>
+</DL>
+<? end ?>
+
+<H2>Save changes</H2>
+<DL>
+<?
+local myform = form.query
+local tags = { "cmdsave", }
+displayinfo(myform,tags)
+?>
+</DL>
+
+