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 /provisioning-model.lua | |
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
Diffstat (limited to 'provisioning-model.lua')
-rw-r--r-- | provisioning-model.lua | 107 |
1 files changed, 62 insertions, 45 deletions
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() |