From 7d9b79ae7878931e89c4a3f8c2a6560693022815 Mon Sep 17 00:00:00 2001 From: Ted Trask Date: Mon, 5 Apr 2010 14:50:23 +0000 Subject: Call blank extension 'Restricted' in assigndefinition, extremely detailed change descriptions. --- did-assigndefinition-html.lsp | 13 +++++++-- did-editdefinition-html.lsp | 10 +++---- 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 %>

Extension
-
+
+Enter 'r' for Restricted
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 = ''; - form = form + ''; - form = form + ''; - form = form + ''; - form = form + ''; + var form = '
Extension
Start TimeEnd Time
Start DateEnd Date
'; + form = form + ''; + form = form + ''; + form = form + ''; + form = form + ''; form = form + '
Extension
Start TimeEnd Time
Start DateEnd Date
Days of the Week: Mon 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 -- cgit v1.2.3