23a575852b66e77c491a6534b5e4a05372cd27db
[project/luci.git] / modules / admin-full / luasrc / controller / admin / network.lua
1 --[[
2 LuCI - Lua Configuration Interface
3
4 Copyright 2008 Steven Barth <steven@midlink.org>
5
6 Licensed under the Apache License, Version 2.0 (the "License");
7 you may not use this file except in compliance with the License.
8 You may obtain a copy of the License at
9
10         http://www.apache.org/licenses/LICENSE-2.0
11
12 $Id$
13 ]]--
14 module("luci.controller.admin.network", package.seeall)
15
16 function index()
17         require("luci.i18n")
18         require("luci.model.uci")
19         local i18n = luci.i18n.translate
20
21         local page  = node("admin", "network")
22         page.target = alias("admin", "network", "network")
23         page.title  = i18n("network")  
24         page.order  = 50
25         
26         local page  = node("admin", "network", "vlan")
27         page.target = cbi("admin_network/vlan")
28         page.title  = i18n("a_n_switch")
29         page.order  = 20
30         
31         local page  = node("admin", "network", "wireless")
32         page.target = form("admin_network/wireless")
33         page.title  = i18n("wifi")
34         page.order  = 15
35         luci.model.uci.foreach("wireless", "wifi-device",
36                 function (section)
37                         local ifc = section[".name"]
38                                 entry({"admin", "network", "wireless", ifc},
39                                  alias("admin", "network", "wifi", ifc),
40                                  ifc:upper())
41                 end
42         )
43         
44         local page  = node("admin", "network", "wifi")
45         page.target = cbi("admin_network/wifi")
46         page.leaf   = true
47         
48         local page  = node("admin", "network", "network")
49         page.target = cbi("admin_network/network")
50         page.title  = i18n("interfaces", "Schnittstellen")
51         page.order  = 10
52         luci.model.uci.foreach("network", "interface",
53                 function (section)
54                         local ifc = section[".name"]
55                         if ifc ~= "loopback" then
56                                 entry({"admin", "network", "network", ifc},
57                                  alias("admin", "network", "ifaces", ifc),
58                                  ifc:upper())
59                         end
60                 end
61         )
62         
63         local page  = node("admin", "network", "ifaces")
64         page.target = cbi("admin_network/ifaces")
65         page.leaf   = true
66
67         local page  = node("admin", "network", "dhcp")
68         page.target = cbi("admin_network/dhcp")
69         page.title  = "DHCP"
70         page.order  = 30
71         
72         entry(
73          {"admin", "network", "dhcp", "leases"},
74          cbi("admin_network/dhcpleases"),
75          i18n("dhcp_leases")
76         ) 
77         
78         local page  = node("admin", "network", "routes")
79         page.target = cbi("admin_network/routes")
80         page.title  = i18n("a_n_routes")
81         page.order  = 40
82         page.leaf   = true
83         
84         entry(
85          {"admin", "network", "routes", "static"},
86          function() end,
87          i18n("a_n_routes_static")
88         )
89
90 end