summaryrefslogtreecommitdiffhomepage
path: root/modules/admin-mini/luasrc
diff options
context:
space:
mode:
authorSteven Barth <steven@midlink.org>2008-07-15 16:28:29 +0000
committerSteven Barth <steven@midlink.org>2008-07-15 16:28:29 +0000
commit8bb8b7c09cee818246312a637d846be491e171d3 (patch)
treea892d7845ba4ce22389f14c453137763fe63031c /modules/admin-mini/luasrc
parent5510e082ca9fbc141ba63c27d968f2930b731357 (diff)
modules/admin-mini: Added DHCP page
modules/admin-full: Added static leases configuration to DHCP page
Diffstat (limited to 'modules/admin-mini/luasrc')
-rw-r--r--modules/admin-mini/luasrc/controller/mini/network.lua1
-rw-r--r--modules/admin-mini/luasrc/model/cbi/mini-network/basic.lua10
-rw-r--r--modules/admin-mini/luasrc/model/cbi/mini-network/dhcp.lua65
3 files changed, 71 insertions, 5 deletions
diff --git a/modules/admin-mini/luasrc/controller/mini/network.lua b/modules/admin-mini/luasrc/controller/mini/network.lua
index d42d31d585..4f9c4152da 100644
--- a/modules/admin-mini/luasrc/controller/mini/network.lua
+++ b/modules/admin-mini/luasrc/controller/mini/network.lua
@@ -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
diff --git a/modules/admin-mini/luasrc/model/cbi/mini-network/basic.lua b/modules/admin-mini/luasrc/model/cbi/mini-network/basic.lua
index c972eef7f9..d7c1ce84b1 100644
--- a/modules/admin-mini/luasrc/model/cbi/mini-network/basic.lua
+++ b/modules/admin-mini/luasrc/model/cbi/mini-network/basic.lua
@@ -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
index 0000000000..5a27f1e68b
--- /dev/null
+++ b/modules/admin-mini/luasrc/model/cbi/mini-network/dhcp.lua
@@ -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