summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTed Trask <ttrask01@yahoo.com>2012-08-08 20:57:19 +0000
committerTed Trask <ttrask01@yahoo.com>2012-08-08 20:57:19 +0000
commit0c22ce5b3c8597a05d7d3301418d4d3ce07d5cb4 (patch)
tree5d0e179b70509c180a730a6dd10cff42cedc3425
parent12a599b5e3ac719513bed698271cec060283b223 (diff)
downloadacf-provisioning-0c22ce5b3c8597a05d7d3301418d4d3ce07d5cb4.tar.bz2
acf-provisioning-0c22ce5b3c8597a05d7d3301418d4d3ce07d5cb4.tar.xz
Fix links to search and create, and fix createdevicefromrequest
-rw-r--r--provisioning-listdevices-html.lsp2
-rw-r--r--provisioning-listrequests-html.lsp4
-rw-r--r--provisioning-model.lua44
3 files changed, 29 insertions, 21 deletions
diff --git a/provisioning-listdevices-html.lsp b/provisioning-listdevices-html.lsp
index 7df1fa4..669792d 100644
--- a/provisioning-listdevices-html.lsp
+++ b/provisioning-listdevices-html.lsp
@@ -68,7 +68,7 @@ table.sort(display)
<%= html.link{value=page_info.script..page_info.prefix..page_info.controller.."/editdeviceparams?device_id="..v.device_id.."&redir="..page_info.orig_action, label="Params "} %>
<% end %>
<% if viewlibrary.check_permission("getdevicevalues") then %>
- <%= html.link{value=page_info.script..page_info.prefix..page_info.controller.."/getdevicevalues?id=device_id&value="..v.device_id.."&Search=Search&viewtype=templated", label="View "} %>
+ <%= html.link{value=page_info.script..page_info.prefix..page_info.controller.."/getdevicevalues?submit=true&id=device_id&value="..v.device_id.."&viewtype=templated", label="View "} %>
<% end %>
</TD>
<TD><%= html.html_escape(v.device_id) %></TD>
diff --git a/provisioning-listrequests-html.lsp b/provisioning-listrequests-html.lsp
index c225d3f..3da64b2 100644
--- a/provisioning-listrequests-html.lsp
+++ b/provisioning-listrequests-html.lsp
@@ -48,11 +48,11 @@ require("htmlviewfunctions")
<% end %>
<% if v.device_id then %>
<% if viewlibrary.check_permission("searchdevices") then %>
- <%= html.link{value=page_info.script..page_info.prefix..page_info.controller.."/searchdevices?id=device_id&value="..v.device_id.."&redir=searchdevices&Search=Search", label="Search "} %>
+ <%= html.link{value=page_info.script..page_info.prefix..page_info.controller.."/searchdevices?submit=true&id=device_id&value="..v.device_id.."&redir=searchdevices", label="Search "} %>
<% end %>
<% else %>
<% if viewlibrary.check_permission("createdevicefromrequest") then %>
- <%= html.link{value=page_info.script..page_info.prefix..page_info.controller.."/createdevicefromrequest?mac="..v.mac.."&Create=Create", label="Create "} %>
+ <%= html.link{value=page_info.script..page_info.prefix..page_info.controller.."/createdevicefromrequest?submit=true&mac="..v.mac, label="Create "} %>
<% end %>
<% end %>
</TD>
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