summaryrefslogtreecommitdiffstats
path: root/provisioning-model.lua
diff options
context:
space:
mode:
authorTed Trask <ttrask01@yahoo.com>2011-10-10 20:46:14 +0000
committerTed Trask <ttrask01@yahoo.com>2011-10-10 20:46:14 +0000
commit933d3b99ff2dbc9da92f7e6327b9e4c58c33df79 (patch)
tree43bae011c8a516f752b5319a4a7e95b6f6385c02 /provisioning-model.lua
parent1d895ace660869053830ed33302e0708efb6065e (diff)
downloadacf-provisioning-933d3b99ff2dbc9da92f7e6327b9e4c58c33df79.tar.bz2
acf-provisioning-933d3b99ff2dbc9da92f7e6327b9e4c58c33df79.tar.xz
Changes to implement PUT
Diffstat (limited to 'provisioning-model.lua')
-rw-r--r--provisioning-model.lua20
1 files changed, 16 insertions, 4 deletions
diff --git a/provisioning-model.lua b/provisioning-model.lua
index 4ada401..16bfd15 100644
--- a/provisioning-model.lua
+++ b/provisioning-model.lua
@@ -20,7 +20,8 @@ local updatedevicescriptfile = "/etc/provisioning/update_device.lua"
local updatedeviceparamsscriptfile = "/etc/provisioning/update_device_params.lua"
local deletedevicescriptfile = "/etc/provisioning/delete_device.lua"
local determineclassscriptfile = "/etc/provisioning/determine_class.lua"
-local scriptfiles = {updatedevicescriptfile, updatedeviceparamsscriptfile, deletedevicescriptfile, determineclassscriptfile}
+local processputscriptfile = "/etc/provisioning/process_put.lua"
+local scriptfiles = {updatedevicescriptfile, updatedeviceparamsscriptfile, deletedevicescriptfile, determineclassscriptfile, processputscriptfile}
local env
local con
@@ -275,7 +276,7 @@ local function callscript(script, ...)
result = f(functions, ...)
end, ...)
if not res and err then
- assert(res, "Update Successful\nException in post update script\n"..err)
+ assert(res, "Exception in "..script.." script\n"..err)
end
end
setfenv (0, _G)
@@ -1912,6 +1913,17 @@ function get_file(mac, ip, agent)
return result
end
-function put_file(file, root, data, ip, agent)
- return cfe({errtxt="Not implemented"})
+function put_file(mac, data)
+ local retval = cfe({ label="PUT Data" })
+ local res, err = pcall(function()
+ local connected = databaseconnect()
+ retval.value, retval.errtxt = callscript(processputscriptfile, mac, data)
+ -- If the script doesn't exist, allow the write
+ retval.value = retval.value or data
+ if connected then databasedisconnect() end
+ end)
+ if not res and err then
+ retval.errtxt = err
+ end
+ return retval
end