* luci/modules: add hosts configuration pages
authorJo-Philipp Wich <jow@openwrt.org>
Sat, 6 Sep 2008 18:21:58 +0000 (18:21 +0000)
committerJo-Philipp Wich <jow@openwrt.org>
Sat, 6 Sep 2008 18:21:58 +0000 (18:21 +0000)
modules/admin-full/luasrc/controller/admin/network.lua
modules/admin-full/luasrc/model/cbi/admin_network/hosts.lua [new file with mode: 0644]

index 5062399..72bf7cc 100644 (file)
@@ -20,14 +20,14 @@ function index()
 
        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")
@@ -41,12 +41,12 @@ function index()
                                 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")
@@ -61,7 +61,7 @@ function index()
                        end
                end
        )
-       
+
        local page  = node("admin", "network", "ifaces")
        page.target = cbi("admin_network/ifaces")
        page.leaf   = true
@@ -70,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
diff --git a/modules/admin-full/luasrc/model/cbi/admin_network/hosts.lua b/modules/admin-full/luasrc/model/cbi/admin_network/hosts.lua
new file mode 100644 (file)
index 0000000..dbf4aff
--- /dev/null
@@ -0,0 +1,33 @@
+--[[
+LuCI - Lua Configuration Interface
+
+Copyright 2008 Steven Barth <steven@midlink.org>
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+$Id$
+]]--
+
+require("luci.sys")
+require("luci.util")
+m = Map("luci_hosts", translate("hostnames"))
+
+s = m:section(TypedSection, "host", translate("hostnames_entries"))
+s.addremove = true
+s.anonymous = true
+s.template = "cbi/tblsection"
+
+hn = s:option(Value, "hostname", translate("hostnames_hostname"))
+ip = s:option(Value, "ipaddr", translate("hostnames_address"))
+for i, dataset in ipairs(luci.sys.net.arptable()) do
+       ip:value(
+               dataset["IP address"],
+               "%s (%s)" %{ dataset["IP address"], dataset["HW address"] }
+       )
+end
+
+return m