From 2397c1b9172abfc2fefef19501f7542ee8e489c4 Mon Sep 17 00:00:00 2001 From: Jan-Tarek Butt <buttjantarek@googlemail.com> Date: Mon, 13 Jul 2015 18:13:40 +0200 Subject: [PATCH] change if nesting --- .../config-mode/wizard/0400-geo-location.lua | 58 +++++++++---------- 1 file changed, 27 insertions(+), 31 deletions(-) diff --git a/ffnw-config-mode-geo-location/files/lib/gluon/config-mode/wizard/0400-geo-location.lua b/ffnw-config-mode-geo-location/files/lib/gluon/config-mode/wizard/0400-geo-location.lua index 48e5132..7ce9346 100644 --- a/ffnw-config-mode-geo-location/files/lib/gluon/config-mode/wizard/0400-geo-location.lua +++ b/ffnw-config-mode-geo-location/files/lib/gluon/config-mode/wizard/0400-geo-location.lua @@ -12,40 +12,38 @@ function M.section(form) local o - o = s:option(cbi.Flag, "_auto_location", i18n.translate("Show node on the map via automatic localization")) - o.default = uci:get_first("gluon-node-info", "location", "share_location", o.disabled) - o.rmempty = true + o = s:option(cbi.Flag, "_autolocation", i18n.translate("Enable automatic localization via wifi")) + o.default = uci:get_first("gluon-node-info", "location", "auto_location", o.disabled) + o.rmempty = false o = s:option(cbi.Value, "_interval", i18n.translate("Interval in minutes")) o.value = uci:get_first("gluon-node-info", "location", "refresh_interval") - o:depends("_auto_location", "1") + o:depends("_autolocation", "1") o.rmempty = false o.datatype = "integer" - o.description = i18n.translatef("sed refresh interval the default is ons a day") + o.description = i18n.translatef("sed refresh interval, the default is ons a day") - o = s:option(cbi.Flag, "_static_location", i18n.translate("Set location manualy")) + o = s:option(cbi.Flag, "_staticlocation", i18n.translate("Set location maunaly")) o.default = uci:get_first("gluon-node-info", "location", "static_location", o.disabled) - o:depends("_auto_location", "1") - o.rmempty = true - o.description = i18n.translatef("the wifi locator will be still running in the backround but not overwriting the location") + o.rmempty = false o = s:option(cbi.Value, "_latitude", i18n.translate("Latitude")) o.default = uci:get_first("gluon-node-info", "location", "latitude") - o:depends("_static_location", "1") + o:depends("_staticlocation", "1") o.rmempty = false o.datatype = "float" o.description = i18n.translatef("e.g. %s", "53.873621") o = s:option(cbi.Value, "_longitude", i18n.translate("Longitude")) o.default = uci:get_first("gluon-node-info", "location", "longitude") - o:depends("_static_location", "1") + o:depends("_staticlocation", "1") o.rmempty = false o.datatype = "float" o.description = i18n.translatef("e.g. %s", "10.689901") o = s:option(cbi.Value, "_altitude", i18n.translate("Altitude")) o.default = uci:get_first("gluon-node-info", "location", "altitude") - o:depends("_static_location", "1") + o:depends("_staticlocation", "1") o.rmempty = true o.datatype = "float" o.description = i18n.translatef("e.g. %s", "11.51") @@ -54,29 +52,27 @@ end function M.handle(data) local sname = uci:get_first("gluon-node-info", "location") --- _auto_location --- _interval --- _static_location --- _latitude --- _longitude --- _altitude + uci:set("gluon-node-info", sname, "auto_location", data._autolocation) + uci:set("gluon-node-info", sname, "static_location", data._staticlocation) --- uci:set("gluon-node-info", sname, "share_location", data._auto_location) --- uci:set("gluon-node-info", sname, "static_location", data._static_location) - if data._auto_location then - if data._interval ~= nil and data._interval >= 2 and data._interval <= 43200 then + if data._autolocation == '1' then + if data._interval ~= nil and data._interval >= '1' and data._interval <= '43200' then uci:set("gluon-node-info", sname, "refresh_interval", data._interval) + elseif data._interval > '43200' then + uci:set("gluon-node-info", sname, "refresh_interval", 43200) end - if data._static_location and data._latitude ~= nil and data._longitude ~= nil then - uci:set("gluon-node-info", sname, "static_location", data._static_location) - uci:set("gluon-node-info", sname, "latitude", data._latitude) - uci:set("gluon-node-info", sname, "longitude", data._longitude) - if data._altitude ~= nil then - uci:set("gluon-node-info", sname, "altitude", data._altitude) - else - uci:delete("gluon-node-info", sname, "altitude") - end + end + if data._staticlocation == '1' and data._latitude ~= nil and data._longitude ~= nil then + uci:set("gluon-node-info", sname, "share_location", data._staticlocation) + uci:set("gluon-node-info", sname, "latitude", data._latitude) + uci:set("gluon-node-info", sname, "longitude", data._longitude) + if data._altitude ~= nil then + uci:set("gluon-node-info", sname, "altitude", data._altitude) + else + uci:delete("gluon-node-info", sname, "altitude") end + else + uci:set("gluon-node-info", sname, "share_location", data._staticlocation) end uci:save("gluon-node-info") uci:commit("gluon-node-info") -- GitLab