summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTed Trask <ttrask01@yahoo.com>2010-04-05 14:50:23 +0000
committerTed Trask <ttrask01@yahoo.com>2010-04-05 14:50:23 +0000
commit7d9b79ae7878931e89c4a3f8c2a6560693022815 (patch)
tree4a4edf1de3d23fbd1ae5b0818bb6482cb369fa12
parent2c43d7669d917f3acad54650391429e7e0820646 (diff)
downloadacf-did-7d9b79ae7878931e89c4a3f8c2a6560693022815.tar.bz2
acf-did-7d9b79ae7878931e89c4a3f8c2a6560693022815.tar.xz
Call blank extension 'Restricted' in assigndefinition, extremely detailed change descriptions.
-rw-r--r--did-assigndefinition-html.lsp13
-rw-r--r--did-editdefinition-html.lsp10
-rw-r--r--did-model.lua66
3 files changed, 68 insertions, 21 deletions
diff --git a/did-assigndefinition-html.lsp b/did-assigndefinition-html.lsp
index 4b63445..5e2124e 100644
--- a/did-assigndefinition-html.lsp
+++ b/did-assigndefinition-html.lsp
@@ -16,8 +16,11 @@
$("#diderrtxt").html(data.value.did.errtxt);
else if (data.value.rules.value.search("\n") != -1)
$("#diderrtxt").html("Warning - this DID contains time constraints");
- else
- $("#diderrtxt").html("Current extension is " + data.value.rules.value.match(/[^,]*/));
+ else {
+ var t = data.value.rules.value.match(/[^,]*/);
+ if ( t == "" ) t = "Restricted";
+ $("#diderrtxt").html("Current extension is " + t);
+ }
}
);
};
@@ -25,6 +28,9 @@
if ($("#rules").val() === "") {
$("#rules").val(" ");
}
+ if ($("#rules").val() === "r") {
+ $("#rules").val("");
+ }
};
var lastdata = {};
$(function(){
@@ -95,7 +101,8 @@ end %>
<DD><input class="text" type="text" id="did" name="did" value="">
<p class="error" id="diderrtxt"></p></DD>
<DT>Extension</DT>
-<DD><input class="text" type="text" id="rules" name="rules" value=""></DD>
+<DD><input class="text" type="text" id="rules" name="rules" value="">
+Enter 'r' for Restricted</DD>
<DT></DT><DD><input class="submit" type="submit" name="Save" value="Save"></DD>
</FORM>
</DL>
diff --git a/did-editdefinition-html.lsp b/did-editdefinition-html.lsp
index a78a618..7d45c11 100644
--- a/did-editdefinition-html.lsp
+++ b/did-editdefinition-html.lsp
@@ -21,11 +21,11 @@ require("json")
$(this).parent().parent().replaceWith();
}
function addLine(rule){
- var form = '<TABLE><TR><TD>Extension<TD><input type="text" value="' + rule.extension + '"></TR>';
- form = form + '<TR><TD>Start Time<TD><input type="text" value="' + rule.starttime + '"></TD>';
- form = form + '<TD>End Time<TD><input type="text" value="' + rule.endtime + '"></TD></TR>';
- form = form + '<TR><TD>Start Date<TD><input type="text" value="' + rule.startdate + '"></TD>';
- form = form + '<TD>End Date<TD><input type="text" value="' + rule.enddate + '"></TD></TR>';
+ var form = '<TABLE><TR><TD>Extension<TD><input class="text" type="text" value="' + rule.extension + '"></TR>';
+ form = form + '<TR><TD>Start Time<TD><input class="text" type="text" value="' + rule.starttime + '"></TD>';
+ form = form + '<TD>End Time<TD><input class="text" type="text" value="' + rule.endtime + '"></TD></TR>';
+ form = form + '<TR><TD>Start Date<TD><input class="text" type="text" value="' + rule.startdate + '"></TD>';
+ form = form + '<TD>End Date<TD><input class="text" type="text" value="' + rule.enddate + '"></TD></TR>';
form = form + '<TR><TD colspan="4">Days of the Week: Mon<input type="checkbox"';
if (rule.dayofweek.charAt(0) == '1'){
form = form + " checked";
diff --git a/did-model.lua b/did-model.lua
index a84144c..c9256c8 100644
--- a/did-model.lua
+++ b/did-model.lua
@@ -341,18 +341,6 @@ local updaterules = function(did, rules)
sql = table.concat(sql, "")
res = assert (con:execute(sql))
end
- if #rules > 1 then
- res = {}
- for i,rule in ipairs(rules) do
- res[#res+1] = rule.extension
- end
- res = "Set DID "..did.." to extensions "..table.concat(res, ", ")
- elseif #rules == 1 then
- res = "Set DID "..did.." to extension "..rules[1].extension
- else
- res = "Cleared DID "..did
- end
- logme(res)
return res
end
@@ -590,6 +578,48 @@ local function adddash(did)
end
end
+local describechange = function(olddef, newdef)
+ local changes = {}
+ 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.."'"
+ end
+ end
+
+ if #changes > 0 then
+ return table.concat(changes, " ")
+ else
+ return nil
+ end
+end
+
+local describeruleschange = function(oldrules, newrules)
+ local changes = {}
+ for i,rule in ipairs(newrules) do
+ rule2 = oldrules[i] or {did=rule.did, dayofweek="0000000"}
+ for name,val in pairs(rule) do
+ if val ~= (rule2[name] or "") then
+ changes[#changes+1] = "Rule "..i.." "..name.." from '"..(rule2[name] or "").."' to '"..val.."'"
+ end
+ end
+ end
+ for i=#newrules+1,#oldrules do
+ local values = {}
+ for name,val in pairs(oldrules[i]) do
+ if name ~= "did" and not (name == "dayofweek" and val == "0000000") then
+ values[#values+1] = name.." = "..val
+ end
+ end
+ changes[#changes+1] = "Rule "..i.." deleted ("..table.concat(values, ", ")..")"
+ end
+
+ if #changes > 0 then
+ return table.concat(changes, " ")
+ else
+ return nil
+ end
+end
+
-- ################################################################################
-- PUBLIC FUNCTIONS
@@ -741,12 +771,22 @@ function savedefinition(defin, exists)
elseif #def == 0 and exists then
defin.value.did.errtxt = "DID Number does not exist"
else
+ local descr = {}
+ descr[#descr+1] = describechange(def[1], definition)
if exists then
updatedefinitionentry(definition)
else
insertdefinitionentry(definition)
end
- defin.descr = updaterules(defin.value.did.value, rules)
+ local oldrules = listrules(definition.did)
+ updaterules(defin.value.did.value, rules)
+ descr[#descr+1] = describeruleschange(oldrules, listrules(definition.did))
+ if #descr > 0 then
+ defin.descr = "Updated DID "..definition.did.." "..table.concat(descr, " ")
+ logme(defin.descr)
+ else
+ defin.descr = "Updated DID "..definition.did.." no change"
+ end
defin.errtxt = nil
end
if connected then databasedisconnect() end