modules/admin-full: rework static routes config, add metric, mtu and live validation
authorJo-Philipp Wich <jow@openwrt.org>
Tue, 16 Nov 2010 19:06:51 +0000 (19:06 +0000)
committerJo-Philipp Wich <jow@openwrt.org>
Tue, 16 Nov 2010 19:06:51 +0000 (19:06 +0000)
modules/admin-full/luasrc/model/cbi/admin_network/routes.lua

index cd9be570a08f7edc343408fbbbced64783f66e83..469748c87a9dafdda55ff6584c703ad56ff6b91d 100644 (file)
@@ -30,9 +30,28 @@ s.template  = "cbi/tblsection"
 iface = s:option(ListValue, "interface", translate("Interface"))
 luci.tools.webadmin.cbi_add_networks(iface)
 
-s:option(Value, "target", translate("Target"), translate("Host-<abbr title=\"Internet Protocol Address\">IP</abbr> or Network"))
-s:option(Value, "netmask", translate("<abbr title=\"Internet Protocol Version 4\">IPv4</abbr>-Netmask"), translate("if target is a network")).rmemepty = true
-s:option(Value, "gateway", translate("<abbr title=\"Internet Protocol Version 4\">IPv4</abbr>-Gateway"))
+t = s:option(Value, "target", translate("Target"), translate("Host-<abbr title=\"Internet Protocol Address\">IP</abbr> or Network"))
+t.datatype = "ip4addr"
+t.rmempty = false
+
+n = s:option(Value, "netmask", translate("<abbr title=\"Internet Protocol Version 4\">IPv4</abbr>-Netmask"), translate("if target is a network"))
+n.placeholder = "255.255.255.255"
+n.datatype = "ip4addr"
+n.rmempty = true
+
+g = s:option(Value, "gateway", translate("<abbr title=\"Internet Protocol Version 4\">IPv4</abbr>-Gateway"))
+g.datatype = "ip4addr"
+g.rmempty = true
+
+metric = s:option(Value, "metric", translate("Metric"))
+metric.placeholder = 0
+metric.datatype = "range(0,255)"
+metric.rmempty = true
+
+mtu = s:option(Value, "mtu", translate("MTU"))
+mtu.placeholder = 1500
+mtu.datatype = "range(64,9000)"
+mtu.rmempty = true
 
 if routes6 then
        s = m:section(TypedSection, "route6", translate("Static IPv6 Routes"))
@@ -44,8 +63,23 @@ if routes6 then
        iface = s:option(ListValue, "interface", translate("Interface"))
        luci.tools.webadmin.cbi_add_networks(iface)
 
-       s:option(Value, "target", translate("Target"), translate("<abbr title=\"Internet Protocol Version 6\">IPv6</abbr>-Address or Network (CIDR)"))
-       s:option(Value, "gateway", translate("<abbr title=\"Internet Protocol Version 6\">IPv6</abbr>-Gateway")).rmempty = true
+       t = s:option(Value, "target", translate("Target"), translate("<abbr title=\"Internet Protocol Version 6\">IPv6</abbr>-Address or Network (CIDR)"))
+       t.datatype = "ip6addr"
+       t.rmempty = false
+
+       g = s:option(Value, "gateway", translate("<abbr title=\"Internet Protocol Version 6\">IPv6</abbr>-Gateway"))
+       g.datatype = "ip6addr"
+       g.rmempty = true
+
+       metric = s:option(Value, "metric", translate("Metric"))
+       metric.placeholder = 0
+       metric.datatype = "range(0,65535)" -- XXX: not sure
+       metric.rmempty = true
+
+       mtu = s:option(Value, "mtu", translate("MTU"))
+       mtu.placeholder = 1500
+       mtu.datatype = "range(64,9000)"
+       mtu.rmempty = true
 end