* luci/modules: add hosts configuration pages
[project/luci.git] / modules / admin-full / luasrc / controller / admin / network.lua
index 3952fb8..72bf7cc 100644 (file)
@@ -15,24 +15,43 @@ module("luci.controller.admin.network", package.seeall)
 
 function index()
        require("luci.i18n")
-       require("luci.model.uci")
+       local uci = require("luci.model.uci").cursor()
        local i18n = luci.i18n.translate
 
        local page  = node("admin", "network")
        page.target = alias("admin", "network", "network")
-       page.title  = i18n("network")  
+       page.title  = i18n("network")
        page.order  = 50
-       
+
        local page  = node("admin", "network", "vlan")
        page.target = cbi("admin_network/vlan")
        page.title  = i18n("a_n_switch")
        page.order  = 20
-       
+
+       local page  = node("admin", "network", "wireless")
+       page.target = form("admin_network/wireless")
+       page.title  = i18n("wifi")
+       page.i18n   = "wifi"
+       page.order  = 15
+       uci:foreach("wireless", "wifi-device",
+               function (section)
+                       local ifc = section[".name"]
+                               entry({"admin", "network", "wireless", ifc},
+                                alias("admin", "network", "wifi", ifc),
+                                ifc:upper()).i18n = "wifi"
+               end
+       )
+
+       local page  = node("admin", "network", "wifi")
+       page.target = cbi("admin_network/wifi")
+       page.leaf   = true
+       page.i18n = "wifi"
+
        local page  = node("admin", "network", "network")
        page.target = cbi("admin_network/network")
        page.title  = i18n("interfaces", "Schnittstellen")
        page.order  = 10
-       luci.model.uci.foreach("network", "interface",
+       uci:foreach("network", "interface",
                function (section)
                        local ifc = section[".name"]
                        if ifc ~= "loopback" then
@@ -42,7 +61,7 @@ function index()
                        end
                end
        )
-       
+
        local page  = node("admin", "network", "ifaces")
        page.target = cbi("admin_network/ifaces")
        page.leaf   = true
@@ -51,23 +70,28 @@ function index()
        page.target = cbi("admin_network/dhcp")
        page.title  = "DHCP"
        page.order  = 30
-       
+
        entry(
         {"admin", "network", "dhcp", "leases"},
         cbi("admin_network/dhcpleases"),
         i18n("dhcp_leases")
-       ) 
-       
+       )
+
+       local page  = node("admin", "network", "hosts")
+       page.target = cbi("admin_network/hosts")
+       page.title  = i18n("hostnames", "Hostnames")
+       page.order  = 40
+
        local page  = node("admin", "network", "routes")
        page.target = cbi("admin_network/routes")
        page.title  = i18n("a_n_routes")
-       page.order  = 40
+       page.order  = 50
        page.leaf   = true
-       
+
        entry(
         {"admin", "network", "routes", "static"},
         function() end,
         i18n("a_n_routes_static")
        )
 
-end
\ No newline at end of file
+end