diff options
author | Ted Trask <ttrask01@yahoo.com> | 2010-07-15 08:31:05 +0000 |
---|---|---|
committer | Ted Trask <ttrask01@yahoo.com> | 2010-07-15 08:31:05 +0000 |
commit | e7c03cf4f05693744586b09768fe8f16c4af53ca (patch) | |
tree | ac3004aa0323f9b7dd9bce18e574f6d4bc0e9e66 | |
parent | 2dda99df5caf988b4abdbc3ac3963eb6af5ab45d (diff) | |
download | acf-did-e7c03cf4f05693744586b09768fe8f16c4af53ca.tar.bz2 acf-did-e7c03cf4f05693744586b09768fe8f16c4af53ca.tar.xz |
Added editdefinitionextension action and added available to edit fields.
-rw-r--r-- | did-controller.lua | 4 | ||||
-rw-r--r-- | did-editdefinition-html.lsp | 18 | ||||
l--------- | did-editdefinitionextension-html.lsp | 1 | ||||
-rw-r--r-- | did-html.lsp | 9 | ||||
-rw-r--r-- | did-model.lua | 11 |
5 files changed, 33 insertions, 10 deletions
diff --git a/did-controller.lua b/did-controller.lua index 7aeb1e8..2ff5da3 100644 --- a/did-controller.lua +++ b/did-controller.lua @@ -76,6 +76,10 @@ function editdefinition(self) return handle_form(self, function() return self.model.getdefinition(self, sessiondata.userinfo.userid, self.clientdata.did) end, function(...) return self.model.updatedefinition(self, sessiondata.userinfo.userid, ...) end, self.clientdata, "Save", "Edit DID Number") end +function editdefinitionextension(self) + return editdefinition(self) +end + function createdefinition(self) return handle_form(self, function() return self.model.getdefinition(self, sessiondata.userinfo.userid) end, function(...) return self.model.savedefinition(self, sessiondata.userinfo.userid, ...) end, self.clientdata, "Save", "Create DID Number") end diff --git a/did-editdefinition-html.lsp b/did-editdefinition-html.lsp index 74b13bc..b7bc3d3 100644 --- a/did-editdefinition-html.lsp +++ b/did-editdefinition-html.lsp @@ -4,6 +4,7 @@ require("format") require("json") %> +<% if page_info.action == "editdefinition" then %> <style type="text/css"> .alt { background: #ecf6fc; @@ -107,6 +108,7 @@ require("json") $("input.submit").click(submitFile); }); </script> +<% end %> <% if form.descr then session.didresult = form.descr @@ -132,17 +134,26 @@ else %> <H1><%= html.html_escape(form.label) %></H1> <% displayformstart(form, page_info) %> <% - local order = {"did", "description", "identification", "department", "lastchange", "rules"} - if page_info.action == "editdefinition" then + local order = {"did", "description", "identification", "department", "rules", "lastchange", "available"} + if page_info.action ~= "createdefinition" then form.value.did.readonly = true form.value.lastchange.readonly = true end - form.value.rules.type = "hidden" + form.value.available.type = "hidden" + if page_info.action == "editdefinition" then + form.value.rules.type = "hidden" + elseif page_info.action == "editdefinitionextension" then + form.value.rules.label = "Extension" + form.value.rules.descr = nil + form.value.rules.type = "text" + form.value.rules.value = string.gsub(form.value.rules.value, ",.*", "") + end for i,name in ipairs(order) do displayformitem(form.value[name], name) end %> </DL> +<% if page_info.action == "editdefinition" then %> <H2>Rules</H2> <DL><div id="rules"> <p>Rules are listed from least specific to most specific:</p> @@ -154,4 +165,5 @@ else %> <DL> <DT></DT><DD><input class="submit" type="submit" name="Test" value="Test"></DD> <DT></DT><DD><input class="submit" type="submit" name="Cancel" value="Cancel"></DD> +<% end %> <% displayformend(form) %> diff --git a/did-editdefinitionextension-html.lsp b/did-editdefinitionextension-html.lsp new file mode 120000 index 0000000..ea40188 --- /dev/null +++ b/did-editdefinitionextension-html.lsp @@ -0,0 +1 @@ +did-editdefinition-html.lsp
\ No newline at end of file diff --git a/did-html.lsp b/did-html.lsp index 5918fa3..b3aab67 100644 --- a/did-html.lsp +++ b/did-html.lsp @@ -22,7 +22,7 @@ end %> </DL> <% end %> -<% displaycommandresults({"editdefinition", "deletedefinition", "publish", "publishall", "requestdid"}, session) %> +<% displaycommandresults({"editdefinition", "editdefinitionextension", "deletedefinition", "publish", "publishall", "requestdid"}, session) %> <% if data.value.did.value ~= "" or (data.value.extension and data.value.extension.value ~= "") or data.value.description.value ~= "" or data.value.identification.value ~= "" or data.value.department.value ~= "" then %> <H2>Search Description</H2> @@ -66,10 +66,17 @@ end <% for i,def in ipairs(subdata) do %> <TR> <TD> + <% if viewlibrary.check_permission("editdefinition") then %> <form action="/cgi-bin/acf/did/did/editdefinition" method="POST"> <input class="hidden" type="hidden" name="did" value="<%= html.html_escape(def.did) %>"> <input class="hidden" type="hidden" name="redir" value="<%= html.html_escape(redirectstring) %>"> <input class="submit" type="submit" name="Edit" value="Edit"></form> + <% elseif viewlibrary.check_permission("editdefinitionextension") then %> + <form action="/cgi-bin/acf/did/did/editdefinitionextension" method="POST"> + <input class="hidden" type="hidden" name="did" value="<%= html.html_escape(def.did) %>"> + <input class="hidden" type="hidden" name="redir" value="<%= html.html_escape(redirectstring) %>"> + <input class="submit" type="submit" name="Edit" value="Edit"></form> + <% end %> <% if viewlibrary.check_permission("publish") then %> <%= html.link{value = "publish?did=" .. def.did, label="Publish "} %> <% end %> diff --git a/did-model.lua b/did-model.lua index d28d775..0a31665 100644 --- a/did-model.lua +++ b/did-model.lua @@ -234,9 +234,7 @@ local getdefinitionentries = function(sql) row = cur:fetch ({}, "a") while row do entries[#entries+1] = {did=row.did, identification=row.identification, department=row.department, description=row.description, extension=row.extension, available=row.available, lastchange=row.lastchange} - if entries[#entries].available then - entries[#entries].available = (entries[#entries].available == 't') - end + entries[#entries].available = (entries[#entries].available == 't') row = cur:fetch (row, "a") end -- close everything @@ -353,7 +351,7 @@ end local updatedefinitionentry = function(definition) local sql = string.format("UPDATE definition SET identification='%s', department='%s', description='%s', available=%s, lastchange='now' WHERE did='%s'", escape(definition.identification), escape(definition.department), escape(definition.description), - tostring(definition.available), escape(definition.did)) + tostring(definition.available or false), escape(definition.did)) local res = assert (con:execute(sql)) -- logme("Updated DID "..definition.did) return res @@ -717,8 +715,8 @@ local describechange = function(olddef, newdef) local changes = {} olddef = olddef or {} for name,val in pairs(newdef) do - if name ~= "did" and name ~= "rules" and val ~= (olddef[name] or "") then - changes[#changes+1] = name.." from '"..(olddef[name] or "").."' to '"..val.."'" + if name ~= "did" and name ~= "rules" and tostring(val) ~= (tostring(olddef[name]) or "") then + changes[#changes+1] = name.." from '"..(tostring(olddef[name]) or "").."' to '"..tostring(val).."'" end end @@ -905,6 +903,7 @@ function getdefinition(self, userid, did) group.lastchange = cfe({ label="Last Change" }) group.description = cfe({ label="Description" }) group.rules = cfe({ type="longtext", label="Rules", descr="One entry (extension, starttime, endtime, startdate, enddate, dayofweek) per line"}) + group.available = cfe({ type="boolean", label="Available", descr="Available for request"}) if did then group.did.errtxt = "DID does not exist" local res, err = pcall(function() |