diff options
author | Kim Alvefur <zash@zash.se> | 2018-08-03 21:45:55 +0200 |
---|---|---|
committer | Kim Alvefur <zash@zash.se> | 2018-08-03 21:45:55 +0200 |
commit | 383dc3fbfd49e6a86dd1a2b51bf49ecaa063a47b (patch) | |
tree | 0bad451843bd6f15735705da6a937f3ed476fdab /util | |
parent | 03cb4290344d3732c5b15d793ac13748a552990a (diff) | |
download | prosody-383dc3fbfd49e6a86dd1a2b51bf49ecaa063a47b.tar.gz prosody-383dc3fbfd49e6a86dd1a2b51bf49ecaa063a47b.zip |
util.dataforms: Exclude descriptive text fields from forms of type 'submit'
The receiving end presumably already have the original form, so these
potentially long text fields are of little value.
Diffstat (limited to 'util')
-rw-r--r-- | util/dataforms.lua | 22 |
1 files changed, 13 insertions, 9 deletions
diff --git a/util/dataforms.lua b/util/dataforms.lua index 5a856abe..649676f8 100644 --- a/util/dataforms.lua +++ b/util/dataforms.lua @@ -31,19 +31,23 @@ function form_t.form(layout, data, formtype) if formtype == "cancel" then return form; end - if layout.title then - form:tag("title"):text(layout.title):up(); - end - if layout.instructions then - form:tag("instructions"):text(layout.instructions):up(); + if formtype ~= "submit" then + if layout.title then + form:tag("title"):text(layout.title):up(); + end + if layout.instructions then + form:tag("instructions"):text(layout.instructions):up(); + end end for _, field in ipairs(layout) do local field_type = field.type or "text-single"; -- Add field tag - form:tag("field", { type = field_type, var = field.name, label = field.label }); + form:tag("field", { type = field_type, var = field.name, label = formtype ~= "submit" and field.label or nil }); - if field.desc then - form:text_tag("desc", field.desc); + if formtype ~= "submit" then + if field.desc then + form:text_tag("desc", field.desc); + end end local value; @@ -120,7 +124,7 @@ function form_t.form(layout, data, formtype) form:up(); end - if field.required then + if formtype == "form" and field.required then form:tag("required"):up(); end |