|
@@ -1,76 +0,0 @@
|
|
-local cbi = require "luci.cbi"
|
|
|
|
-local i18n = require "luci.i18n"
|
|
|
|
-local uci = luci.model.uci.cursor()
|
|
|
|
-local site = require 'gluon.site_config'
|
|
|
|
-
|
|
|
|
-local M = {}
|
|
|
|
-
|
|
|
|
-local function show_altitude()
|
|
|
|
- if ((site.config_mode or {}).geo_location or {}).show_altitude ~= false then
|
|
|
|
- return true
|
|
|
|
- end
|
|
|
|
- if uci:get_first("gluon-node-info", "location", "altitude") then
|
|
|
|
- return true
|
|
|
|
- end
|
|
|
|
- return false
|
|
|
|
-end
|
|
|
|
-
|
|
|
|
-function M.section(form)
|
|
|
|
- local text = i18n.translate('If you want the location of your node to '
|
|
|
|
- .. 'be displayed on the map, you can enter its coordinates here.')
|
|
|
|
- if show_altitude() then
|
|
|
|
- text = text .. ' ' .. i18n.translate('Specifying the altitude is '
|
|
|
|
- .. 'optional and should only be done if a proper value is known.')
|
|
|
|
- end
|
|
|
|
- local s = form:section(cbi.SimpleSection, nil, text)
|
|
|
|
-
|
|
|
|
-
|
|
|
|
- local o
|
|
|
|
-
|
|
|
|
- o = s:option(cbi.Flag, "_location", i18n.translate("Show node on the map"))
|
|
|
|
- o.default = uci:get_first("gluon-node-info", "location", "share_location", o.disabled)
|
|
|
|
- o.rmempty = false
|
|
|
|
-
|
|
|
|
- o = s:option(cbi.Value, "_latitude", i18n.translate("Latitude"))
|
|
|
|
- o.default = uci:get_first("gluon-node-info", "location", "latitude")
|
|
|
|
- o:depends("_location", "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("_location", "1")
|
|
|
|
- o.rmempty = false
|
|
|
|
- o.datatype = "float"
|
|
|
|
- o.description = i18n.translatef("e.g. %s", "10.689901")
|
|
|
|
-
|
|
|
|
- if show_altitude() then
|
|
|
|
- o = s:option(cbi.Value, "_altitude", i18n.translate("Altitude"))
|
|
|
|
- o.default = uci:get_first("gluon-node-info", "location", "altitude")
|
|
|
|
- o:depends("_location", "1")
|
|
|
|
- o.rmempty = true
|
|
|
|
- o.datatype = "float"
|
|
|
|
- o.description = i18n.translatef("e.g. %s", "11.51")
|
|
|
|
- end
|
|
|
|
-
|
|
|
|
-end
|
|
|
|
-
|
|
|
|
-function M.handle(data)
|
|
|
|
- local sname = uci:get_first("gluon-node-info", "location")
|
|
|
|
-
|
|
|
|
- uci:set("gluon-node-info", sname, "share_location", data._location)
|
|
|
|
- if data._location and data._latitude ~= nil and data._longitude ~= nil then
|
|
|
|
- uci:set("gluon-node-info", sname, "latitude", data._latitude:trim())
|
|
|
|
- uci:set("gluon-node-info", sname, "longitude", data._longitude:trim())
|
|
|
|
- if data._altitude ~= nil then
|
|
|
|
- uci:set("gluon-node-info", sname, "altitude", data._altitude:trim())
|
|
|
|
- else
|
|
|
|
- uci:delete("gluon-node-info", sname, "altitude")
|
|
|
|
- end
|
|
|
|
- end
|
|
|
|
- uci:save("gluon-node-info")
|
|
|
|
- uci:commit("gluon-node-info")
|
|
|
|
-end
|
|
|
|
-
|
|
|
|
-return M
|
|
|