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 | |
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.
-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 |