diff options
author | Ted Trask <ttrask01@yahoo.com> | 2013-01-26 00:33:01 +0000 |
---|---|---|
committer | Ted Trask <ttrask01@yahoo.com> | 2013-01-26 00:33:01 +0000 |
commit | 44d949e561ee652d598c75bd1f4dfc69ca0f6dbc (patch) | |
tree | f7ea5948257a50ce2ac531d4d990605190356802 | |
parent | 2c02332c709fcd7deed6ad95f3c74326210ab333 (diff) | |
download | acf-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.lua | 8 | ||||
-rw-r--r-- | kamailio-model.lua | 63 |
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 |