mirror of
https://github.com/bjc/prosody.git
synced 2025-04-03 21:27:38 +03:00
util.dataforms: Don't include list options in result forms (fixes #983)
This commit is contained in:
parent
4cc9079746
commit
03b4a9a938
1 changed files with 22 additions and 18 deletions
|
@ -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
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue