diff options
author | Kim Alvefur <zash@zash.se> | 2018-08-03 22:55:28 +0200 |
---|---|---|
committer | Kim Alvefur <zash@zash.se> | 2018-08-03 22:55:28 +0200 |
commit | 4e6aa6ffd254b1a9415a0b0553df8d95a6f4e3d9 (patch) | |
tree | a3583f57f879d743c0ab5b477c5275e88767357b /util/dataforms.lua | |
parent | 399ddd601d5e578ca89aef7754cd0001d71bc537 (diff) | |
download | prosody-4e6aa6ffd254b1a9415a0b0553df8d95a6f4e3d9.tar.gz prosody-4e6aa6ffd254b1a9415a0b0553df8d95a6f4e3d9.zip |
util.dataforms: Only allow overriding of options when passed via the :form method
Diffstat (limited to 'util/dataforms.lua')
-rw-r--r-- | util/dataforms.lua | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/util/dataforms.lua b/util/dataforms.lua index 72394fd8..45af72d1 100644 --- a/util/dataforms.lua +++ b/util/dataforms.lua @@ -50,18 +50,17 @@ function form_t.form(layout, data, formtype) end end - local value; + local value = field.value; + local options = field.options; + if data and data[field.name] ~= nil then value = data[field.name]; - else - value = field.value; - end - local options = field.options; - if formtype == "form" and value - and (field_type == "list-single" or field_type == "list-multi") then - -- Allow passing dynamically generated options as values - options, value = value, nil; + if formtype == "form" and type(value) == "table" + and (field_type == "list-single" or field_type == "list-multi") then + -- Allow passing dynamically generated options as values + options, value = value, nil; + end end if formtype == "form" and options then |