summaryrefslogtreecommitdiffstats
path: root/tinydns-controller.lua
diff options
context:
space:
mode:
authorMika Havela <mika.havela@gmail.com>2008-04-04 15:16:09 +0000
committerMika Havela <mika.havela@gmail.com>2008-04-04 15:16:09 +0000
commita084d26cb2a9226faa39750e32c3fbacf217c16c (patch)
tree647602157746ee52210b167f7588b1b647b51e4f /tinydns-controller.lua
parent97326d4f4a87147c3885c879da99101afd36371e (diff)
downloadacf-tinydns-a084d26cb2a9226faa39750e32c3fbacf217c16c.tar.bz2
acf-tinydns-a084d26cb2a9226faa39750e32c3fbacf217c16c.tar.xz
Creating a expert tab so you can edit the config-files.
git-svn-id: svn://svn.alpinelinux.org/acf/tinydns/trunk@945 ab2d0c66-481e-0410-8bed-d214d4d58bed
Diffstat (limited to 'tinydns-controller.lua')
-rw-r--r--tinydns-controller.lua73
1 files changed, 73 insertions, 0 deletions
diff --git a/tinydns-controller.lua b/tinydns-controller.lua
index 8bf4769..f6c5268 100644
--- a/tinydns-controller.lua
+++ b/tinydns-controller.lua
@@ -192,6 +192,79 @@ function status(self)
config=config,
}
end
+function expert(self)
+ local cmdmanagement, cmdmanagementresult
+ if ( self.clientdata.cmdmanagement) then
+ cmdmanagement = cfe({
+ name="cmdmanagement",
+ value=string.lower(self.clientdata.cmdmanagement),
+ })
+ cmdmanagementresult, cmdmanagement = self.model:startstop_service( cmdmanagement )
+ end
+
+ local status = getstatus(self)
+ local config = self.model:getfilelist()
+
+ return {
+ option={ script=ENV["SCRIPT_NAME"],
+ prefix=self.conf.prefix,
+ controller = self.conf.controller,
+ action = "expert",
+ link = ENV["SCRIPT_NAME"] .. self.conf.prefix .. self.conf.controller, },
+ cmdmanagement = cmdmanagement,
+ management = management,
+ config = config,
+ status = status,
+ startstop = startstop,
+ debugclientdata = self.clientdata,
+ }
+
+end
+
+function edit(self)
+ local cmdmanagement, cmdmanagementresult, modifications
+ if ( self.clientdata.cmdmanagement) then
+ cmdmanagement = cfe({
+ name="cmdmanagement",
+ value=string.lower(self.clientdata.cmdmanagement),
+ })
+ cmdmanagementresult, cmdmanagement = self.model:startstop_service( cmdmanagement )
+ end
+
+ -- Save changes
+ if ( self.clientdata.cmdsave) then
+ local filetochange = cfe ({ name=self.clientdata.filename, value=self.clientdata.filecontent, })
+ modifications = self.model:updatefilecontent(filetochange)
+ self.clientdata.name = self.clientdata.filename
+ end
+
+ local status = getstatus(self)
+ local file = self.model:get_filedetails(self.clientdata.name)
+
+ -- Add a cmd button to the view
+ file.cmdsave = cfe({ name="cmdsave",
+ label="Save/Apply above settings",
+ value="Save",
+ type="submit",
+ disabled="yes",
+ })
+
+ return {
+ option={ script=ENV["SCRIPT_NAME"],
+ prefix=self.conf.prefix,
+ controller = self.conf.controller,
+ action = "edit",
+ link = ENV["SCRIPT_NAME"] .. self.conf.prefix .. self.conf.controller, },
+ cmdmanagement = cmdmanagement,
+ modifications = modifications,
+ management = management,
+ file = file,
+ status = status,
+ startstop = startstop,
+ debugclientdata = self.clientdata,
+ }
+
+end
--[=[
function edit_records(self,types,record,errormessage)
local recorddetails = {}