Software /
code /
prosody
Comparison
util/dataforms.lua @ 9094:05979ae1e38a
util.dataforms: Only allow overriding of options when passed via the :form method
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Fri, 03 Aug 2018 22:55:28 +0200 |
parent | 9092:5110da3a71eb |
child | 9111:bc7473fb7ad3 |
comparison
equal
deleted
inserted
replaced
9093:04a284c5b88b | 9094:05979ae1e38a |
---|---|
48 if field.desc then | 48 if field.desc then |
49 form:text_tag("desc", field.desc); | 49 form:text_tag("desc", field.desc); |
50 end | 50 end |
51 end | 51 end |
52 | 52 |
53 local value; | 53 local value = field.value; |
54 local options = field.options; | |
55 | |
54 if data and data[field.name] ~= nil then | 56 if data and data[field.name] ~= nil then |
55 value = data[field.name]; | 57 value = data[field.name]; |
56 else | 58 |
57 value = field.value; | 59 if formtype == "form" and type(value) == "table" |
58 end | 60 and (field_type == "list-single" or field_type == "list-multi") then |
59 | 61 -- Allow passing dynamically generated options as values |
60 local options = field.options; | 62 options, value = value, nil; |
61 if formtype == "form" and value | 63 end |
62 and (field_type == "list-single" or field_type == "list-multi") then | |
63 -- Allow passing dynamically generated options as values | |
64 options, value = value, nil; | |
65 end | 64 end |
66 | 65 |
67 if formtype == "form" and options then | 66 if formtype == "form" and options then |
68 local defaults = {}; | 67 local defaults = {}; |
69 for _, val in ipairs(options) do | 68 for _, val in ipairs(options) do |