diff options
author | Ted Trask <ttrask01@yahoo.com> | 2017-04-11 15:07:33 +0000 |
---|---|---|
committer | Ted Trask <ttrask01@yahoo.com> | 2017-04-11 15:07:33 +0000 |
commit | f653fac935d599c5453e86c094502f233abe9180 (patch) | |
tree | e58db38aef9899d5359b4b69a6419408d95c564c /nsd-controller.lua | |
download | acf-nsd-f653fac935d599c5453e86c094502f233abe9180.tar.bz2 acf-nsd-f653fac935d599c5453e86c094502f233abe9180.tar.xz |
Support for expert editing of files and user/role permissions
Diffstat (limited to 'nsd-controller.lua')
-rw-r--r-- | nsd-controller.lua | 59 |
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 |