applications/luci-splash: don't allow removing common settings...
[project/luci.git] / applications / luci-splash / luasrc / model / cbi / splash / splash.lua
1 -- ToDo: Translate, Add descriptions and help texts
2 require("luci.model.uci")
3
4 m = Map("luci_splash", "Client-Splash", [[Client-Splash ist das Freifunk Hotspot-Authentifizierungs-System.]])
5
6 s = m:section(NamedSection, "general", "core", "Allgemein")
7 s.addremove = false
8
9 s:option(Value, "leasetime", "Freigabezeit", "h")
10
11 s:option(Value, "limit_up", "Upload-Limitierung", "Kilobyte/s - limitiert die Upload-Geschwindigkeit von Clients")
12 s:option(Value, "limit_down", "Download-Limitierung", "Kilobyte/s - limitiert die Download-Geschwindigkeit von Clients")
13
14 s:option(DummyValue, "_tmp", "",
15         "Bandbreitenlimitierung für Clients wird aktiviert wenn sowohl Up- als auch " ..
16         "Download-Geschwindigkeit angegeben werden. Auf 0 setzen um die Limitierung zu deaktivieren. " ..
17         "Clients in der Whitelist werden nicht limitiert.")
18
19 s = m:section(TypedSection, "iface", "Schnittstellen",
20         "Bestimmt die Schnittstellen auf denen Splashing aktiviert werden soll. " ..
21         "Diese Einstellungen müssen normalerweise nicht angepasst werden.")
22
23 s.template = "cbi/tblsection"
24 s.addremove = true
25 s.anonymous = true
26
27 local uci = luci.model.uci.cursor()
28
29 zone = s:option(ListValue, "zone", "Firewallzone",
30         "Splash-Regeln in der angegebenen Zone eingliedern")
31
32 uci:foreach("firewall", "zone",
33         function (section)
34                 zone:value(section.name)
35         end)
36         
37 iface = s:option(ListValue, "network", "Netzwerk",
38         "Client-Verkehr auf der angegebenen Schnittstelle abfangen")
39
40 uci:foreach("network", "interface",
41         function (section)
42                 if section[".name"] ~= "loopback" then
43                         iface:value(section[".name"])
44                 end
45         end)
46         
47 uci:foreach("network", "alias",
48         function (section)
49                 iface:value(section[".name"])
50         end)
51
52
53 s = m:section(TypedSection, "whitelist", "Whitelist",
54         "MAC-Adressen in dieser Liste werden automatisch freigegeben und unterliegen " ..
55         "keiner Bandbreitenlimitierung.")
56
57 s.template = "cbi/tblsection"
58 s.addremove = true
59 s.anonymous = true
60 s:option(Value, "mac", "MAC-Adresse")
61
62
63 s = m:section(TypedSection, "blacklist", "Blacklist",
64         "MAC-Adressen in dieser Liste werden automatisch gesperrt. Verkehr von diesen " ..
65         "Adressen wird komplett verworfen und es wird kein Verbindungsaufbau via WLAN " ..
66         "zugelassen.")
67
68 s.template = "cbi/tblsection"
69 s.addremove = true
70 s.anonymous = true
71 s:option(Value, "mac", "MAC-Adresse")
72
73 s = m:section(TypedSection, "subnet", "Freigegebene Subnetze",
74         "Hier eingetragene Subnetze oder Host-Adressen sind vom Splash-Vorgang ausgenommen.")
75
76 s.template = "cbi/tblsection"
77 s.addremove = true
78 s.anonymous = true
79 s:option(Value, "ipaddr", "IP-Adresse")
80 s:option(Value, "netmask", "Netzmaske", "optional bei Host-Adressen").rmempty = true
81
82         
83 return m