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 | |
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
-rw-r--r-- | kamailio-model.lua | 23 | ||||
-rw-r--r-- | kamailio-viewtable-html.lsp | 4 |
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 %> |