summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTed Trask <ttrask01@yahoo.com>2010-07-15 08:31:05 +0000
committerTed Trask <ttrask01@yahoo.com>2010-07-15 08:31:05 +0000
commite7c03cf4f05693744586b09768fe8f16c4af53ca (patch)
treeac3004aa0323f9b7dd9bce18e574f6d4bc0e9e66
parent2dda99df5caf988b4abdbc3ac3963eb6af5ab45d (diff)
downloadacf-did-e7c03cf4f05693744586b09768fe8f16c4af53ca.tar.bz2
acf-did-e7c03cf4f05693744586b09768fe8f16c4af53ca.tar.xz
Added editdefinitionextension action and added available to edit fields.
-rw-r--r--did-controller.lua4
-rw-r--r--did-editdefinition-html.lsp18
l---------did-editdefinitionextension-html.lsp1
-rw-r--r--did-html.lsp9
-rw-r--r--did-model.lua11
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()