NIU: Allow automatic unbridging of LAN ethernet for WAN use
[project/luci.git] / modules / niu / luasrc / model / cbi / niu / network / wandevice.lua
index 1f65196..8917b97 100644 (file)
@@ -12,19 +12,36 @@ You may obtain a copy of the License at
 $Id$
 ]]--
 
-local cursor = require "luci.model.uci".cursor()
-local nw = require "luci.model.network"
-nw.init(cursor)
+local niulib = require "luci.niulib"
 
-f = Form("wandev", "Internet Device")
-l = f:field(ListValue, "device", "Gerät")
-l:value("ethernet:eth0", "Ethernet / Cable / DSL (eth0)")
-l:value("none", "No Internet Connection")
+m = Map("network", "Configure Internet Connection")
+s = m:section(NamedSection, "wan", "interface", "Internet Connection Device")
+s.anonymous = true
+s.addremove = false
+
+s:tab("general", translate("General Settings"))
+s:tab("expert", translate("Expert Settings"))
+
+l = s:taboption("general", ListValue, "_wandev", "Internet Connection via")
+
+for _, ifc in ipairs(niulib.eth_get_available("wan")) do
+       l:value("ethernet:%s" % ifc, "Cable / DSL / Ethernet-Adapter (%s)" % ifc)
+end
+
+for _, wifi in ipairs(niulib.wifi_get_available("client")) do
+       l:value("wlan:%s" % wifi, "WLAN-Adapter (%s)" % wifi)
+end
 
-function f.handle(self, state, data)
-       if state == FORM_VALID then
-               
-       end
+for _, ifc in ipairs(niulib.eth_get_bridged("lan")) do
+       l:value("ethernet:!%s" % ifc, "Used Ethernet-Adapter (%s)" % ifc, {_showused = "1"})
 end
 
-return f
+l:value("none", "No Internet Connection")
+
+v = s:taboption("expert", ListValue, "_showused", translate("Show ethernet adapters in use"))
+v:value("", translate("never"))
+v:value("1", translate("from LAN-bridge, unbridge on-demand"))
+
+
+
+return m