modules/admin-mini: Added DHCP page

modules/admin-full: Added static leases configuration to DHCP page
This commit is contained in:
Steven Barth 2008-07-15 16:28:29 +00:00
parent 5510e082ca
commit 8bb8b7c09c
7 changed files with 89 additions and 7 deletions

View 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.]]

View file

@ -1,4 +1,5 @@
cbi_add = "Add entry"
cbi_del = "Remove entry"
cbi_invalid = "Error: Invalid input value"
cbi_addopt = "-- Additional Field --"
cbi_addopt = "-- Additional Field --"
cbi_optional = " (optional)"

View 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]]

View 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
return m, m2

View 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

View 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")

View file

@ -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