summaryrefslogtreecommitdiffstats
path: root/provisioning-model.lua
diff options
context:
space:
mode:
authorTed Trask <ttrask01@yahoo.com>2012-04-28 12:17:45 +0000
committerTed Trask <ttrask01@yahoo.com>2012-04-28 12:17:45 +0000
commitf8fe1052812475e445ff1905b1d02c20a8bc20f4 (patch)
tree5a09c6af97ef5e0735e989bf7940cc4c65ec0585 /provisioning-model.lua
parent84bfd38162321c36e30a06865a0437cfaa4fc339 (diff)
downloadacf-provisioning-f8fe1052812475e445ff1905b1d02c20a8bc20f4.tar.bz2
acf-provisioning-f8fe1052812475e445ff1905b1d02c20a8bc20f4.tar.xz
Updated for handle_form now passing self to get and set functions
Diffstat (limited to 'provisioning-model.lua')
-rw-r--r--provisioning-model.lua107
1 files changed, 62 insertions, 45 deletions
diff --git a/provisioning-model.lua b/provisioning-model.lua
index 297d44e..de2f748 100644
--- a/provisioning-model.lua
+++ b/provisioning-model.lua
@@ -361,7 +361,8 @@ list_templates = function()
return cfe({ type="structure", value=retval, label="List of Templates", errtxt=errtxt })
end
-get_template = function(filename)
+get_template = function(self, clientdata)
+ local filename = clientdata.filename
local retval = {}
if filename and not string.match(filename, "/") then
filename = baseurl .. filename
@@ -398,11 +399,11 @@ get_template = function(filename)
return cfe({ type="group", value=retval, label="Provisioning Template", errtxt=errtxt })
end
-create_template = function(template)
- return update_template(template, true)
+create_template = function(self, template, action)
+ return update_template(self, template, action, true)
end
-update_template = function(template, create)
+update_template = function(self, template, action, create)
local success = true
local errtxt
-- Validate the settings
@@ -503,7 +504,8 @@ list_class_groups = function()
return cfe({ type="structure", value=retval, label="List of Class Groups", errtxt=errtxt })
end
-get_class_group = function(class_group_id)
+get_class_group = function(self, clientdata)
+ local class_group_id = clientdata.class_group_id
local retval = {}
retval.class_group_id = cfe({value=class_group_id or "", label="Class Group ID", seq=1})
retval.name = cfe({label="Name", seq=2})
@@ -532,11 +534,11 @@ get_class_group = function(class_group_id)
return cfe({ type="group", value=retval, label="Provisioning Class Group", errtxt=errtxt })
end
-create_class_group = function(group)
- return update_class_group(group, true)
+create_class_group = function(self, group, action)
+ return update_class_group(self, group, action, true)
end
-update_class_group = function(group, create)
+update_class_group = function(self, group, action, create)
local success = true
local errtxt
-- Validate the settings
@@ -643,7 +645,8 @@ list_classes = function()
return cfe({ type="structure", value=retval, label="List of Classes", errtxt=errtxt })
end
-get_class = function(class_id)
+get_class = function(self, clientdata)
+ local class_id = clientdata.class_id
local retval = {}
retval.class_id = cfe({value=class_id or "", label="Class ID", seq=1})
retval.class_group_id = cfe({type="select", label="Class Group", option={}, seq=2})
@@ -699,11 +702,11 @@ get_class = function(class_id)
return cfe({ type="group", value=retval, label="Provisioning Class", errtxt=errtxt })
end
-create_class = function(class)
- return update_class(class, true)
+create_class = function(self, class, action)
+ return update_class(self, class, action, true)
end
-update_class = function(class, create)
+update_class = function(self, class, action, create)
local success = true
local errtxt
-- Validate the settings
@@ -823,7 +826,8 @@ list_groups = function()
return cfe({ type="structure", value=retval, label="List of Parameter Groups", errtxt=errtxt })
end
-get_group = function(group_id)
+get_group = function(self, clientdata)
+ local group_id = clientdata.group_id
local retval = {}
retval.group_id = cfe({value=group_id or "", label="Group ID", seq=1})
retval.name = cfe({label="Name", seq=2})
@@ -888,11 +892,11 @@ get_group = function(group_id)
return cfe({ type="group", value=retval, label="Provisioning Parameter Group", errtxt=errtxt })
end
-create_group = function(group)
- return update_group(group, true)
+create_group = function(self, group, action)
+ return update_group(self, group, action, true)
end
-update_group = function(group, create)
+update_group = function(self, group, action, create)
local success = true
local errtxt
-- Validate the settings
@@ -1034,7 +1038,8 @@ list_params = function()
return cfe({ type="structure", value=retval, label="List of Parameters", errtxt=errtxt })
end
-get_param = function(param_id)
+get_param = function(self, clientdata)
+ local param_id = clientdata.param_id
local retval = {}
retval.param_id = cfe({value=param_id or "", label="Param ID", seq=1})
retval.name = cfe({label="Name", seq=2})
@@ -1068,11 +1073,11 @@ get_param = function(param_id)
return cfe({ type="group", value=retval, label="Provisioning Parameter", errtxt=errtxt })
end
-create_param = function(param)
- return update_param(param, true)
+create_param = function(self, param, action)
+ return update_param(self, param, action, true)
end
-update_param = function(param, create)
+update_param = function(self, param, action, create)
local success = true
local errtxt
-- Validate the settings
@@ -1200,7 +1205,8 @@ list_devices = function()
return cfe({ type="structure", value=retval, label="List of Devices", errtxt=errtxt })
end
-get_device = function(device_id)
+get_device = function(self, clientdata)
+ local device_id = clientdata.device_id
local retval = {}
retval.device_id = cfe({value=device_id or "", label="Device ID", seq=1})
retval.classes = cfe({type="group", value={}, label="Classes", seq=2})
@@ -1241,11 +1247,11 @@ get_device = function(device_id)
return output
end
-create_device = function(device)
- return update_device(device, true)
+create_device = function(self, device, action)
+ return update_device(self, device, action, true)
end
-update_device = function(device, create)
+update_device = function(self, device, action, create)
local success = true
local errtxt
-- Validate the settings
@@ -1353,11 +1359,15 @@ delete_device = function(device_id)
return cfe({ value=result, errtxt=errtxt, label="Delete Device Result" })
end
-get_editable_device_params = function(device_id)
- return get_device_params(device_id, true)
+get_editable_device_params = function(self, clientdata, action)
+ return get_device_params(clientdata.device_id, true)
end
-get_device_params = function(device_id, editable)
+get_all_device_params = function(self, clientdata, action)
+ return get_device_params(clientdata.device_id, false)
+end
+
+local get_device_params = function(device_id, editable)
local retval = {}
retval.device_id = cfe({value=device_id or "", label="Device ID", seq=0})
local errtxt = "Cannot find device"
@@ -1426,13 +1436,14 @@ get_device_params = function(device_id, editable)
return output
end
-get_class_options = function(class_id)
+get_class_options = function(self, clientdata)
+ local class_id = clientdata.classs_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" })
end
-get_class_values = function(retval)
+get_class_values = function(self, retval)
retval.errtxt = "Failed to find class"
if not validator.is_integer(retval.value.class_id.value) then
retval.value.class_id.errtxt = "Invalid class ID"
@@ -1475,11 +1486,15 @@ get_class_values = function(retval)
return retval
end
-set_editable_device_params = function(params)
+set_editable_device_params = function(self, params)
return set_device_params(params, true)
end
-set_device_params = function(params, editable)
+set_all_device_params = function(self, params)
+ return set_device_params(params, false)
+end
+
+local set_device_params = function(params, editable)
-- Validate the settings
local success = validateparam(params)
local errtxt
@@ -1547,10 +1562,10 @@ set_device_params = function(params, editable)
return params
end
-fetch_device_values = function(search)
+fetch_device_values = function(self, search)
local res, err = pcall(function()
local connected = databaseconnect()
- search = search_device_values(search)
+ search = search_device_values(self, search)
if search.errtxt then
-- Just return the error
elseif #search.value.result.value == 0 then
@@ -1636,7 +1651,7 @@ get_search_options = function()
return cfe({type="group", value=retval, label="Device Search", errtxt=errtxt})
end
-search_device_values = function(search)
+search_device_values = function(self, search)
local success = true
success = modelfunctions.validateselect(search.value.id) and success
success = modelfunctions.validateselect(search.value.comparison) and success
@@ -1685,7 +1700,8 @@ search_device_values = function(search)
return search
end
-get_param_options = function(param_id)
+get_param_options = function(self, clientdata)
+ local param_id = clientdata.param_id
local retval = {}
retval.param_id = cfe({value=param_id or "", label="Parameter ID", seq=0})
retval.name = cfe({label="Name", seq=1})
@@ -1718,7 +1734,7 @@ get_param_options = function(param_id)
return cfe({ type="group", value=retval, label="Provisioning Parameter Options", errtxt=errtxt })
end
-set_param_options = function(options)
+set_param_options = function(self, options)
local success = true
local errtxt
-- Validate the settings
@@ -1767,12 +1783,12 @@ set_param_options = function(options)
return options
end
-function get_filedetails(filename)
- return modelfunctions.getfiledetails(filename, scriptfiles)
+function get_filedetails(self, clientdata)
+ return modelfunctions.getfiledetails(clientdata.filename, scriptfiles)
end
-function update_filedetails(filedetails)
- return modelfunctions.setfiledetails(filedetails, scriptfiles)
+function update_filedetails(self, filedetails)
+ return modelfunctions.setfiledetails(self, filedetails, scriptfiles)
end
function list_files()
@@ -1791,7 +1807,7 @@ function get_database()
return cfe({ type="group", value={devices=devices}, label="Provisioning Database Dump" })
end
-function dump_database(db)
+function dump_database(self, db)
local res, err = pcall(function()
local connected = databaseconnect()
local lines = {}
@@ -1882,7 +1898,7 @@ function get_file(mac, ip, agent)
result = get_search_options()
result.value.id.value = "device.mac"
result.value.value.value = string.upper(mac)
- result = fetch_device_values(result)
+ result = fetch_device_values(self, result)
-- If can't find the device, return a file with default settings
if #result.value.result.value == 0 then
@@ -1924,7 +1940,7 @@ function put_file(mac, data)
local search = get_search_options()
search.value.id.value = "device.mac"
search.value.value.value = string.upper(mac)
- search = search_device_values(search)
+ search = search_device_values(self, search)
if search.errtxt then
retval.errtxt = search.errtxt
elseif #search.value.result.value == 0 then
@@ -2004,13 +2020,14 @@ delete_request = function(mac)
return cfe({ value=result, errtxt=errtxt, label="Delete Request Result" })
end
-get_request = function(mac)
+get_request = function(self, clientdata)
+ local mac = clientdata.mac
local retval = {}
retval.mac = cfe({ value=mac or "", label="MAC Address" })
return cfe({ type="group", value=retval, label="Create Device from Request" })
end
-create_from_request = function(request)
+create_from_request = function(self, request)
success = false
local res, err = pcall(function()
local connected = databaseconnect()