diff options
Diffstat (limited to 'tinydns-controller.lua')
-rw-r--r-- | tinydns-controller.lua | 73 |
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 = {} |