diff options
author | Ted Trask <ttrask01@yahoo.com> | 2012-04-28 12:17:45 +0000 |
---|---|---|
committer | Ted Trask <ttrask01@yahoo.com> | 2012-04-28 12:17:45 +0000 |
commit | f8fe1052812475e445ff1905b1d02c20a8bc20f4 (patch) | |
tree | 5a09c6af97ef5e0735e989bf7940cc4c65ec0585 | |
parent | 84bfd38162321c36e30a06865a0437cfaa4fc339 (diff) | |
download | acf-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.lua | 26 | ||||
-rw-r--r-- | provisioning-model.lua | 107 |
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() |