summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTed Trask <ttrask01@yahoo.com>2012-04-28 12:17:45 +0000
committerTed Trask <ttrask01@yahoo.com>2012-04-28 12:17:45 +0000
commitf8fe1052812475e445ff1905b1d02c20a8bc20f4 (patch)
tree5a09c6af97ef5e0735e989bf7940cc4c65ec0585
parent84bfd38162321c36e30a06865a0437cfaa4fc339 (diff)
downloadacf-provisioning-f8fe1052812475e445ff1905b1d02c20a8bc20f4.tar.bz2
acf-provisioning-f8fe1052812475e445ff1905b1d02c20a8bc20f4.tar.xz
Updated for handle_form now passing self to get and set functions
-rw-r--r--provisioning-controller.lua26
-rw-r--r--provisioning-model.lua107
2 files changed, 75 insertions, 58 deletions
diff --git a/provisioning-controller.lua b/provisioning-controller.lua
index aa37d46..da783b1 100644
--- a/provisioning-controller.lua
+++ b/provisioning-controller.lua
@@ -7,11 +7,11 @@ listtemplates = function( self )
end
edittemplate = function( self )
- return self.handle_form(self, function() return self.model.get_template(self.clientdata.filename) end, self.model.update_template, self.clientdata, "Save", "Edit Template", "Template Saved")
+ 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, function() return self.model.get_template(self.clientdata.filename) end, self.model.create_template, self.clientdata, "Create", "Create Template", "Template Created")
+ return self.handle_form(self, self.model.get_template, self.model.create_template, self.clientdata, "Create", "Create Template", "Template Created")
end
deletetemplate = function( self )
@@ -23,7 +23,7 @@ listclassgroups = function( self )
end
editclassgroup = function( self )
- return self.handle_form(self, function() return self.model.get_class_group(self.clientdata.class_group_id) end, self.model.update_class_group, self.clientdata, "Save", "Edit Class Group", "Class Group Saved")
+ 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 )
@@ -39,7 +39,7 @@ listclasses = function( self )
end
editclass = function( self )
- return self.handle_form(self, function() return self.model.get_class(self.clientdata.class_id) end, self.model.update_class, self.clientdata, "Save", "Edit Class", "Class Saved")
+ return self.handle_form(self, self.model.get_class, self.model.update_class, self.clientdata, "Save", "Edit Class", "Class Saved")
end
createclass = function( self )
@@ -51,7 +51,7 @@ deleteclass = function( self )
end
getclassvalues = function( self )
- return self.handle_form(self, function() return self.model.get_class_options(self.clientdata.class_id) end, self.model.get_class_values, self.clientdata, "Fetch", "Get Device Values")
+ 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 )
@@ -59,7 +59,7 @@ listgroups = function( self )
end
editgroup = function( self )
- return self.handle_form(self, function() return self.model.get_group(self.clientdata.group_id) end, self.model.update_group, self.clientdata, "Save", "Edit Parameter Group", "Parameter Group Saved")
+ 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 )
@@ -75,7 +75,7 @@ listparams = function( self )
end
editparam = function( self )
- return self.handle_form(self, function() return self.model.get_param(self.clientdata.param_id) end, self.model.update_param, self.clientdata, "Save", "Edit Parameter", "Parameter Saved")
+ return self.handle_form(self, self.model.get_param, self.model.update_param, self.clientdata, "Save", "Edit Parameter", "Parameter Saved")
end
createparam = function( self )
@@ -91,7 +91,7 @@ listdevices = function( self )
end
editdevice = function( self )
- return self.handle_form(self, function() return self.model.get_device(self.clientdata.device_id) end, self.model.update_device, self.clientdata, "Save", "Edit Device", "Device Saved")
+ return self.handle_form(self, self.model.get_device, self.model.update_device, self.clientdata, "Save", "Edit Device", "Device Saved")
end
createdevice = function( self )
@@ -104,7 +104,7 @@ createdevice = function( self )
end
duplicatedevice = function( self )
- return self.handle_form(self, function() return self.model.get_device(self.clientdata.device_id) end, self.model.create_device, self.clientdata, "Duplicate", "Duplicate Device", "Duplicate Device Created")
+ return self.handle_form(self, self.model.get_device, self.model.create_device, self.clientdata, "Duplicate", "Duplicate Device", "Duplicate Device Created")
end
deletedevice = function( self )
@@ -112,11 +112,11 @@ deletedevice = function( self )
end
editdeviceparams = function( self )
- return self.handle_form(self, function() return self.model.get_editable_device_params(self.clientdata.device_id) end, self.model.set_editable_device_params, self.clientdata, "Save", "Edit Device Parameters", "Device Parameters Saved")
+ 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, function() return self.model.get_device_params(self.clientdata.device_id) end, self.model.set_device_params, self.clientdata, "Save", "Override Device Parameters", "Device Parameters Saved")
+ 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 )
@@ -128,7 +128,7 @@ searchdevices = function( self )
end
editoptions = function( self )
- return self.handle_form(self, function() return self.model.get_param_options(self.clientdata.param_id) end, self.model.set_param_options, self.clientdata, "Save", "Edit Parameter Options", "Parameter Options Saved")
+ 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 )
@@ -136,7 +136,7 @@ listfiles = function( self )
end
editfile = function( self )
- return self.handle_form(self, function() return self.model.get_filedetails(self.clientdata.filename) end, self.model.update_filedetails, self.clientdata, "Save", "Edit Script File", "Script File Saved")
+ 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 )
diff --git a/provisioning-model.lua b/provisioning-model.lua
index 297d44e..de2f748 100644
--- a/provisioning-model.lua
+++ b/provisioning-model.lua
@@ -361,7 +361,8 @@ list_templates = function()
return cfe({ type="structure", value=retval, label="List of Templates", errtxt=errtxt })
end
-get_template = function(filename)
+get_template = function(self, clientdata)
+ local filename = clientdata.filename
local retval = {}
if filename and not string.match(filename, "/") then
filename = baseurl .. filename
@@ -398,11 +399,11 @@ get_template = function(filename)
return cfe({ type="group", value=retval, label="Provisioning Template", errtxt=errtxt })
end
-create_template = function(template)
- return update_template(template, true)
+create_template = function(self, template, action)
+ return update_template(self, template, action, true)
end
-update_template = function(template, create)
+update_template = function(self, template, action, create)
local success = true
local errtxt
-- Validate the settings
@@ -503,7 +504,8 @@ list_class_groups = function()
return cfe({ type="structure", value=retval, label="List of Class Groups", errtxt=errtxt })
end
-get_class_group = function(class_group_id)
+get_class_group = function(self, clientdata)
+ local class_group_id = clientdata.class_group_id
local retval = {}
retval.class_group_id = cfe({value=class_group_id or "", label="Class Group ID", seq=1})
retval.name = cfe({label="Name", seq=2})
@@ -532,11 +534,11 @@ get_class_group = function(class_group_id)
return cfe({ type="group", value=retval, label="Provisioning Class Group", errtxt=errtxt })
end
-create_class_group = function(group)
- return update_class_group(group, true)
+create_class_group = function(self, group, action)
+ return update_class_group(self, group, action, true)
end
-update_class_group = function(group, create)
+update_class_group = function(self, group, action, create)
local success = true
local errtxt
-- Validate the settings
@@ -643,7 +645,8 @@ list_classes = function()
return cfe({ type="structure", value=retval, label="List of Classes", errtxt=errtxt })
end
-get_class = function(class_id)
+get_class = function(self, clientdata)
+ local class_id = clientdata.class_id
local retval = {}
retval.class_id = cfe({value=class_id or "", label="Class ID", seq=1})
retval.class_group_id = cfe({type="select", label="Class Group", option={}, seq=2})
@@ -699,11 +702,11 @@ get_class = function(class_id)
return cfe({ type="group", value=retval, label="Provisioning Class", errtxt=errtxt })
end
-create_class = function(class)
- return update_class(class, true)
+create_class = function(self, class, action)
+ return update_class(self, class, action, true)
end
-update_class = function(class, create)
+update_class = function(self, class, action, create)
local success = true
local errtxt
-- Validate the settings
@@ -823,7 +826,8 @@ list_groups = function()
return cfe({ type="structure", value=retval, label="List of Parameter Groups", errtxt=errtxt })
end
-get_group = function(group_id)
+get_group = function(self, clientdata)
+ local group_id = clientdata.group_id
local retval = {}
retval.group_id = cfe({value=group_id or "", label="Group ID", seq=1})
retval.name = cfe({label="Name", seq=2})
@@ -888,11 +892,11 @@ get_group = function(group_id)
return cfe({ type="group", value=retval, label="Provisioning Parameter Group", errtxt=errtxt })
end
-create_group = function(group)
- return update_group(group, true)
+create_group = function(self, group, action)
+ return update_group(self, group, action, true)
end
-update_group = function(group, create)
+update_group = function(self, group, action, create)
local success = true
local errtxt
-- Validate the settings
@@ -1034,7 +1038,8 @@ list_params = function()
return cfe({ type="structure", value=retval, label="List of Parameters", errtxt=errtxt })
end
-get_param = function(param_id)
+get_param = function(self, clientdata)
+ local param_id = clientdata.param_id
local retval = {}
retval.param_id = cfe({value=param_id or "", label="Param ID", seq=1})
retval.name = cfe({label="Name", seq=2})
@@ -1068,11 +1073,11 @@ get_param = function(param_id)
return cfe({ type="group", value=retval, label="Provisioning Parameter", errtxt=errtxt })
end
-create_param = function(param)
- return update_param(param, true)
+create_param = function(self, param, action)
+ return update_param(self, param, action, true)
end
-update_param = function(param, create)
+update_param = function(self, param, action, create)
local success = true
local errtxt
-- Validate the settings
@@ -1200,7 +1205,8 @@ list_devices = function()
return cfe({ type="structure", value=retval, label="List of Devices", errtxt=errtxt })
end
-get_device = function(device_id)
+get_device = function(self, clientdata)
+ local device_id = clientdata.device_id
local retval = {}
retval.device_id = cfe({value=device_id or "", label="Device ID", seq=1})
retval.classes = cfe({type="group", value={}, label="Classes", seq=2})
@@ -1241,11 +1247,11 @@ get_device = function(device_id)
return output
end
-create_device = function(device)
- return update_device(device, true)
+create_device = function(self, device, action)
+ return update_device(self, device, action, true)
end
-update_device = function(device, create)
+update_device = function(self, device, action, create)
local success = true
local errtxt
-- Validate the settings
@@ -1353,11 +1359,15 @@ delete_device = function(device_id)
return cfe({ value=result, errtxt=errtxt, label="Delete Device Result" })
end
-get_editable_device_params = function(device_id)
- return get_device_params(device_id, true)
+get_editable_device_params = function(self, clientdata, action)
+ return get_device_params(clientdata.device_id, true)
end
-get_device_params = function(device_id, editable)
+get_all_device_params = function(self, clientdata, action)
+ return get_device_params(clientdata.device_id, false)
+end
+
+local get_device_params = function(device_id, editable)
local retval = {}
retval.device_id = cfe({value=device_id or "", label="Device ID", seq=0})
local errtxt = "Cannot find device"
@@ -1426,13 +1436,14 @@ get_device_params = function(device_id, editable)
return output
end
-get_class_options = function(class_id)
+get_class_options = function(self, clientdata)
+ local class_id = clientdata.classs_id
local retval = {}
retval.class_id = cfe({value=class_id or "", label="Class ID", seq=1})
return cfe({ type="group", value=retval, label="Provisioning Class Values" })
end
-get_class_values = function(retval)
+get_class_values = function(self, retval)
retval.errtxt = "Failed to find class"
if not validator.is_integer(retval.value.class_id.value) then
retval.value.class_id.errtxt = "Invalid class ID"
@@ -1475,11 +1486,15 @@ get_class_values = function(retval)
return retval
end
-set_editable_device_params = function(params)
+set_editable_device_params = function(self, params)
return set_device_params(params, true)
end
-set_device_params = function(params, editable)
+set_all_device_params = function(self, params)
+ return set_device_params(params, false)
+end
+
+local set_device_params = function(params, editable)
-- Validate the settings
local success = validateparam(params)
local errtxt
@@ -1547,10 +1562,10 @@ set_device_params = function(params, editable)
return params
end
-fetch_device_values = function(search)
+fetch_device_values = function(self, search)
local res, err = pcall(function()
local connected = databaseconnect()
- search = search_device_values(search)
+ search = search_device_values(self, search)
if search.errtxt then
-- Just return the error
elseif #search.value.result.value == 0 then
@@ -1636,7 +1651,7 @@ get_search_options = function()
return cfe({type="group", value=retval, label="Device Search", errtxt=errtxt})
end
-search_device_values = function(search)
+search_device_values = function(self, search)
local success = true
success = modelfunctions.validateselect(search.value.id) and success
success = modelfunctions.validateselect(search.value.comparison) and success
@@ -1685,7 +1700,8 @@ search_device_values = function(search)
return search
end
-get_param_options = function(param_id)
+get_param_options = function(self, clientdata)
+ local param_id = clientdata.param_id
local retval = {}
retval.param_id = cfe({value=param_id or "", label="Parameter ID", seq=0})
retval.name = cfe({label="Name", seq=1})
@@ -1718,7 +1734,7 @@ get_param_options = function(param_id)
return cfe({ type="group", value=retval, label="Provisioning Parameter Options", errtxt=errtxt })
end
-set_param_options = function(options)
+set_param_options = function(self, options)
local success = true
local errtxt
-- Validate the settings
@@ -1767,12 +1783,12 @@ set_param_options = function(options)
return options
end
-function get_filedetails(filename)
- return modelfunctions.getfiledetails(filename, scriptfiles)
+function get_filedetails(self, clientdata)
+ return modelfunctions.getfiledetails(clientdata.filename, scriptfiles)
end
-function update_filedetails(filedetails)
- return modelfunctions.setfiledetails(filedetails, scriptfiles)
+function update_filedetails(self, filedetails)
+ return modelfunctions.setfiledetails(self, filedetails, scriptfiles)
end
function list_files()
@@ -1791,7 +1807,7 @@ function get_database()
return cfe({ type="group", value={devices=devices}, label="Provisioning Database Dump" })
end
-function dump_database(db)
+function dump_database(self, db)
local res, err = pcall(function()
local connected = databaseconnect()
local lines = {}
@@ -1882,7 +1898,7 @@ function get_file(mac, ip, agent)
result = get_search_options()
result.value.id.value = "device.mac"
result.value.value.value = string.upper(mac)
- result = fetch_device_values(result)
+ result = fetch_device_values(self, result)
-- If can't find the device, return a file with default settings
if #result.value.result.value == 0 then
@@ -1924,7 +1940,7 @@ function put_file(mac, data)
local search = get_search_options()
search.value.id.value = "device.mac"
search.value.value.value = string.upper(mac)
- search = search_device_values(search)
+ search = search_device_values(self, search)
if search.errtxt then
retval.errtxt = search.errtxt
elseif #search.value.result.value == 0 then
@@ -2004,13 +2020,14 @@ delete_request = function(mac)
return cfe({ value=result, errtxt=errtxt, label="Delete Request Result" })
end
-get_request = function(mac)
+get_request = function(self, clientdata)
+ local mac = clientdata.mac
local retval = {}
retval.mac = cfe({ value=mac or "", label="MAC Address" })
return cfe({ type="group", value=retval, label="Create Device from Request" })
end
-create_from_request = function(request)
+create_from_request = function(self, request)
success = false
local res, err = pcall(function()
local connected = databaseconnect()