From 8bb8b7c09cee818246312a637d846be491e171d3 Mon Sep 17 00:00:00 2001 From: Steven Barth Date: Tue, 15 Jul 2008 16:28:29 +0000 Subject: [PATCH] modules/admin-mini: Added DHCP page modules/admin-full: Added static leases configuration to DHCP page --- i18n/english/luasrc/i18n/admin-core.en.lua | 2 + i18n/english/luasrc/i18n/cbi.en.lua | 3 +- i18n/german/luasrc/i18n/admin-core.de.lua | 2 + .../luasrc/model/cbi/admin_network/dhcp.lua | 13 +++- .../luasrc/controller/mini/network.lua | 1 + .../luasrc/model/cbi/mini-network/basic.lua | 10 +-- .../luasrc/model/cbi/mini-network/dhcp.lua | 65 +++++++++++++++++++ 7 files changed, 89 insertions(+), 7 deletions(-) create mode 100644 modules/admin-mini/luasrc/model/cbi/mini-network/dhcp.lua diff --git a/i18n/english/luasrc/i18n/admin-core.en.lua b/i18n/english/luasrc/i18n/admin-core.en.lua index 9add5c109f..efbe12456f 100644 --- a/i18n/english/luasrc/i18n/admin-core.en.lua +++ b/i18n/english/luasrc/i18n/admin-core.en.lua @@ -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.]] diff --git a/i18n/english/luasrc/i18n/cbi.en.lua b/i18n/english/luasrc/i18n/cbi.en.lua index b681cfb092..ca3dcce57c 100644 --- a/i18n/english/luasrc/i18n/cbi.en.lua +++ b/i18n/english/luasrc/i18n/cbi.en.lua @@ -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 diff --git a/i18n/german/luasrc/i18n/admin-core.de.lua b/i18n/german/luasrc/i18n/admin-core.de.lua index 0c3c06a85d..2c7f0fc9c7 100644 --- a/i18n/german/luasrc/i18n/admin-core.de.lua +++ b/i18n/german/luasrc/i18n/admin-core.de.lua @@ -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]] diff --git a/modules/admin-full/luasrc/model/cbi/admin_network/dhcp.lua b/modules/admin-full/luasrc/model/cbi/admin_network/dhcp.lua index b22f7354ae..e9ab6c93d7 100644 --- a/modules/admin-full/luasrc/model/cbi/admin_network/dhcp.lua +++ b/modules/admin-full/luasrc/model/cbi/admin_network/dhcp.lua @@ -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 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 +Copyright 2008 Jo-Philipp Wich + +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 -- 2.30.2