Sync with OpenWrt
[project/luci.git] / applications / luci-qos / luasrc / model / cbi / qos / qos.lua
index 2af820d6f910fc26850f81fec4adebc7bb1bc8bb..4b94355f10b874180388f2c65954ac6c862aa524 100644 (file)
@@ -11,58 +11,69 @@ You may obtain a copy of the License at
 
 $Id$
 ]]--
-m = Map("qos", "Quality of Service", [[Mit Hilfe von QoS kann einzelnen Rechnern oder Netzwerkdiensten
-eine höhere oder niedrigere Priorität zugewiesen werden.]])
+require("luci.tools.webadmin")
+m = Map("qos")
 
-s = m:section(TypedSection, "interface", "Schnittstellen")
+s = m:section(TypedSection, "interface", translate("interfaces"))
 s.addremove = true
 
-s:option(Flag, "enabled", "aktiviert")
+s:option(Flag, "enabled", translate("enable"))
 
-c = s:option(ListValue, "classgroup", "Klassifizierung")
+c = s:option(ListValue, "classgroup")
 c:value("Default", "standard")
 c.default = "Default"
 
-s:option(Flag, "overhead", "Overheadberechnung")
+s:option(Flag, "overhead")
 
-s:option(Value, "download", "Downlink", "kb/s")
+s:option(Value, "download", nil, "kb/s")
 
-s:option(Value, "upload", "Uplink", "kb/s")
-
-s = m:section(TypedSection, "classify", "Klassifizierung")
+s:option(Value, "upload", nil, "kb/s")
 
+s = m:section(TypedSection, "classify")
+s.template = "cbi/tblsection"
 s.anonymous = true
 s.addremove = true
 
-t = s:option(ListValue, "target", "Klasse")
-t:value("Priority")
-t:value("Express")
-t:value("Normal")
-t:value("Bulk")
+t = s:option(ListValue, "target")
+t:value("Priority", translate("qos_priority"))
+t:value("Express", translate("qos_express"))
+t:value("Normal", translate("qos_normal"))
+t:value("Bulk", translate("qos_bulk"))
 t.default = "Normal"
 
-s:option(Value, "srchost", "Quelladresse", "Quellhost / Quellnetz").optional = true
-s:option(Value, "dsthost", "Zieladresse", "Zielhost / Zielnetz").optional = true
-s:option(Value, "layer7", "Layer 7").optional = true
-
-p2p = s:option(ListValue, "ipp2p", "P2P")
-p2p:value("")
-p2p:value("all", "Alle")
-p2p:value("bit", "Bittorrent")
-p2p:value("dc", "DirectConnect")
-p2p:value("edk", "eDonkey")
-p2p:value("gnu", "Gnutella")
-p2p:value("kazaa", "Kazaa")
-p2p.optional = true
-
-p = s:option(ListValue, "proto", "Protokoll")
-p:value("")
+srch = s:option(Value, "srchost")
+srch.rmempty = true
+srch:value("", translate("all"))
+luci.tools.webadmin.cbi_add_knownips(srch)
+
+dsth = s:option(Value, "dsthost")
+dsth.rmempty = true
+dsth:value("", translate("all"))
+luci.tools.webadmin.cbi_add_knownips(dsth)
+
+l7 = s:option(ListValue, "layer7", translate("service"))
+l7.rmempty = true
+l7:value("", translate("all"))
+local pats = luci.fs.dir("/etc/l7-protocols")
+if pats then
+       for i,f in ipairs(pats) do
+               if f:sub(-4) == ".pat" then
+                       l7:value(f:sub(1, #f-4))
+               end
+       end
+end
+
+p = s:option(Value, "proto", translate("protocol"))
+p:value("", translate("all"))
 p:value("tcp", "TCP")
 p:value("udp", "UDP")
 p:value("icmp", "ICMP")
-p.optional = true
+p.rmempty = true
+
+ports = s:option(Value, "ports", translate("ports"))
+ports.rmempty = true
+ports:value("", translate("allf", translate("all")))
 
-s:option(Value, "ports", "Port").optional = true
-s:option(Value, "portrange", "Portbereich").optional = true
+bytes = s:option(Value, "connbytes", translate("qos_connbytes"))
 
-return m
\ No newline at end of file
+return m