diff --git a/gluon-config-mode-zip/luasrc/lib/gluon/config-mode/wizard/0450-geo-location.lua b/gluon-config-mode-zip/luasrc/lib/gluon/config-mode/wizard/0450-geo-location.lua index 8bf5d3aec52c60d1dda7607ae90a0da597387d13..b71ffd8307bb8a9da0ab8b590e53f47364d7513c 100644 --- a/gluon-config-mode-zip/luasrc/lib/gluon/config-mode/wizard/0450-geo-location.lua +++ b/gluon-config-mode-zip/luasrc/lib/gluon/config-mode/wizard/0450-geo-location.lua @@ -5,23 +5,27 @@ local uci = luci.model.uci.cursor() local M = {} function M.section(form) - local text = i18n.translate("gluon-config-mode:zip-help") - local fieldlabel = i18n.translate("ZIP-Code") - local s = form:section(cbi.SimpleSection, nil, text) + local text = i18n.translate("gluon-config-mode:zip-help") + local fieldlabel = i18n.translate("ZIP-Code") + local s = form:section(cbi.SimpleSection, nil, text) - local o = s:option(cbi.Value, "_zip", fieldlabel) - o.value = uci:get_first("gluon-node-info", "location", "zip") - o.rmempty = true - o.datatype = "float" - o.description = i18n.translatef("e.g. %s", "70499") + local o = s:option(cbi.Value, "_zip", fieldlabel) + o.value = uci:get_first("gluon-node-info", "location", "zip") + o.rmempty = true + o.datatype = "float" + o.description = i18n.translatef("e.g. %s", "70499") end function M.handle(data) - local sname = uci:get_first("gluon-node-info", "location") - uci:set("gluon-node-info", sname, "zip", data._zip:trim()) + local sname = uci:get_first("gluon-node-info", "location") + + if data._zip ~= nil then + uci:set("gluon-node-info", sname, "zip", data._zip:trim()) + else + uci:delete("gluon-node-info", sname, "zip") + end uci:save("gluon-node-info") - uci:commit("gluon-node-info") - + uci:commit("gluon-node-info") end return M