summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/modelfunctions.lua10
-rw-r--r--lib/viewfunctions.lua16
2 files changed, 20 insertions, 6 deletions
diff --git a/lib/modelfunctions.lua b/lib/modelfunctions.lua
index 3a02bd5..0004676 100644
--- a/lib/modelfunctions.lua
+++ b/lib/modelfunctions.lua
@@ -134,7 +134,9 @@ end
function validateselect(select)
for i,option in ipairs(select.option) do
- if option == select.value then
+ if type(option) == "string" and option == select.value then
+ return true
+ elseif type(option) == "table" and option.value == select.value then
return true
end
end
@@ -145,7 +147,11 @@ end
function validatemulti(multi)
local reverseoption = {}
for i,option in ipairs(multi.option) do
- reverseoption[option] = i
+ if type(option) == "string" then
+ reverseoption[option] = i
+ else
+ reverseoption[option.value] = i
+ end
end
for i,value in ipairs(multi.value) do
if not reverseoption[value] then
diff --git a/lib/viewfunctions.lua b/lib/viewfunctions.lua
index c744802..5950af1 100644
--- a/lib/viewfunctions.lua
+++ b/lib/viewfunctions.lua
@@ -51,11 +51,19 @@ function displayformitem(myitem, name, viewtype, header_level, group)
end
local reverseopt = {}
for x,val in ipairs(myitem.option) do
- reverseopt[val] = x
- myitem.value = val
- myitem.checked = reverseval[val]
+ local v,l
+ if type(val) == "string" then
+ v = val
+ l = val
+ else
+ v = val.value
+ l = val.label
+ end
+ reverseopt[v] = x
+ myitem.value = v
+ myitem.checked = reverseval[v]
myitem.name = tempname .. "." .. x
- io.write(html.form.checkbox(myitem) .. html.html_escape(val) .. "<br>\n")
+ io.write(html.form.checkbox(myitem) .. html.html_escape(l) .. "<br>\n")
end
-- Check for values not in options
if myitem.errtxt then