diff options
-rw-r--r-- | kamailio-controller.lua | 3 | ||||
-rw-r--r-- | kamailio-listtables-html.lsp | 9 | ||||
-rw-r--r-- | kamailio-model.lua | 7 | ||||
-rw-r--r-- | kamailio.roles | 4 |
4 files changed, 21 insertions, 2 deletions
diff --git a/kamailio-controller.lua b/kamailio-controller.lua index 69d3d1d..9352aac 100644 --- a/kamailio-controller.lua +++ b/kamailio-controller.lua @@ -57,3 +57,6 @@ function createtableentry(self) return controllerfunctions.handle_form(self, function() return self.model.get_table_entry(self.clientdata.table) end, self.model.create_table_entry, self.clientdata, "Create", "Create New Table Entry", "Entry created") end +function createdatabase(self) + return self:redirect_to_referrer(self.model.create_database()) +end diff --git a/kamailio-listtables-html.lsp b/kamailio-listtables-html.lsp index 6a117e4..49aebc2 100644 --- a/kamailio-listtables-html.lsp +++ b/kamailio-listtables-html.lsp @@ -1,6 +1,8 @@ <% local form, viewlibrary, page_info, session = ... %> <% require("viewfunctions") %> +<% displaycommandresults({"createdatabase"}, session) %> + <H1><%= html.html_escape(form.label) %></H1> <DL> <% for i,table in ipairs(form.value) do %> @@ -11,4 +13,11 @@ <%= html.html_escape(table) %> <% end %> <% end %> +<% if #form.value == 0 and viewlibrary.check_permission("createdatabase") then %> +<DT>Create Database</DT><DD> +<form action="<%= html.html_escape(page_info.script .. page_info.prefix .. page_info.controller .. "/createdatabase") %>"> +<input class="submit" type="submit" value="Create"></DD> +</form> +</DD> +<% end %> </DL> diff --git a/kamailio-model.lua b/kamailio-model.lua index 63be94a..3ace9b2 100644 --- a/kamailio-model.lua +++ b/kamailio-model.lua @@ -462,3 +462,10 @@ function delete_table_entry(table, id) return cfe({ value=result, errtxt=errtxt, label="Delete Entry Result" }) end + +function create_database() + local cmd = path.."echo -e 'y\ny\n' | "..path.."kamdbctl create 2>&1" + local f = io.popen(cmd) + local result = f:read("*a") + return cfe({ value=result, label="Create database result" }) +end diff --git a/kamailio.roles b/kamailio.roles index 15add79..c425a7b 100644 --- a/kamailio.roles +++ b/kamailio.roles @@ -1,4 +1,4 @@ USER=kamailio:status,kamailio:startstop,kamailio:listusers EDITOR=kamailio:createuser,kamailio:updateuser,kamailio:deleteuser,kamailio:listtables,kamailio:viewtable,kamailio:deletetableentry,kamailio:updatetableentry,kamailio:createtableentry -EXPERT=kamailio:listfiles,kamailio:edit -ADMIN=kamailio:status,kamailio:startstop,kamailio:listusers,kamailio:createuser,kamailio:updateuser,kamailio:deleteuser,kamailio:listfiles,kamailio:edit,kamailio:listtables,kamailio:viewtable,kamailio:deletetableentry,kamailio:updatetableentry,kamailio:createtableentry +EXPERT=kamailio:listfiles,kamailio:edit,kamailio:createdatabase +ADMIN=kamailio:status,kamailio:startstop,kamailio:listusers,kamailio:createuser,kamailio:updateuser,kamailio:deleteuser,kamailio:listfiles,kamailio:edit,kamailio:listtables,kamailio:viewtable,kamailio:deletetableentry,kamailio:updatetableentry,kamailio:createtableentry,kamailio:createdatabase |