diff options
author | Ted Trask <ttrask01@yahoo.com> | 2010-01-27 10:21:05 +0000 |
---|---|---|
committer | Ted Trask <ttrask01@yahoo.com> | 2010-01-27 10:21:05 +0000 |
commit | 31f561d164569c5d53bf1ed3ca5f4311fac9104b (patch) | |
tree | ca0df3311cec491532af890f4a2da07fc09c5a8d /did-model.lua | |
parent | 06cac7216f74c580126bfbf9294b8c6bc9d7d0a0 (diff) | |
download | acf-did-31f561d164569c5d53bf1ed3ca5f4311fac9104b.tar.bz2 acf-did-31f561d164569c5d53bf1ed3ca5f4311fac9104b.tar.xz |
Reverse order of history and added dashes to DIDs in UI.
Diffstat (limited to 'did-model.lua')
-rw-r--r-- | did-model.lua | 56 |
1 files changed, 41 insertions, 15 deletions
diff --git a/did-model.lua b/did-model.lua index f75b911..f6f6858 100644 --- a/did-model.lua +++ b/did-model.lua @@ -158,7 +158,7 @@ end local listhistorylogentries = function() local entries = {} - cur = assert (con:execute"SELECT logdatetime, msgtext, userid from dbhistlog") + cur = assert (con:execute"SELECT logdatetime, msgtext, userid from dbhistlog ORDER BY logdatetime DESC") row = cur:fetch ({}, "a") while row do entries[#entries+1] = {logdatetime = row.logdatetime, msgtext = row.msgtext, userid = row.userid} @@ -567,47 +567,65 @@ local function createdefinitionlist(did, extension, identification, description, return cfe({ type="group", value=retval, label="DID Definition List" }) end +local function stripdash(did) + return (string.gsub(did or "", "%-", "")) +end + +local function adddash(did) + if #did > 0 then + return (did:sub(1,3) or "") .. "-" .. (did:sub(4,6) or "") .. "-" .. (did:sub(7) or "") + else + return did + end +end + -- ################################################################################ -- PUBLIC FUNCTIONS function getuseddefinitionlist(did, extension, identification, description, department) - local def = createdefinitionlist(did, extension, identification, description, department) + local def = createdefinitionlist(stripdash(did), extension, identification, description, department) def.label = "Used "..def.label local res, err = pcall(function() local connected = databaseconnect(DatabaseUser) - def.value.definitions.value = listuseddefinitions(did, extension, identification, description, department) + def.value.definitions.value = listuseddefinitions(stripdash(did), extension, identification, description, department) if connected then databasedisconnect() end end) if not res then def.errtxt = err end + for i,d in ipairs(def.value.definitions.value) do + d.did = adddash(d.did) + end return def end function getunuseddefinitionlist(did, identification, description, department) - local def = createdefinitionlist(did, nil, identification, description, department) + local def = createdefinitionlist(stripdash(did), nil, identification, description, department) def.value.extension = nil def.label = "Unused "..def.label local res, err = pcall(function() local connected = databaseconnect(DatabaseUser) - def.value.definitions.value = listunuseddefinitions(did, identification, description, department) + def.value.definitions.value = listunuseddefinitions(stripdash(did), identification, description, department) if connected then databasedisconnect() end end) if not res then def.errtxt = err end + for i,d in ipairs(def.value.definitions.value) do + d.did = adddash(d.did) + end return def end function getdefinitionlist(did, extension, identification, description, department) - local def = createdefinitionlist(did, extension, identification, description, department) + local def = createdefinitionlist(stripdash(did), extension, identification, description, department) --def.value.extension = nil local res, err = pcall(function() local connected = databaseconnect(DatabaseUser) --def.value.definitions.value = listdefinitions(did, identification, description, department) - def.value.definitions.value = listuseddefinitions(did, extension, identification, description, department) + def.value.definitions.value = listuseddefinitions(stripdash(did), extension, identification, description, department) if def.value.extension.value == "" then - local tmp = listunuseddefinitions(did, identification, description, department) + local tmp = listunuseddefinitions(stripdash(did), identification, description, department) for i,val in ipairs(tmp) do val.extension = "" table.insert(def.value.definitions.value, val) @@ -619,6 +637,9 @@ function getdefinitionlist(did, extension, identification, description, departme if not res then def.errtxt = err end + for i,d in ipairs(def.value.definitions.value) do + d.did = adddash(d.did) + end return def end @@ -626,9 +647,9 @@ function searchdefinitions(did) local result = {} local res, err = pcall(function() local connected = databaseconnect(DatabaseUser) - local list = listdefinitions("^"..did) - for i,did in ipairs(list) do - result[#result+1] = did.did + local list = listdefinitions("^"..stripdash(did)) + for i,d in ipairs(list) do + result[#result+1] = adddash(d.did) end if connected then databasedisconnect() end end) @@ -641,7 +662,7 @@ end function getdefinition(did) local errtxt local group = {} - group.did = cfe({ value=did or "", label="DID" }) + group.did = cfe({ value=stripdash(did) or "", label="DID" }) group.identification = cfe({ label="Identification Number" }) group.department = cfe({ label="Department" }) group.description = cfe({ label="Description" }) @@ -650,8 +671,8 @@ function getdefinition(did) group.did.errtxt = "DID does not exist" local res, err = pcall(function() local connected = databaseconnect(DatabaseUser) - local definition = listdefinitions(did) - local rules = listrules(did) + local definition = listdefinitions(stripdash(did)) + local rules = listrules(stripdash(did)) if connected then databasedisconnect() end if #definition == 1 then group.did.errtxt = nil @@ -669,6 +690,7 @@ function getdefinition(did) errtxt = err end end + group.did.value = adddash(group.did.value) return cfe({ type="group", value=group, label="DID Description", errtxt=errtxt }) end @@ -679,6 +701,7 @@ function savedefinition(defin, exists) defin.value.rules.value = string.gsub("\n"..format.dostounix(defin.value.rules.value), "\n%s*,%s*,%s*,%s*,%s*,%s*0000000", "") defin.value.rules.value = string.gsub(defin.value.rules.value, "$\n", "") + defin.value.did.value = stripdash(defin.value.did.value) local rules = parserules(defin.value.did.value, defin.value.rules.value) -- note that validaterules might change the rules to standard formatting local success, errtxt = validaterules(rules) @@ -721,6 +744,7 @@ function savedefinition(defin, exists) defin.errtxt = defin.errtxt .. "\n" .. err end end + defin.value.did.value = adddash(defin.value.did.value) return defin end @@ -731,6 +755,7 @@ end function deletedefinition(did) local result = cfe({ label="Delete Definition Result", errtxt="Definition does not exist" }) + did = stripdash(did) local res, err = pcall(function() databasedisconnect() local pw = format.parse_ini_file(fs.read_file(configfile) or "", "", "password") or "" @@ -782,7 +807,7 @@ function setunuseddefinition(defin) success = false defin.value.exchange.errtxt = "There are no unused extensions for that exchange" else - defin.value.did = cfe({ value=did[1], label="DID" }) + defin.value.did = cfe({ value=adddash(did[1]), label="DID" }) end if connected then databasedisconnect() end end) @@ -799,6 +824,7 @@ end function publishdefinition(did) local result = "" local errtxt = "Invalid DID" + did = stripdash(did) local pw = format.parse_ini_file(fs.read_file(configfile) or "", "", "password") or "" local res, err = pcall(function() databasedisconnect() |