summaryrefslogtreecommitdiffstats
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
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
-rw-r--r--kamailio-model.lua23
-rw-r--r--kamailio-viewtable-html.lsp4
2 files changed, 21 insertions, 6 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
diff --git a/kamailio-viewtable-html.lsp b/kamailio-viewtable-html.lsp
index 2ee1140..0d08ec5 100644
--- a/kamailio-viewtable-html.lsp
+++ b/kamailio-viewtable-html.lsp
@@ -25,7 +25,7 @@
<% htmlviewfunctions.displaycommandresults({"createtableentry"}, session, true) %>
<% local header_level = htmlviewfunctions.displaysectionstart(form, page_info) %>
-<% htmlviewfunctions.displayformitem(form.value.table) %>
+<% htmlviewfunctions.displayitem(form.value.table) %>
<table id="list" class="tablesorter"><thead>
<tr>
<% if viewlibrary.check_permission("deletetableentry") or viewlibrary.check_permission("updatetableentry") then %>
@@ -36,7 +36,7 @@
<% end %>
</tr>
</thead><tbody>
-<% local redir = cfe({ type="hidden", value=page_info.orig_action.."?table="..form.value.table.value }) %>
+<% local redir = cfe({ type="hidden", value=page_info.orig_action }) %>
<% local table = cfe({ type="hidden", value=form.value.table.value }) %>
<% local id = cfe({ type="hidden" }) %>
<% for i,tableentry in ipairs(form.value.entries.value) do %>