summaryrefslogtreecommitdiffstats
path: root/dnscache-controller.lua
diff options
context:
space:
mode:
authorTed Trask <ttrask01@yahoo.com>2008-07-05 13:19:26 +0000
committerTed Trask <ttrask01@yahoo.com>2008-07-05 13:19:26 +0000
commitdba7285654a0e2b918c203c200bc0ebd75482f59 (patch)
tree3e903dd228ce54de4f94933420702f4c53a8f175 /dnscache-controller.lua
parent49a7dc03a16343f7c4abfba998866a8a6abffae7 (diff)
downloadacf-dnscache-dba7285654a0e2b918c203c200bc0ebd75482f59.tar.bz2
acf-dnscache-dba7285654a0e2b918c203c200bc0ebd75482f59.tar.xz
Modified dnscache to use controllerfunctions, modelfunctions, and common lsp files.
git-svn-id: svn://svn.alpinelinux.org/acf/dnscache/trunk@1282 ab2d0c66-481e-0410-8bed-d214d4d58bed
Diffstat (limited to 'dnscache-controller.lua')
-rw-r--r--dnscache-controller.lua85
1 files changed, 9 insertions, 76 deletions
diff --git a/dnscache-controller.lua b/dnscache-controller.lua
index d50fb63..bed2356 100644
--- a/dnscache-controller.lua
+++ b/dnscache-controller.lua
@@ -1,40 +1,7 @@
module(..., package.seeall)
-- Load libraries
-require("format")
-
-local function handle_form(getFunction, setFunction, clientdata, option, label, descr)
- local form = getFunction()
-
- if clientdata[option] then
- form.errtxt = nil
- for name,value in pairs(form.value) do
- value.errtxt = nil
- if value.type == "boolean" then
- value.value = (clientdata[name] ~= nil)
- elseif value.type == "list" then
- value.value = {}
- if clientdata[name] and clientdata[name] ~= "" then
- for ip in string.gmatch(clientdata[name].."\n", "%s*(%S[^\n]*%S)%s*\n") do
- table.insert(value.value, ip)
- end
- end
- else
- value.value = clientdata[name] or value.value
- end
- end
- form = setFunction(form)
- if not form.errtxt then
- form.descr = descr
- end
- end
-
- form.type = "form"
- form.option = option
- form.label = label
-
- return form
-end
+require("controllerfunctions")
default_action = "status"
@@ -43,47 +10,19 @@ function status(self)
end
function startstop(self)
- local result
- if self.clientdata.action then
- result = self.model.startstop_service(self.clientdata.action)
- self.sessiondata.dnscachestartstopresult = result
- self.redirect_to_referrer(self)
- end
-
- local status = self.model.getstatus()
- status = status.value.status
- if self.sessiondata.dnscachestartstopresult then
- result = self.sessiondata.dnscachestartstopresult
- self.sessiondata.dnscachestartstopresult = nil
- end
-
- return cfe({ type="group", value={status=status, result=result} })
+ return controllerfunctions.handle_startstop(self, self.model.startstop_service, self.model.getstatus, self.clientdata)
end
function config(self)
- return handle_form(self.model.getconfig, self.model.setconfig, self.clientdata, "Save", "Edit Config", "Configuration Set")
+ return controllerfunctions.handle_form(self, self.model.getconfig, self.model.setconfig, self.clientdata, "Save", "Edit Config", "Configuration Set")
end
function expert(self)
- local filedetails
- if self.clientdata.Save then
- filedetails = self.model.setconfigfile(self.clientdata.filecontent)
- if not filedetails.errtxt then
- filedetails.descr = "Config file set"
- end
- else
- filedetails = self.model.getconfigfile()
- end
-
- filedetails.type = "form"
- filedetails.option = "Save"
- filedetails.label = "Set config file"
-
- return filedetails
+ return controllerfunctions.handle_form(self, self.model.getconfigfile, self.model.setconfigfile, self.clientdata, "Save", "Edit Config File", "Configuration File Set")
end
function editips(self)
- return handle_form(self.model.getIPs, self.model.setIPs, self.clientdata, "Save", "Edit IP List", "IP List Set")
+ return controllerfunctions.handle_form(self, self.model.getIPs, self.model.setIPs, self.clientdata, "Save", "Edit IP List", "IP List Set")
end
function listdomains(self)
@@ -91,20 +30,14 @@ function listdomains(self)
end
function createdomain(self)
- local cmdresult = handle_form(self.model.getNewDomain, self.model.setNewDomain, self.clientdata, "Create", "Create new domain", "New domain created")
- if cmdresult.descr then
- redirect_to_referrer(self)
- end
- return cmdresult
+ return controllerfunctions.handle_form(self, self.model.getNewDomain, self.model.setNewDomain, self.clientdata, "Create", "Create New Domain", "New Domain Created")
end
function editdomain(self)
- return handle_form(function(form) return self.model.getDomain(self.clientdata.domain) end,
- self.model.setDomain, self.clientdata, "Save", "Edit domain entry", "Domain saved")
+ return controllerfunctions.handle_form(self, function(form) return self.model.getDomain(self.clientdata.domain) end,
+ self.model.setDomain, self.clientdata, "Save", "Edit Domain Entry", "Domain Saved")
end
function deletedomain(self)
- local cmdresult = self.model.deleteDomain(self.clientdata.domain)
- redirect_to_referrer(self)
- return cmdresult
+ return self:redirect_to_referrer(self.model.deleteDomain(self.clientdata.domain))
end