diff options
author | Ted Trask <ttrask01@yahoo.com> | 2012-08-08 20:57:19 +0000 |
---|---|---|
committer | Ted Trask <ttrask01@yahoo.com> | 2012-08-08 20:57:19 +0000 |
commit | 0c22ce5b3c8597a05d7d3301418d4d3ce07d5cb4 (patch) | |
tree | 5d0e179b70509c180a730a6dd10cff42cedc3425 /provisioning-model.lua | |
parent | 12a599b5e3ac719513bed698271cec060283b223 (diff) | |
download | acf-provisioning-0c22ce5b3c8597a05d7d3301418d4d3ce07d5cb4.tar.bz2 acf-provisioning-0c22ce5b3c8597a05d7d3301418d4d3ce07d5cb4.tar.xz |
Fix links to search and create, and fix createdevicefromrequest
Diffstat (limited to 'provisioning-model.lua')
-rw-r--r-- | provisioning-model.lua | 44 |
1 files changed, 26 insertions, 18 deletions
diff --git a/provisioning-model.lua b/provisioning-model.lua index 6d694cf..22c8716 100644 --- a/provisioning-model.lua +++ b/provisioning-model.lua @@ -2095,28 +2095,36 @@ create_from_request = function(self, request) local class, group = callscript(determineclassscriptfile, tmp[1].agent, c) -- Create the device - local device = get_device() + local device = get_device(nil, true) if class and group and device.value.classes.value[group] then device.value.classes.value[group].value = class - end - device = create_device(device) - if device.errtxt then - request.errtxt = device.errtxt - else - local params = get_device_params(device.value.device_id.value) - -- Set the MAC Address - if params.value.device and params.value.device.value.mac then - params.value.device.value.mac.value = string.upper(request.value.mac.value) - params = set_device_params(params) - end - if params.errtxt then - request.errtxt = params.errtxt - local req = get_delete_device(self, {device_id = device.value.device_id.value}) - delete_device(self, req) + device = create_device(self, device) + if device.errtxt then + request.errtxt = {device.errtxt} + for n,v in pairs(device.value) do + if v.errtxt then + request.errtxt[#request.errtxt + 1] = v.errtxt + end + end + request.errtxt = table.concat(request.errtxt, "\n") else - success = true - request.value.device_id = device.value.device_id + local params = get_device_params(device.value.device_id.value) + -- Set the MAC Address + if params.value.device and params.value.device.value.mac then + params.value.device.value.mac.value = string.upper(request.value.mac.value) + params = set_device_params(params) + end + if params.errtxt then + request.errtxt = params.errtxt + local req = get_delete_device(self, {device_id = device.value.device_id.value}) + delete_device(self, req) + else + success = true + request.value.device_id = device.value.device_id + end end + else + request.errtxt = "Failed to create device - could not determine class" end end if connected then databasedisconnect() end |