summaryrefslogtreecommitdiffstats
path: root/kamailio-model.lua
diff options
context:
space:
mode:
authorTed Trask <ttrask01@yahoo.com>2014-06-30 18:59:29 +0000
committerTed Trask <ttrask01@yahoo.com>2014-06-30 18:59:29 +0000
commit07e7024ab0b09351ede7782321c88824d06596e5 (patch)
tree28ec14a285c01124c78bd4e1613ce4afea18fbf7 /kamailio-model.lua
parentd476c52adca9c1a2550b60cc49c4670cf3e800bd (diff)
downloadacf-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.lua23
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