summaryrefslogtreecommitdiffstats
path: root/provisioning-controller.lua
blob: 7dce123f36fbbeae514cab77d69ced1609c5060d (plain)
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
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
module (..., package.seeall)

default_action = "listdevices"

listtemplates = function( self )
	return self.model.list_templates()
end

edittemplate = function( self )
	return self.handle_form(self, self.model.get_template, self.model.update_template, self.clientdata, "Save", "Edit Template", "Template Saved")
end

createtemplate = function( self )
	return self.handle_form(self, self.model.get_template, self.model.create_template, self.clientdata, "Create", "Create Template", "Template Created")
end

deletetemplate = function( self )
	return self.handle_form(self, self.model.get_delete_template, self.model.delete_template, self.clientdata, "Delete", "Delete Template", "Template Deleted")
end

listclassgroups = function( self )
	return self.model.list_class_groups()
end

editclassgroup = function( self )
	return self.handle_form(self, self.model.get_class_group, self.model.update_class_group, self.clientdata, "Save", "Edit Class Group", "Class Group Saved")
end

createclassgroup = function( self )
	return self.handle_form(self, self.model.get_class_group, self.model.create_class_group, self.clientdata, "Create", "Create Class Group", "Parameter Class Created")
end

deleteclassgroup = function( self )
	return self.handle_form(self, self.model.get_delete_class_group, self.model.delete_class_group, self.clientdata, "Delete", "Delete Class Group", "Class Group Deleted")
end

listclasses = function( self )
	return self.model.list_classes()
end

editclass = function( self )
	return self.handle_form(self, self.model.get_class, self.model.update_class, self.clientdata, "Save", "Edit Class", "Class Saved")
end

createclass = function( self )
	return self.handle_form(self, self.model.get_class, self.model.create_class, self.clientdata, "Create", "Create Class", "Class Created")
end

deleteclass = function( self )
	return self.handle_form(self, self.model.get_delete_class, self.model.delete_class, self.clientdata, "Delete", "Delete Class", "Class Deleted")
end

getclassvalues = function( self )
	return self.handle_form(self, self.model.get_class_options, self.model.get_class_values, self.clientdata, "Fetch", "Get Device Values")
end

listgroups = function( self )
	return self.model.list_groups()
end

editgroup = function( self )
	return self.handle_form(self, self.model.get_group, self.model.update_group, self.clientdata, "Save", "Edit Parameter Group", "Parameter Group Saved")
end

creategroup = function( self )
	return self.handle_form(self, self.model.get_group, self.model.create_group, self.clientdata, "Create", "Create Parameter Group", "Parameter Group Created")
end

deletegroup = function(self )
	return self.handle_form(self, self.model.get_delete_group, self.model.delete_group, self.clientdata, "Delete", "Delete Parameter Group", "Parameter Group Deleted")
end

listparams = function( self )
	return self.model.list_params()
end

editparam = function( self )
	return self.handle_form(self, self.model.get_param, self.model.update_param, self.clientdata, "Save", "Edit Parameter", "Parameter Saved")
end

createparam = function( self )
	return self.handle_form(self, self.model.get_param, self.model.create_param, self.clientdata, "Create", "Create Parameter", "Parameter Created")
end

deleteparam = function( self )
	return self.handle_form(self, self.model.get_delete_param, self.model.delete_param, self.clientdata, "Delete", "Delete Parameter", "Parameter Deleted")
end

listdevices = function( self )
	return self.model.list_devices()
end

editdevice = function( self )
	return self.handle_form(self, self.model.get_existing_device, self.model.update_device, self.clientdata, "Save", "Edit Device", "Device Saved")
end

createdevice = function( self )
	local retval = self.handle_form(self, self.model.get_new_device, self.model.create_device, self.clientdata, "Create", "Create Device", "Device Created")
	if retval.value.device_id.value ~= "" and not retval.errtxt and self.redirect then
		-- Successfully created a device, redirect to edit it
		self:redirect("editdevice?device_id="..retval.value.device_id.value.."&redir=".. (self.clientdata.redir or "listdevices"))
	end
	return retval
end

duplicatedevice = function( self )
	return self.handle_form(self, self.model.get_existing_device, self.model.create_device, self.clientdata, "Duplicate", "Duplicate Device", "Duplicate Device Created")
end

deletedevice = function( self )
	return self.handle_form(self, self.model.get_delete_device, self.model.delete_device, self.clientdata, "Delete", "Delete Device", "Device Deleted")
end

editdeviceparams = function( self )
	return self.handle_form(self, self.model.get_editable_device_params, self.model.set_editable_device_params, self.clientdata, "Save", "Edit Device Parameters", "Device Parameters Saved")
end

overridedeviceparams = function( self )
	return self.handle_form(self, self.model.get_all_device_params, self.model.set_all_device_params, self.clientdata, "Save", "Override Device Parameters", "Device Parameters Saved")
end

getdevicevalues = function( self )
	return self.handle_form(self, self.model.get_search_options, self.model.fetch_device_values, self.clientdata, "Search", "Get Device Values")
end

searchdevices = function( self )
	return self.handle_form(self, self.model.get_search_options, self.model.search_device_values, self.clientdata, "Search", "Search Device Parameters")
end

editoptions = function( self )
	return self.handle_form(self, self.model.get_param_options, self.model.set_param_options, self.clientdata, "Save", "Edit Parameter Options", "Parameter Options Saved")
end

listfiles = function( self )
	return self.model.list_files()
end

editfile = function( self )
	return self.handle_form(self, self.model.get_filedetails, self.model.update_filedetails, self.clientdata, "Save", "Edit Script File", "Script File Saved")
end

dumpdatabase = function( self )
	return self.handle_form(self, self.model.get_database, self.model.dump_database, self.clientdata, "Submit", "Dump Provisioning Database")
end

getfile = function( self )
	return self.model.get_file(self.clientdata.mac, self.clientdata.ip, self.clientdata.agent)
end

putfile = function( self )
	return self.model.put_file(self.clientdata.mac, self.clientdata.data)
end

listrequests = function( self )
	return self.model.list_requests()
end

deleterequest = function( self )
	return self.handle_form(self, self.model.get_delete_request, self.model.delete_request, self.clientdata, "Delete", "Delete Request", "Request Deleted")
end

createdevicefromrequest = function( self )
	local retval = self.handle_form(self, self.model.get_request, self.model.create_from_request, self.clientdata, "Create", "Create Device", "Device Created")
	if retval.value.device_id and retval.value.device_id.value ~= "" and not retval.errtxt and self.redirect then
		-- Successfully created a device, redirect to edit it
		self:redirect("editdevice?device_id="..retval.value.device_id.value.."&redir=".. (self.clientdata.redir or "listdevices"))
	end
	return retval
end