aboutsummaryrefslogtreecommitdiffstats
path: root/util/dataforms.lua
diff options
context:
space:
mode:
authorMatthew Wild <mwild1@gmail.com>2017-09-26 17:24:25 +0100
committerMatthew Wild <mwild1@gmail.com>2017-09-26 17:24:25 +0100
commit10c321a29dae7e721ba168f5a05beca22e14e7f4 (patch)
tree575fdc7082baf42f3c7871cac1bc03d7fa65f905 /util/dataforms.lua
parent672f22b6f9036895ba3301bbee91abbe99b180be (diff)
parent63252575dfc7c74434c642beafd29e34e3c89c62 (diff)
downloadprosody-10c321a29dae7e721ba168f5a05beca22e14e7f4.tar.gz
prosody-10c321a29dae7e721ba168f5a05beca22e14e7f4.zip
Merge 0.10->trunk
Diffstat (limited to 'util/dataforms.lua')
-rw-r--r--util/dataforms.lua40
1 files changed, 22 insertions, 18 deletions
diff --git a/util/dataforms.lua b/util/dataforms.lua
index 756f35a7..469ce976 100644
--- a/util/dataforms.lua
+++ b/util/dataforms.lua
@@ -68,33 +68,37 @@ function form_t.form(layout, data, formtype)
form:tag("value"):text(line):up();
end
elseif field_type == "list-single" then
- local has_default = false;
- for _, val in ipairs(field.options or value) do
- if type(val) == "table" then
- form:tag("option", { label = val.label }):tag("value"):text(val.value):up():up();
- if value == val.value or val.default and (not has_default) then
- form:tag("value"):text(val.value):up();
- has_default = true;
+ if formtype ~= "result" then
+ local has_default = false;
+ for _, val in ipairs(field.options or value) do
+ if type(val) == "table" then
+ form:tag("option", { label = val.label }):tag("value"):text(val.value):up():up();
+ if value == val.value or val.default and (not has_default) then
+ form:tag("value"):text(val.value):up();
+ has_default = true;
+ end
+ else
+ form:tag("option", { label= val }):tag("value"):text(tostring(val)):up():up();
end
- else
- form:tag("option", { label= val }):tag("value"):text(tostring(val)):up():up();
end
end
- if field.options and value then
+ if (field.options or formtype == "result") and value then
form:tag("value"):text(value):up();
end
elseif field_type == "list-multi" then
- for _, val in ipairs(field.options or value) do
- if type(val) == "table" then
- form:tag("option", { label = val.label }):tag("value"):text(val.value):up():up();
- if not field.options and val.default then
- form:tag("value"):text(val.value):up();
+ if formtype ~= "result" then
+ for _, val in ipairs(field.options or value) do
+ if type(val) == "table" then
+ form:tag("option", { label = val.label }):tag("value"):text(val.value):up():up();
+ if not field.options and val.default then
+ form:tag("value"):text(val.value):up();
+ end
+ else
+ form:tag("option", { label= val }):tag("value"):text(tostring(val)):up():up();
end
- else
- form:tag("option", { label= val }):tag("value"):text(tostring(val)):up():up();
end
end
- if field.options and value then
+ if (field.options or formtype == "result") and value then
for _, val in ipairs(value) do
form:tag("value"):text(val):up();
end