1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
|
module(..., package.seeall)
validator = require("acf.validator")
mvc = {}
mvc.on_load = function(self, parent)
self.model.set_processname(string.match(self.conf.prefix, "[^/]+"))
end
default_action = "status"
function status(self)
return self.model.getstatus()
end
function view(self)
return self.model.getconfigobjects(self, self.clientdata.filename, sessiondata.userinfo.userid)
end
function startstop(self)
return self.handle_form(self, self.model.get_startstop, self.model.startstop_service, self.clientdata)
end
function config(self)
return self.handle_form(self, self.model.getconfig, self.model.setconfig, self.clientdata, "Save", "Edit Configuration", "Configuration Saved")
end
function newfile(self)
return self.handle_form(self, self.model.getnewconfigfile, function(self, value)
return self.model.createconfigfile(self, value, sessiondata.userinfo.userid)
end, self.clientdata, "Create", "Create New Config File", "Config File Created")
end
function listfiles(self)
local configfiles = self.model.getfilelist(self, sessiondata.userinfo.userid)
local config = {}
for k,v in pairs(configfiles.value) do
local filedetails = self.model.get_filedetails(self, v, sessiondata.userinfo.userid)
table.insert(config,filedetails)
end
return cfe({ type="list", value=config, label="Config files" })
end
function edit(self)
return editfile(self)
end
function editfile(self)
config = self.handle_form(self, function()
return self.model.get_filedetails(self, self.clientdata.filename, sessiondata.userinfo.userid)
end, function(self, value)
return self.model.set_filedetails(self, value, sessiondata.userinfo.userid)
end, self.clientdata, "Save", "Edit Config File", "Config 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 delete(self)
return self:redirect_to_referrer(self.model.remove_file(self, self.clientdata.filename, sessiondata.userinfo.userid))
end
function listpermissions(self)
return self.model:getpermissionslist()
end
function edituserpermissions(self)
return self.handle_form(self, function()
return self.model:getuserpermissions(self.clientdata.userid)
end, self.model.setuserpermissions, self.clientdata, "Save", "Edit User Permissions", "User permissions set")
end
function editrolepermissions(self)
return self.handle_form(self, function()
return self.model:getrolepermissions(self.clientdata.role)
end, self.model.setrolepermissions, self.clientdata, "Save", "Edit Role Permissions", "Role permissions set")
end
|