Firewall GUI optimizations
[project/luci.git] / applications / luci-fw / luasrc / model / cbi / luci_fw / trule.lua
index 3712196..c7aab0f 100644 (file)
@@ -16,16 +16,22 @@ m = Map("firewall", translate("firewall_rule"), translate("firewall_rule_desc"))
 
 s = m:section(NamedSection, arg[1], "rule", "")
 s.anonymous = true
+s.addremove = false
+
+back = s:option(DummyValue, "_overview", translate("overview"))
+back.value = ""
+back.titleref = luci.dispatcher.build_url("admin", "network", "firewall", "rule")
+
 
 name = s:option(Value, "_name", translate("name")..translate("cbi_optional"))
 name.rmempty = true
 
-iface = s:option(ListValue, "src", translate("firewall_rule_src"))
+iface = s:option(ListValue, "src", translate("fw_src"))
 iface.rmempty = true
 
-oface = s:option(ListValue, "dest", translate("firewall_rule_dest"))
-oface:value("")
-oface.optional = true
+oface = s:option(ListValue, "dest", translate("fw_dest"))
+oface:value("", translate("device", "device"))
+oface.rmempty = true
 
 luci.model.uci.cursor():foreach("firewall", "zone",
        function (section)
@@ -33,7 +39,7 @@ luci.model.uci.cursor():foreach("firewall", "zone",
                oface:value(section.name)
        end)
 
-proto = s:option(ListValue, "proto", translate("protocol"))
+proto = s:option(Value, "proto", translate("protocol"))
 proto.optional = true
 proto:value("")
 proto:value("tcpudp", "TCP+UDP")
@@ -46,13 +52,11 @@ s:option(Value, "dest_ip", translate("firewall_rule_destip")).optional = true
 s:option(Value, "src_mac", translate("firewall_rule_srcmac")).optional = true
 
 sport = s:option(Value, "src_port", translate("firewall_rule_srcport"))
-sport.optional = true
 sport:depends("proto", "tcp")
 sport:depends("proto", "udp")
 sport:depends("proto", "tcpudp")
 
 dport = s:option(Value, "dest_port", translate("firewall_rule_destport"))
-dport.optional = true
 dport:depends("proto", "tcp")
 dport:depends("proto", "udp")
 dport:depends("proto", "tcpudp")