modules/admin-mini: Added DHCP page
authorSteven Barth <steven@midlink.org>
Tue, 15 Jul 2008 16:28:29 +0000 (16:28 +0000)
committerSteven Barth <steven@midlink.org>
Tue, 15 Jul 2008 16:28:29 +0000 (16:28 +0000)
modules/admin-full: Added static leases configuration to DHCP page

i18n/english/luasrc/i18n/admin-core.en.lua
i18n/english/luasrc/i18n/cbi.en.lua
i18n/german/luasrc/i18n/admin-core.de.lua
modules/admin-full/luasrc/model/cbi/admin_network/dhcp.lua
modules/admin-mini/luasrc/controller/mini/network.lua
modules/admin-mini/luasrc/model/cbi/mini-network/basic.lua
modules/admin-mini/luasrc/model/cbi/mini-network/dhcp.lua [new file with mode: 0644]

index 9add5c1..efbe124 100644 (file)
@@ -214,6 +214,8 @@ dhcp_dhcp_force = "Force"
 dhcp_dhcp_start_desc = "first address (last octet)"
 dhcp_dhcp_limit_desc = "number of leased addresses -1"
 
+luci_ethers = "Static Leases"
+
 a_n_ptp = "Point-to-Point Connections"
 a_n_ptp1 = [[Point-to-Point connections with PPPoE or PPTP are often used to connect a device
 over DSL or similar technologies to an internet access point.]]
index b681cfb..ca3dcce 100644 (file)
@@ -1,4 +1,5 @@
 cbi_add = "Add entry"
 cbi_del = "Remove entry"
 cbi_invalid = "Error: Invalid input value"
-cbi_addopt = "-- Additional Field --"
\ No newline at end of file
+cbi_addopt = "-- Additional Field --"
+cbi_optional = " (optional)"
\ No newline at end of file
index 0c3c06a..2c7f0fc 100644 (file)
@@ -216,6 +216,8 @@ iwscan_noise = [[Rausch]]
 iwscan_signal = [[Signal]]
 link = [[Verb.]]
 
+luci_ethers = "Statische Eintr├Ąge"
+
 network_interface_demand = [[Automatische Trennung]]
 network_interface_demand_desc = [[Zeit nach der die Verbindung bei Inaktivit├Ąt getrennt wird]]
 network_interface_keepalive = [[Keep-Alive]]
index b22f735..e9ab6c9 100644 (file)
@@ -49,5 +49,16 @@ for i, line in pairs(luci.sys.execl("dnsmasq --help dhcp")) do
        k, v = line:match("([^ ]+) +([^ ]+)")
        s:option(Value, "dhcp"..k, v).optional = true
 end
+
+m2 = Map("luci_ethers", translate("luci_ethers"))
+
+s = m2:section(TypedSection, "static_lease", "")
+s.addremove = true
+s.anonymous = true
+s.template = "cbi/tblsection"
+
+s:option(Value, "macaddr", translate("macaddress"))
+s:option(Value, "ipaddr", translate("ipaddress"))
+
        
-return m
\ No newline at end of file
+return m, m2
\ No newline at end of file
index d42d31d..4f9c415 100644 (file)
@@ -20,4 +20,5 @@ function index()
        local i18n = luci.i18n.translate
 
        entry({"mini", "network"}, cbi("mini-network/basic"), i18n("network"))
+       entry({"mini", "network", "dhcp"}, cbi("mini-network/dhcp"), "DHCP")
 end
\ No newline at end of file
index c972eef..d7c1ce8 100644 (file)
@@ -17,9 +17,9 @@ m = Map("network", "Network")
 s = m:section(NamedSection, "lan", "interface", "Local Network")
 s:option(Value, "ipaddr", translate("ipaddress"))
 s:option(Value, "netmask", translate("netmask"))
-gw = s:option(Value, "gateway", translate("gateway"))
+gw = s:option(Value, "gateway", translate("gateway") .. translate("cbi_optional"))
 gw.rmempty = true
-dns = s:option(Value, "dns", translate("dnsserver"))
+dns = s:option(Value, "dns", translate("dnsserver") .. translate("cbi_optional"))
 dns.rmempty = true
 
 
@@ -53,13 +53,13 @@ pwd = s:option(Value, "password", translate("password"))
 pwd:depends("proto", "pppoe")
 pwd:depends("proto", "pptp")
 
-kea = s:option(Value, "keepalive", "Keep-Alive")
+kea = s:option(Value, "keepalive", "Keep-Alive" .. translate("cbi_optional"))
 kea:depends("proto", "pppoe")
 kea:depends("proto", "pptp")
 kea.rmempty = true
 
 
-cod = s:option(Value, "demand", "Dial on Demand")
+cod = s:option(Value, "demand", "Dial on Demand" .. translate("cbi_optional"))
 cod:depends("proto", "pppoe")
 cod:depends("proto", "pptp")
 cod.rmempty = true
@@ -68,7 +68,7 @@ srv = s:option(Value, "server", "PPTP-Server")
 srv:depends("proto", "pptp")
 srv.rmempty = true
 
-mtu = s:option(Value, "mtu", "MTU")
+mtu = s:option(Value, "mtu", "MTU" .. translate("cbi_optional"))
 mtu:depends("proto", "static")
 mtu:depends("proto", "dhcp")
 mtu:depends("proto", "pppoe")
diff --git a/modules/admin-mini/luasrc/model/cbi/mini-network/dhcp.lua b/modules/admin-mini/luasrc/model/cbi/mini-network/dhcp.lua
new file mode 100644 (file)
index 0000000..5a27f1e
--- /dev/null
@@ -0,0 +1,65 @@
+--[[
+LuCI - Lua Configuration Interface
+
+Copyright 2008 Steven Barth <steven@midlink.org>
+Copyright 2008 Jo-Philipp Wich <xm@leipzig.freifunk.net>
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+$Id$
+]]--
+require("luci.model.uci")
+require("luci.sys")
+
+m = Map("dhcp", "DHCP")
+
+s = m:section(TypedSection, "dhcp", "DHCP-Server")
+s.anonymous = true
+s:depends("interface", "lan")
+
+enable = s:option(ListValue, "ignore", "", "")
+enable:value(0, "enabled")
+enable:value(1, "disabled")
+
+start = s:option(Value, "start", "First address")
+start.rmempty = true
+start:depends("ignore", "0")
+
+
+limit = s:option(Value, "limit", "Number of leases", "")
+limit:depends("ignore", "0")
+
+function limit.cfgvalue(self, section)
+       local value = Value.cfgvalue(self, section)
+       
+       if value then
+               return tonumber(value) + 1
+       end 
+end
+
+function limit.write(self, section, value)
+       value = tonumber(value) - 1
+       return Value.write(self, section, value) 
+end
+
+limit.rmempty = true
+
+time = s:option(Value, "leasetime")
+time:depends("ignore", "0")
+time.rmempty = true
+
+m2 = Map("luci_ethers", translate("luci_ethers"))
+
+s = m2:section(TypedSection, "static_lease", "")
+s.addremove = true
+s.anonymous = true
+s.template = "cbi/tblsection"
+
+s:option(Value, "macaddr", translate("macaddress"))
+s:option(Value, "ipaddr", translate("ipaddress"))
+
+return m, m2
\ No newline at end of file