summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTed Trask <ttrask01@yahoo.com>2013-01-26 00:33:01 +0000
committerTed Trask <ttrask01@yahoo.com>2013-01-26 00:33:01 +0000
commit44d949e561ee652d598c75bd1f4dfc69ca0f6dbc (patch)
treef7ea5948257a50ce2ac531d4d990605190356802
parent2c02332c709fcd7deed6ad95f3c74326210ab333 (diff)
downloadacf-kamailio-44d949e561ee652d598c75bd1f4dfc69ca0f6dbc.tar.bz2
acf-kamailio-44d949e561ee652d598c75bd1f4dfc69ca0f6dbc.tar.xz
Changed edit, updateuser, createtableentry, and updatetableentry to use standard get functions
-rw-r--r--kamailio-controller.lua8
-rw-r--r--kamailio-model.lua63
2 files changed, 49 insertions, 22 deletions
diff --git a/kamailio-controller.lua b/kamailio-controller.lua
index ae756a6..331dfef 100644
--- a/kamailio-controller.lua
+++ b/kamailio-controller.lua
@@ -15,7 +15,7 @@ function listfiles(self)
end
function edit(self)
- return self.handle_form(self, function() return self.model.get_filedetails(self.clientdata.filename) end, self.model.update_filedetails, self.clientdata, "Save", "Edit File", "File Saved")
+ return self.handle_form(self, self.model.get_filedetails, self.model.update_filedetails, self.clientdata, "Save", "Edit File", "File Saved")
end
function listusers(self)
@@ -32,7 +32,7 @@ function deleteuser(self)
end
function updateuser(self)
- return self.handle_form(self, function() return self.model.get_user(self.clientdata.username) end, self.model.update_user, self.clientdata, "Update", "Update User")
+ return self.handle_form(self, self.model.get_user, self.model.update_user, self.clientdata, "Update", "Update User")
end
function listtables(self)
@@ -48,11 +48,11 @@ function deletetableentry(self)
end
function updatetableentry(self)
- return self.handle_form(self, function() return self.model.get_table_entry(self.clientdata.table, self.clientdata.id) end, self.model.update_table_entry, self.clientdata, "Update", "Update Table Entry", "Entry updated")
+ return self.handle_form(self, self.model.get_table_entry, self.model.update_table_entry, self.clientdata, "Update", "Update Table Entry", "Entry updated")
end
function createtableentry(self)
- return self.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")
+ return self.handle_form(self, self.model.get_new_table_entry, self.model.create_table_entry, self.clientdata, "Create", "Create New Table Entry", "Entry created")
end
function createdatabase(self)
diff --git a/kamailio-model.lua b/kamailio-model.lua
index 3bfd996..944627c 100644
--- a/kamailio-model.lua
+++ b/kamailio-model.lua
@@ -164,8 +164,8 @@ function getstatus()
return modelfunctions.getstatus(processname, packagename, "Kamailio Status")
end
-function get_filedetails(filename)
- return modelfunctions.getfiledetails(filename, is_valid_filename)
+function get_filedetails(self, clientdata)
+ return modelfunctions.getfiledetails(clientdata.filename, is_valid_filename)
end
function update_filedetails(self, filedetails)
@@ -264,14 +264,14 @@ function delete_user(self, user)
return user
end
-function get_user(username)
+function get_user(self, clientdata)
local user = get_new_user()
- user.value.username.value = username
+ user.value.username.value = clientdata.username or ""
user.value.username.errtxt = "Invalid user"
user.value.username.readonly = true
local users = list_users()
for i,u in ipairs(users.value) do
- if u.username == username then
+ if u.username == clientdata.username then
user.value.username.errtxt = nil
break
end
@@ -335,46 +335,72 @@ function list_table_entries(table)
return cfe({ type="group", value=retval, label="Database Table Entries", errtxt=errtxt })
end
-function get_table_entry(table, id)
+function get_new_table_entry(self, clientdata)
local retval = {}
- retval.table = cfe({ value=table or "", label="Table", errtxt="Table does not exist", readonly=true, seq=0 })
+ retval.table = cfe({ value=clientdata.table or "", label="Table", errtxt="Table does not exist", readonly=true, seq=0 })
local errtxt = "Table does not exist"
- if table and table ~= "" then
+ if clientdata.table and clientdata.table ~= "" then
local res, err = pcall(function()
local connected = databaseconnect()
local tables = listtables()
for i,t in ipairs(tables) do
- if t == table then
+ if t == clientdata.table then
retval.table.errtxt = nil
errtxt = nil
break
end
end
if not errtxt then
- local fields = listcolumns(table)
+ local fields = listcolumns(clientdata.table)
for i,f in ipairs(fields) do
retval[f] = cfe({ label=f, seq=i })
end
- if id and id ~= "" and retval.id then
- retval.id.readonly = true
- local entry = getselectresponse("SELECT * FROM "..table.." WHERE id='"..escape(id).."'")
+ if retval.id then
+ retval.id.type = "hidden"
+ end
+ end
+ if connected then databasedisconnect() end
+ end)
+ if not res and err then
+ errtxt = err
+ end
+ end
+
+ return cfe({ type="group", value=retval, label="Database Table Entry", errtxt=errtxt })
+end
+
+function get_table_entry(self, clientdata)
+ local retval = get_new_table_entry(self, clientdata)
+ if not retval.value.table.errtxt and retval.value.id then
+ retval.value.id.type = "text"
+ local res, err = pcall(function()
+ local connected = databaseconnect()
+ retval.errtxt = "Entry does not exist"
+ if retval.value.id then
+ retval.value.id.value = clientdata.id or ""
+ retval.value.id.errtxt = "Entry does not exist"
+ if clientdata.id and clientdata.id ~= "" then
+ local entry = getselectresponse("SELECT * FROM "..clientdata.table.." WHERE id='"..escape(clientdata.id).."'")
if entry and #entry > 0 then
for n,v in pairs(entry[1]) do
- if retval[n] then retval[n].value = v end
+ if retval.value[n] then retval.value[n].value = v end
+ if n == "id" then
+ retval.value.id.readonly = true
+ retval.value.id.errtxt = nil
+ retval.errtxt = nil
+ end
end
end
- elseif retval.id then
- retval.id.type = "hidden"
end
end
if connected then databasedisconnect() end
end)
if not res and err then
- errtxt = err
+ retval.errtxt = err
end
end
- return cfe({ type="group", value=retval, label="Database Table Entry", errtxt=errtxt })
+ return retval
end
function create_table_entry(self, entry, action)
@@ -416,6 +442,7 @@ function update_table_entry(self, entry, action, create)
local tmp = getselectresponse(sql)
if not tmp or #tmp == 0 then
success = false
+ entry.value.id.errtxt = "Entry does not exist"
errtxt = "Entry does not exist"
end
end