From bdb4a84ec419346ccede674299caa23ce51abff6 Mon Sep 17 00:00:00 2001 From: Matthew Wild Date: Sat, 7 Jul 2018 12:11:52 +0100 Subject: util.dataforms: More robust handling of field values, especially booleans Ensure that a non-nil data[field_name] always overrides the field's default, and that values of boolean 'false' are always rendered in the form. --- util/dataforms.lua | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'util/dataforms.lua') diff --git a/util/dataforms.lua b/util/dataforms.lua index e48f6879..64f73c11 100644 --- a/util/dataforms.lua +++ b/util/dataforms.lua @@ -42,9 +42,14 @@ function form_t.form(layout, data, formtype) form:text_tag("desc", field.desc); end - local value = (data and data[field.name]) or field.value; + local value; + if data and data[field.name] ~= nil then + value = data[field.name]; + else + value = field.value; + end - if value then + if value ~= nil then -- Add value, depending on type if field_type == "hidden" then if type(value) == "table" then -- cgit v1.2.3