diff options
author | Ted Trask <ttrask01@yahoo.com> | 2011-12-08 21:54:30 +0000 |
---|---|---|
committer | Ted Trask <ttrask01@yahoo.com> | 2011-12-08 21:54:30 +0000 |
commit | 69f5f5ed87ada28942ddfe0eaaaf3700a0cff7dc (patch) | |
tree | 216d32702c2dbd6b6aa3df6805f3a82deb0a6090 /provisioning-model.lua | |
parent | 3274d865bba4fd9743f804edbb9d72188e1b6bb9 (diff) | |
download | acf-provisioning-69f5f5ed87ada28942ddfe0eaaaf3700a0cff7dc.tar.bz2 acf-provisioning-69f5f5ed87ada28942ddfe0eaaaf3700a0cff7dc.tar.xz |
Fixed validating / setting defaults for param groups
Diffstat (limited to 'provisioning-model.lua')
-rw-r--r-- | provisioning-model.lua | 21 |
1 files changed, 12 insertions, 9 deletions
diff --git a/provisioning-model.lua b/provisioning-model.lua index 20b70e4..2c3ccb7 100644 --- a/provisioning-model.lua +++ b/provisioning-model.lua @@ -204,13 +204,15 @@ logevent(err) end local validateparam -validateparam = function(p) +validateparam = function(p, allowdefault) if p.type == "group" then local success = true for n,p2 in pairs(p.value) do - success = validateparam(p2) and success + success = validateparam(p2, allowdefault) and success end return success + elseif allowdefault and p.value == p.default then + return true elseif p.type == "select" then return modelfunctions.validateselect(p) elseif p.type == "text" and p.regexp and p.regexp ~= "" then @@ -851,6 +853,7 @@ get_group = function(group_id) sql = "SELECT * FROM provisioning_options WHERE param_id='"..escape(p.param_id).."' ORDER BY seq ASC" p.option = getselectresponse(sql) or {} end + p.default = p.value if p.type == "boolean" then p.value = (p.value == "true") end @@ -876,11 +879,11 @@ get_group = function(group_id) end if p.value then retval.default.value[#retval.default.value + 1] = p.param_id - end - if retval.defaults.value[p.param_id].type == "boolean" then - retval.defaults.value[p.param_id].value = (p.value == "true") - else - retval.defaults.value[p.param_id].value = p.value + if retval.defaults.value[p.param_id].type == "boolean" then + retval.defaults.value[p.param_id].value = (p.value == "true") + else + retval.defaults.value[p.param_id].value = p.value + end end end end @@ -924,8 +927,8 @@ update_group = function(group, create) group.value.seq.errtxt = "Must be an integer" end -- Validate the param defaults - for i,p in ipairs(group.value.default.value) do - success = validateparam(group.value.defaults.value[p]) and success + for i,p in pairs(group.value.defaults.value) do + success = validateparam(p, true) and success end if success then local res, err = pcall(function() |