entry({"freifunk", "map"}, template("freifunk-map/frame"), i18n("Map"), 50)
entry({"freifunk", "map", "content"}, template("freifunk-map/map"), nil, 51)
+ entry({"admin", "freifunk", "profile_error"}, template("freifunk/profile_error"))
end
local function fetch_olsrd()
]]--
local uci = require "luci.model.uci".cursor()
-local community = "profile_" .. uci:get("freifunk", "community", "name")
---local community = "profile_augsburg"
+local community = uci:get("freifunk", "community", "name")
+if community == nil then
+ luci.http.redirect(luci.dispatcher.build_url("admin", "freifunk", "profile_error"))
+ return
+else
+ community = "profile_" .. community
+ m = Map(community, translate("Community settings"), translate("These are the settings of your local community."))
+ c = m:section(NamedSection, "profile", "community")
-m = Map(community, translate("Community settings"), translate("These are the settings of your local community."))
+ name = c:option(Value, "name", "Name")
+ name.rmempty = false
-c = m:section(NamedSection, "profile", "community")
+ homepage = c:option(Value, "homepage", translate("Homepage"))
-name = c:option(Value, "name", "Name")
-name.rmempty = false
-
-homepage = c:option(Value, "homepage", translate("Homepage"))
-
-cc = c:option(Value, "country", translate("Country code"))
-function cc.cfgvalue(self, section)
- return uci:get(community, "wifi_device", "country")
-end
-function cc.write(self, sec, value)
- if value then
- uci:set(community, "wifi_device", "country", value)
- uci:save(community)
+ cc = c:option(Value, "country", translate("Country code"))
+ function cc.cfgvalue(self, section)
+ return uci:get(community, "wifi_device", "country")
+ end
+ function cc.write(self, sec, value)
+ if value then
+ uci:set(community, "wifi_device", "country", value)
+ uci:save(community)
+ end
end
-end
-ssid = c:option(Value, "ssid", translate("ESSID"))
-ssid.rmempty = false
+ ssid = c:option(Value, "ssid", translate("ESSID"))
+ ssid.rmempty = false
-prefix = c:option(Value, "mesh_network", translate("Mesh prefix"))
-prefix.rmempty = false
+ prefix = c:option(Value, "mesh_network", translate("Mesh prefix"))
+ prefix.rmempty = false
-splash_net = c:option(Value, "splash_network", translate("Network for client DHCP addresses"))
-splash_net.rmempty = false
+ splash_net = c:option(Value, "splash_network", translate("Network for client DHCP addresses"))
+ splash_net.rmempty = false
-splash_prefix = c:option(Value, "splash_prefix", translate("Client network size"))
-splash_prefix.rmempty = false
+ splash_prefix = c:option(Value, "splash_prefix", translate("Client network size"))
+ splash_prefix.rmempty = false
-lat = c:option(Value, "latitude", translate("Latitude"))
-lat.rmempty = false
+ lat = c:option(Value, "latitude", translate("Latitude"))
+ lat.rmempty = false
-lon = c:option(Value, "longitude", translate("Longitude"))
-lon.rmempty = false
-return m
+ lon = c:option(Value, "longitude", translate("Longitude"))
+ lon.rmempty = false
+ return m
+end
local fs = require "nixio.fs"
local uci = require "luci.model.uci".cursor()
-local community = "/etc/config/profile_" .. uci:get("freifunk", "community", "name")
-
-f = SimpleForm("community", translate("Community profile"),
- translate("You can manually edit the selected community profile here."))
-
-t = f:field(TextValue, "cop")
-t.rmempty = true
-t.rows = 30
-function t.cfgvalue()
- return fs.readfile(community) or ""
-end
+local community = uci:get("freifunk", "community", "name")
+
+if community == nil then
+ luci.http.redirect(luci.dispatcher.build_url("admin", "freifunk", "profile_error"))
+ return
+else
+ community = "/etc/config/profile_" .. community
+ f = SimpleForm("community", translate("Community profile"), translate("You can manually edit the selected community profile here."))
+
+ t = f:field(TextValue, "cop")
+ t.rmempty = true
+ t.rows = 30
+ function t.cfgvalue()
+ return fs.readfile(community) or ""
+ end
-function f.handle(self, state, data)
- if state == FORM_VALID then
- if data.cop then
- fs.writefile(cop, data.rcs:gsub("\r\n", "\n"))
+ function f.handle(self, state, data)
+ if state == FORM_VALID then
+ if data.cop then
+ fs.writefile(cop, data.rcs:gsub("\r\n", "\n"))
+ end
end
+ return true
end
- return true
+ return f
end
-return f
-
--- /dev/null
+<%+header%>
+
+<%
+local profileurl = luci.dispatcher.build_url(luci.dispatcher.context.path[1], "freifunk", "basics")
+%>
+
+<h2><%:Error%></h2>
+<%:You need to select a profile before you can edit it. To select a profile go to%> <a href='<%=profileurl%>'><%:Basic settings%></a>.
+<p/>
+
+<%+footer%>
option 'sw_merge' '1'
config 'defaults' 'interface'
- option 'netmask' '255.0.0.0'
- option 'dns' '88.198.178.18 141.54.1.1 212.204.49.83 208.67.220.220 208.67.222.222'
+ option 'netmask' '255.255.0.0'
+ option 'dns' '8.8.8.8 212.204.49.83 141.1.1.1'
config 'defaults' 'alias'
option 'netmask' '255.255.255.0'
option 'mesh_network' '10.90.0.0/16'
option 'splash_network' '10.104.0.0/16'
option 'splash_prefix' '28'
-
-config 'defaults' 'interface'
- option 'netmask' '255.255.0.0'
config 'defaults' 'wifi_iface'
option 'bssid' '02:40:00:42:42:42'
-
-config 'defaults' 'interface'
- option 'netmask' '255.255.0.0'
-
config 'defaults' 'wifi_device'
option 'channel' '10'
+
+config 'defaults' 'interface'
+ option 'netmask' '255.0.0.0'
+
option 'latitude' '51.22347'
option 'longitude' '6.78449'
-config 'defaults' 'interface'
- option 'netmask' '255.255.0.0'
-
config 'defaults' 'wifi_device'
option 'channel' '3'
config 'defaults' 'wifi_iface'
option 'bssid' 'CA:FF:EE:CA:FF:EE'
-
-config 'defaults' 'interface'
- option 'netmask' '255.255.0.0'
-
config 'defaults' 'interface'
option 'dns' '10.14.0.1 208.67.222.220 208.67.220.222'
- option 'netmask' '255.255.0.0'
config 'defaults' 'wifi_device'
option 'channel' '1'
-
-config 'defaults' 'interface'
- option 'netmask' '255.255.0.0'
-
config 'defaults' 'interface'
option 'dns' '8.8.8.8 212.204.49.83'
- option 'netmask' '255.255.0.0'
config 'defaults' 'wifi_device'
option 'channel' '11'
-config 'defaults' 'interface'
- option 'netmask' '255.255.0.0'
-
config 'defaults' 'wifi_iface'
option 'bssid' 'DE:AD:BE:EF:CA:FE'
option 'longitude' '8.769239'
config 'defaults' 'interface'
- option 'netmask' '255.255.0.0'
option 'dns' '208.67.222.222 208.67.220.220'
config 'defaults' 'wifi_device'
option 'latitude' '52.39349'
option 'longitude' '13.06489'
-config 'defaults' 'interface'
- option 'netmask' '255.255.0.0'
-
config 'defaults' 'wifi_device'
option 'channel' '13'
config 'defaults' 'wifi_iface'
option 'bssid' 'D2:CA:FF:EE:BA:BE'
-
-config 'defaults' 'interface'
- option 'netmask' '255.255.0.0'
option 'latitude' '48.03485'
option 'longitude' '11.21279'
-config 'defaults' 'interface'
- option 'netmask' '255.255.255.0'
-
config 'defaults' 'wifi_device'
option 'channel' '1'
option 'bssid' '02:CA:FF:EE:BA:BB'
config 'defaults' 'interface'
option 'dns' '10.254.0.1 10.254.0.2'
- option 'netmask' '255.255.0.0'