summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTed Trask <ttrask01@yahoo.com>2011-01-08 20:30:37 +0000
committerTed Trask <ttrask01@yahoo.com>2011-01-08 20:30:37 +0000
commit802b8d7fe548afad99235db73b9c7ffea64c011b (patch)
treea1d64e28d450aa61e6fdefa9565e79b28e36d1bf
parent7737dbd5def8fe3f38553e6e5c91bfc389fcae64 (diff)
downloadacf-kamailio-802b8d7fe548afad99235db73b9c7ffea64c011b.tar.bz2
acf-kamailio-802b8d7fe548afad99235db73b9c7ffea64c011b.tar.xz
Added createdatabase action.
-rw-r--r--kamailio-controller.lua3
-rw-r--r--kamailio-listtables-html.lsp9
-rw-r--r--kamailio-model.lua7
-rw-r--r--kamailio.roles4
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