diff options
author | Ted Trask <ttrask01@yahoo.com> | 2013-09-09 22:37:47 +0000 |
---|---|---|
committer | Ted Trask <ttrask01@yahoo.com> | 2013-09-09 22:37:47 +0000 |
commit | 4a88e3a2bcf11d93ba0056affc1619dab549b378 (patch) | |
tree | 0921a9cf3f1a554927b3326494c1453197ca234a | |
parent | d55b25947b0487db46bd2652739ec8631a0a0636 (diff) | |
download | acf-provisioning-4a88e3a2bcf11d93ba0056affc1619dab549b378.tar.bz2 acf-provisioning-4a88e3a2bcf11d93ba0056affc1619dab549b378.tar.xz |
Fix bug in providing blank config to unprovisioned phone
Add some code to handle nil clientdata and pass self to get/put_file functions
-rw-r--r-- | provisioning-controller.lua | 4 | ||||
-rw-r--r-- | provisioning-model.lua | 37 |
2 files changed, 34 insertions, 7 deletions
diff --git a/provisioning-controller.lua b/provisioning-controller.lua index 3171904..2397a90 100644 --- a/provisioning-controller.lua +++ b/provisioning-controller.lua @@ -139,11 +139,11 @@ dumpdatabase = function( self ) end getfile = function( self ) - return self.model.get_file(self.clientdata.mac, self.clientdata.ip, self.clientdata.agent) + return self.model.get_file(self, self.clientdata) end putfile = function( self ) - return self.model.put_file(self.clientdata.mac, self.clientdata.data) + return self.model.put_file(self, self.clientdata) end listrequests = function( self ) diff --git a/provisioning-model.lua b/provisioning-model.lua index 401e342..6db5b98 100644 --- a/provisioning-model.lua +++ b/provisioning-model.lua @@ -368,6 +368,7 @@ list_templates = function() end get_template = function(self, clientdata) + clientdata = clientdata or {} local filename = clientdata.filename local retval = {} if filename and not string.match(filename, "/") then @@ -468,6 +469,7 @@ update_template = function(self, template, action, create) end get_delete_template = function(self, clientdata) + clientdata = clientdata or {} local retval = {} retval.filename = cfe({ value=clientdata.filename or "", label="File Name" }) return cfe({ type="group", value=retval, label="Delete Template" }) @@ -517,6 +519,7 @@ list_class_groups = function() end get_class_group = function(self, clientdata) + clientdata = clientdata or {} local class_group_id = clientdata.class_group_id local retval = {} retval.class_group_id = cfe({value=class_group_id or "", label="Class Group ID", readonly=true, seq=1}) @@ -622,6 +625,7 @@ update_class_group = function(self, group, action, create) end get_delete_class_group = function(self, clientdata) + clientdata = clientdata or {} local retval = {} retval.class_group_id = cfe({ value=clientdata.class_group_id or "", label="Class Group ID" }) return cfe({ type="group", value=retval, label="Delete Class Group" }) @@ -668,6 +672,7 @@ list_classes = function() end get_class = function(self, clientdata) + clientdata = clientdata or {} local class_id = clientdata.class_id local retval = {} retval.class_id = cfe({value=class_id or "", label="Class ID", readonly=true, seq=1}) @@ -806,6 +811,7 @@ update_class = function(self, class, action, create) end get_delete_class = function(self, clientdata) + clientdata = clientdata or {} local retval = {} retval.class_id = cfe({ value=clientdata.class_id or "", label="Class ID" }) return cfe({ type="group", value=retval, label="Delete Class" }) @@ -859,6 +865,7 @@ list_groups = function() end get_group = function(self, clientdata) + clientdata = clientdata or {} local group_id = clientdata.group_id local retval = {} retval.group_id = cfe({value=group_id or "", label="Group ID", readonly=true, seq=1}) @@ -1028,6 +1035,7 @@ update_group = function(self, group, action, create) end get_delete_group = function(self, clientdata) + clientdata = clientdata or {} local retval = {} retval.group_id = cfe({ value=clientdata.group_id or "", label="Group ID" }) return cfe({ type="group", value=retval, label="Delete Group" }) @@ -1081,6 +1089,7 @@ list_params = function() end get_param = function(self, clientdata) + clientdata = clientdata or {} local param_id = clientdata.param_id local retval = {} retval.param_id = cfe({value=param_id or "", label="Param ID", readonly=true, seq=1}) @@ -1197,6 +1206,7 @@ update_param = function(self, param, action, create) end get_delete_param = function(self, clientdata) + clientdata = clientdata or {} local retval = {} retval.param_id = cfe({ value=clientdata.param_id or "", label="Param ID" }) return cfe({ type="group", value=retval, label="Delete Param" }) @@ -1258,10 +1268,12 @@ list_devices = function() end get_existing_device = function(self, clientdata) + clientdata = clientdata or {} return get_device(clientdata.device_id, false) end get_new_device = function(self, clientdata) + clientdata = clientdata or {} return get_device(clientdata.device_id, true) end @@ -1382,6 +1394,7 @@ update_device = function(self, device, action, create) end get_delete_device = function(self, clientdata) + clientdata = clientdata or {} local retval = {} retval.device_id = cfe({ value=clientdata.device_id or "", label="Device ID" }) return cfe({ type="group", value=retval, label="Delete Device" }) @@ -1425,10 +1438,12 @@ delete_device = function(self, delreq) end get_editable_device_params = function(self, clientdata, action) + clientdata = clientdata or {} return get_device_params(clientdata.device_id, true) end get_all_device_params = function(self, clientdata, action) + clientdata = clientdata or {} return get_device_params(clientdata.device_id, false) end @@ -1502,7 +1517,8 @@ get_device_params = function(device_id, editable) end get_class_options = function(self, clientdata) - local class_id = clientdata.classs_id + clientdata = clientdata or {} + local class_id = clientdata.class_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" }) @@ -1764,6 +1780,7 @@ search_device_values = function(self, search) end get_param_options = function(self, clientdata) + clientdata = clientdata or {} local param_id = clientdata.param_id local retval = {} retval.param_id = cfe({value=param_id or "", label="Parameter ID", readonly=true, seq=0}) @@ -1847,6 +1864,7 @@ set_param_options = function(self, options) end function get_filedetails(self, clientdata) + clientdata = clientdata or {} return modelfunctions.getfiledetails(clientdata.filename, scriptfiles) end @@ -1935,7 +1953,11 @@ function dump_database(self, db) return db end -function get_file(mac, ip, agent) +function get_file(self, clientdata) + clientdata = clientdata or {} + local mac = clientdata.mac + local ip = clientdata.ip + local agent = clientdata.agent local result = cfe() -- Error if there's no mac @@ -1970,9 +1992,9 @@ function get_file(mac, ip, agent) local class = callscript(determineclassscriptfile, agent, c) if class then - local options = get_class_options() + local options = get_class_options(self, {}) options.value.class_id.value = class - result = get_class_values(options) + result = get_class_values(self, options) else result.errtxt = "Unknown device" end @@ -1987,7 +2009,10 @@ function get_file(mac, ip, agent) return result end -function put_file(mac, data) +function put_file(self, clientdata) + clientdata = clientdata or {} + local mac = clientdata.mac + local data = clientdata.data local retval = cfe({ label="PUT Data" }) -- Error if there's no mac @@ -2060,6 +2085,7 @@ list_requests = function() end get_delete_request = function(self, clientdata) + clientdata = clientdata or {} local retval = {} retval.mac = cfe({ value=clientdata.mac or "", label="MAC Address" }) return cfe({ type="group", value=retval, label="Delete Request" }) @@ -2090,6 +2116,7 @@ delete_request = function(self, delreq) end get_request = function(self, clientdata) + clientdata = clientdata or {} local mac = clientdata.mac local retval = {} retval.mac = cfe({ value=mac or "", label="MAC Address" }) |