summaryrefslogtreecommitdiffstats
path: root/tinydns-controller.lua
diff options
context:
space:
mode:
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 = {}