diff options
author | Ted Trask <ttrask01@yahoo.com> | 2010-04-05 14:50:23 +0000 |
---|---|---|
committer | Ted Trask <ttrask01@yahoo.com> | 2010-04-05 14:50:23 +0000 |
commit | 7d9b79ae7878931e89c4a3f8c2a6560693022815 (patch) | |
tree | 4a4edf1de3d23fbd1ae5b0818bb6482cb369fa12 | |
parent | 2c43d7669d917f3acad54650391429e7e0820646 (diff) | |
download | acf-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.lsp | 13 | ||||
-rw-r--r-- | did-editdefinition-html.lsp | 10 | ||||
-rw-r--r-- | did-model.lua | 66 |
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 |