diff options
author | Ted Trask <ttrask01@yahoo.com> | 2014-06-30 18:59:29 +0000 |
---|---|---|
committer | Ted Trask <ttrask01@yahoo.com> | 2014-06-30 18:59:29 +0000 |
commit | 07e7024ab0b09351ede7782321c88824d06596e5 (patch) | |
tree | 28ec14a285c01124c78bd4e1613ce4afea18fbf7 /kamailio-model.lua | |
parent | d476c52adca9c1a2550b60cc49c4670cf3e800bd (diff) | |
download | acf-kamailio-07e7024ab0b09351ede7782321c88824d06596e5.tar.bz2 acf-kamailio-07e7024ab0b09351ede7782321c88824d06596e5.tar.xz |
Temporary workaround to make viewtable show the previously selected table if none specified
Diffstat (limited to 'kamailio-model.lua')
-rw-r--r-- | kamailio-model.lua | 23 |
1 files changed, 19 insertions, 4 deletions
diff --git a/kamailio-model.lua b/kamailio-model.lua index fe7d378..4d31093 100644 --- a/kamailio-model.lua +++ b/kamailio-model.lua @@ -367,6 +367,15 @@ function mymodule.list_table_entries(self, clientdata) retval.table = cfe({ value=table or "", label="Table", key=true }) retval.fields = cfe({ type="list", value={}, label="List of Table Fields" }) retval.entries = cfe({ type="structure", value={}, label="List of Database Entries" }) + + -- This is a temporary workaround due to redirect_to_referrer not including clientdata + if self.sessiondata and self.sessiondata.keydata and self.sessiondata.keydata[self.conf.prefix..self.conf.controller.."/"..self.conf.action] then + keydata = self.sessiondata.keydata[self.conf.prefix..self.conf.controller.."/"..self.conf.action] + if retval.table.value == "" and keydata.table then + retval.table.value = keydata.table + end + end + local errtxt local res, err = pcall(function() local db = databasecreate() @@ -375,11 +384,11 @@ function mymodule.list_table_entries(self, clientdata) retval.table.errtxt = "Table does not exist" errtxt = "Table does not exist" for i,t in ipairs(tables) do - if t == table then + if t == retval.table.value then retval.table.errtxt = nil errtxt = nil - retval.entries.value = db.getselectresponse("SELECT * FROM "..db.escape(table).." ORDER BY id ASC") or {} - retval.fields.value = db.listcolumns(table) or {} + retval.entries.value = db.getselectresponse("SELECT * FROM "..db.escape(retval.table.value).." ORDER BY id ASC") or {} + retval.fields.value = db.listcolumns(retval.table.value) or {} end end if connected then db.databasedisconnect() end @@ -387,7 +396,13 @@ function mymodule.list_table_entries(self, clientdata) if not res and err then errtxt = err end - + + -- This is a temporary workaround due to redirect_to_referrer not including clientdata + if retval.table.value ~= "" and not errtxt and self.sessiondata then + self.sessiondata.keydata = self.sessiondata.keydata or {} + self.sessiondata.keydata[self.conf.prefix..self.conf.controller.."/"..self.conf.action] = {table=retval.table.value} + end + return cfe({ type="group", value=retval, label="Database Table Entries", errtxt=errtxt }) end |