summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTed Trask <ttrask01@yahoo.com>2013-09-09 22:37:47 +0000
committerTed Trask <ttrask01@yahoo.com>2013-09-09 22:37:47 +0000
commit4a88e3a2bcf11d93ba0056affc1619dab549b378 (patch)
tree0921a9cf3f1a554927b3326494c1453197ca234a
parentd55b25947b0487db46bd2652739ec8631a0a0636 (diff)
downloadacf-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.lua4
-rw-r--r--provisioning-model.lua37
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" })