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