summaryrefslogtreecommitdiffstats
path: root/nsd-controller.lua
diff options
context:
space:
mode:
authorTed Trask <ttrask01@yahoo.com>2017-04-11 15:07:33 +0000
committerTed Trask <ttrask01@yahoo.com>2017-04-11 15:07:33 +0000
commitf653fac935d599c5453e86c094502f233abe9180 (patch)
treee58db38aef9899d5359b4b69a6419408d95c564c /nsd-controller.lua
downloadacf-nsd-f653fac935d599c5453e86c094502f233abe9180.tar.bz2
acf-nsd-f653fac935d599c5453e86c094502f233abe9180.tar.xz
Initial commitHEADv0.0.1master
Support for expert editing of files and user/role permissions
Diffstat (limited to 'nsd-controller.lua')
-rw-r--r--nsd-controller.lua59
1 files changed, 59 insertions, 0 deletions
diff --git a/nsd-controller.lua b/nsd-controller.lua
new file mode 100644
index 0000000..846d14c
--- /dev/null
+++ b/nsd-controller.lua
@@ -0,0 +1,59 @@
+local mymodule = {}
+validator = require("acf.validator")
+
+mymodule.default_action = "status"
+
+function mymodule.status(self)
+ return self.model.getstatus()
+end
+
+function mymodule.startstop(self)
+ return self.handle_form(self, self.model.get_startstop, self.model.startstop_service, self.clientdata)
+end
+
+function mymodule.listfiles(self)
+ return self.model.list_files(self)
+end
+
+function mymodule.editfile(self)
+ return self.handle_form(self, self.model.get_file, self.model.update_file, self.clientdata, "Save", "Edit File", "File Saved")
+end
+
+function mymodule.createfile(self)
+ return self.handle_form(self, self.model.get_new_file, self.model.create_file, self.clientdata, "Create", "Create New NSD File", "Freeswitch File Created")
+end
+
+function mymodule.deletefile(self)
+ return self.handle_form(self, self.model.get_delete_file, self.model.delete_file, self.clientdata, "Delete", "Delete NSD File", "Freeswitch File Deleted")
+end
+
+function mymodule.listzonefiles(self)
+ return self.model.getzonefilelist(self, self.clientdata, self.sessiondata.userinfo.userid)
+end
+
+function mymodule.editzonefile(self)
+ config = self.handle_form(self, function()
+ return self.model.get_zonefile(self, self.clientdata, self.sessiondata.userinfo.userid)
+ end, function(self, value)
+ return self.model.set_zonefile(self, value, self.sessiondata.userinfo.userid)
+ end, self.clientdata, "Save", "Edit Zone File", "Zone File Saved")
+
+ if self.clientdata.linenumber and validator.is_integer(self.clientdata.linenumber) then
+ config.value.filecontent.linenumber = self.clientdata.linenumber
+ end
+ return config
+end
+
+function mymodule.listpermissions(self)
+ return self.model:getpermissionslist()
+end
+
+function mymodule.edituserpermissions(self)
+ return self.handle_form(self, self.model.getuserpermissions, self.model.setuserpermissions, self.clientdata, "Save", "Edit User Permissions", "User permissions set")
+end
+
+function mymodule.editrolepermissions(self)
+ return self.handle_form(self, self.model.getrolepermissions, self.model.setrolepermissions, self.clientdata, "Save", "Edit Role Permissions", "Role permissions set")
+end
+
+return mymodule