diff options
-rw-r--r-- | did-model.lua | 40 |
1 files changed, 33 insertions, 7 deletions
diff --git a/did-model.lua b/did-model.lua index dd77d36..2c17a11 100644 --- a/did-model.lua +++ b/did-model.lua @@ -26,6 +26,8 @@ local con local didlist +local userid = "-" + local database_creation_script = { "CREATE AGGREGATE array_accum(anyelement) (SFUNC = array_append, STYPE = anyarray, INITCOND = '{}')", "CREATE TABLE dbhistlog (logdatetime timestamp(3) without time zone NOT NULL, msgtext text, userid text)", @@ -163,11 +165,13 @@ local databasedisconnect = function() end end -local logme = function(message) - local userid = "-" - if APP and APP.sessiondata and APP.sessiondata.userinfo and APP.sessiondata.userinfo.userid then - userid = APP.sessiondata.userinfo.userid +local updateuserid = function(self) + if self and self.sessiondata and self.sessiondata.userinfo and self.sessiondata.userinfo.userid then + userid = self.sessiondata.userinfo.userid end +end + +local logme = function(message) local sql = string.format("INSERT INTO dbhistlog VALUES ('now', '%s', '%s')", escape(message), userid) local res = assert (con:execute(sql)) @@ -561,13 +565,13 @@ local printtableentries = function(tablename) while row do count = count + 1 for name,val in pairs(row) do - APP.logevent(name.." = "..val..", ") + logevent(name.." = "..val..", ") end row = cur:fetch (row, "a") end -- close everything cur:close() - APP.logevent("Table "..tablename.." contains "..count.." rows") + logevent("Table "..tablename.." contains "..count.." rows") end local function insertdailyentry(rule, daily) @@ -835,6 +839,7 @@ end -- PUBLIC FUNCTIONS function getuseddefinitionlist(self, userid, did, extension, identification, description, department, page) + updateuserid(self) local def = createdefinitionlist(stripdash(did), extension, identification, description, department) def.label = "Used "..def.label local allowedlist = getallowedlist(self, userid) @@ -855,6 +860,7 @@ function getuseddefinitionlist(self, userid, did, extension, identification, des end function getunuseddefinitionlist(self, userid, did, identification, description, department, page) + updateuserid(self) local def = createdefinitionlist(stripdash(did), nil, identification, description, department) def.value.extension = nil def.label = "Unused "..def.label @@ -876,6 +882,7 @@ function getunuseddefinitionlist(self, userid, did, identification, description, end function getdefinitionlist(self, userid, did, extension, identification, description, department, page) + updateuserid(self) local def = createdefinitionlist(stripdash(did), extension, identification, description, department) --def.value.extension = nil local allowedlist = getallowedlist(self, userid) @@ -902,6 +909,7 @@ function getdefinitionlist(self, userid, did, extension, identification, descrip end function searchdefinitions(self, userid, did) + updateuserid(self) local allowedlist = getallowedlist(self, userid) local result = {} local res, err = pcall(function() @@ -916,6 +924,7 @@ function searchdefinitions(self, userid, did) end function getdefinition(self, userid, did) + updateuserid(self) local allowedlist = getallowedlist(self, userid) local errtxt local group = {} @@ -959,6 +968,7 @@ end -- If exists true, then make sure exists first, if false or undefined, make sure doesn't exist function savedefinition(self, userid, defin, test, exists) + updateuserid(self) local allowedlist = getallowedlist(self, userid) -- remove blank entries, if present defin.value.rules.value = string.gsub("\n"..format.dostounix(defin.value.rules.value), "\n%s*,%s*,%s*,%s*,%s*,%s*0000000", "") @@ -1038,10 +1048,12 @@ function savedefinition(self, userid, defin, test, exists) end function updatedefinition(self, userid, defin, test) + updateuserid(self) return savedefinition(self, userid, defin, test, true) end function deletedefinition(self, userid, did) + updateuserid(self) local allowedlist = getallowedlist(self, userid) local result = cfe({ label="Delete DID Number Result", errtxt="DID Number does not exist" }) did = stripdash(did) @@ -1063,7 +1075,8 @@ function deletedefinition(self, userid, did) return result end -function getunuseddefinition() +function getunuseddefinition(self, clientdata) + updateuserid(self) local errtxt local retval = {} retval.exchange = cfe({ type="select", label="Exchange", option={} }) @@ -1087,6 +1100,7 @@ function getunuseddefinition() end function setunuseddefinition(defin) + updateuserid(self) local success = modelfunctions.validateselect(defin.value.exchange) if success then local res, err = pcall(function() @@ -1111,6 +1125,7 @@ function setunuseddefinition(defin) end function publishdefinition(did) + updateuserid(self) local result = "" local errtxt = "Invalid DID" did = stripdash(did) @@ -1135,6 +1150,7 @@ function publishdefinition(did) end function publishalldefinitions() + updateuserid(self) local result = "" local errtxt local pw = format.parse_ini_file(fs.read_file(configfile) or "", "", "password") or "" @@ -1159,6 +1175,7 @@ function publishalldefinitions() end function testdatabase() + updateuserid(self) local retval = cfe({ type="boolean", value=false, label="Database present" }) local dbs = listdatabases() for i,db in ipairs(dbs) do @@ -1171,6 +1188,7 @@ function testdatabase() end function getnewdatabase() + updateuserid(self) local database = {} local errtxt database.password = cfe({ type="password", label="Password", seq=1 }) @@ -1184,6 +1202,7 @@ function getnewdatabase() end function create_database(self, database) + updateuserid(self) local success = true local errtxt @@ -1239,6 +1258,7 @@ function create_database(self, database) end function getactivitylog() + updateuserid(self) local retval = cfe({ type="list", value={}, label="DID Activity Log" }) local res, err = pcall(function() local connected = databaseconnect(DatabaseUser) @@ -1253,6 +1273,7 @@ function getactivitylog() end function getpermissionslist(self) + updateuserid(self) local auth = authenticator.get_subauth(self) local users = authenticator.list_users(self) local userlist = {} @@ -1337,6 +1358,7 @@ local function validaterolepermissions(self, rolepermissions) end function getuserpermissions(self, userid) + updateuserid(self) local auth = authenticator.get_subauth(self) local entry = auth.read_entry(self, authenticator.usertable, self.conf.prefix..self.conf.controller, userid) or "" local restricted, allowedlist @@ -1351,6 +1373,7 @@ function getuserpermissions(self, userid) end function setuserpermissions(self, userpermissions) + updateuserid(self) local success, userpermissions = validateuserpermissions(self, userpermissions) if success then @@ -1363,6 +1386,7 @@ function setuserpermissions(self, userpermissions) end function getrolepermissions(self, role) + updateuserid(self) local auth = authenticator.get_subauth(self) local entry = auth.read_entry(self, authenticator.roletable, self.conf.prefix..self.conf.controller, role) or "" local restricted, allowedlist @@ -1377,6 +1401,7 @@ function getrolepermissions(self, role) end function setrolepermissions(self, rolepermissions) + updateuserid(self) local success, rolepermissions = validaterolepermissions(self, rolepermissions) if success then @@ -1389,6 +1414,7 @@ function setrolepermissions(self, rolepermissions) end function requestdid(self, userid) + updateuserid(self) local errtxt local result = "" local res, err = pcall(function() |