luci-base: dispatcher: rework dispatching and menu filtering logic
[project/luci.git] / modules / luci-base / root / usr / share / luci / menu.d / luci-base.json
1 {
2 "admin": {
3 "title": "Administration",
4 "order": 10,
5 "action": {
6 "type": "firstchild",
7 "recurse": true
8 },
9 "auth": {
10 "methods": [ "cookie:sysauth" ],
11 "login": true
12 }
13 },
14
15 "admin/status": {
16 "title": "Status",
17 "order": 10,
18 "action": {
19 "type": "firstchild",
20 "preferred": "overview",
21 "recurse": true
22 }
23 },
24
25 "admin/system": {
26 "title": "System",
27 "order": 20,
28 "action": {
29 "type": "firstchild",
30 "preferred": "system",
31 "recurse": true
32 }
33 },
34
35 "admin/services": {
36 "title": "Services",
37 "order": 40,
38 "action": {
39 "type": "firstchild",
40 "recurse": true
41 }
42 },
43
44 "admin/network": {
45 "title": "Network",
46 "order": 50,
47 "action": {
48 "type": "firstchild",
49 "recurse": true
50 }
51 },
52
53 "admin/vpn": {
54 "title": "VPN",
55 "order": 70,
56 "action": {
57 "type": "firstchild",
58 "recurse": true
59 }
60 },
61
62 "admin/translations/*": {
63 "action": {
64 "type": "call",
65 "module": "luci.controller.admin.index",
66 "function": "action_translations"
67 },
68 "auth": {}
69 },
70
71 "admin/ubus/*": {
72 "action": {
73 "type": "call",
74 "module": "luci.controller.admin.index",
75 "function": "action_ubus"
76 },
77 "auth": {}
78 },
79
80 "admin/logout": {
81 "title": "Logout",
82 "order": 999,
83 "action": {
84 "type": "call",
85 "module": "luci.controller.admin.index",
86 "function": "action_logout"
87 },
88 "depends": {
89 "acl": [ "luci-base" ]
90 },
91 "firstchild_ineligible": true
92 },
93
94 "admin/uci": {
95 "action": {
96 "type": "firstchild"
97 }
98 },
99
100 "admin/uci/revert": {
101 "action": {
102 "type": "call",
103 "module": "luci.controller.admin.uci",
104 "function": "action_revert",
105 "post": true
106 }
107 },
108
109 "admin/uci/apply_rollback": {
110 "cors": true,
111 "action": {
112 "type": "call",
113 "module": "luci.controller.admin.uci",
114 "function": "action_apply_rollback",
115 "post": true
116 },
117 "auth": {
118 "methods": [ "cookie:sysauth" ]
119 }
120 },
121
122 "admin/uci/apply_unchecked": {
123 "cors": true,
124 "action": {
125 "type": "call",
126 "module": "luci.controller.admin.uci",
127 "function": "action_apply_unchecked",
128 "post": true
129 },
130 "auth": {
131 "methods": [ "cookie:sysauth" ]
132 }
133 },
134
135 "admin/uci/confirm": {
136 "cors": true,
137 "action": {
138 "type": "call",
139 "module": "luci.controller.admin.uci",
140 "function": "action_confirm"
141 },
142 "auth": {}
143 },
144
145 "admin/menu": {
146 "action": {
147 "type": "call",
148 "module": "luci.controller.admin.index",
149 "function": "action_menu"
150 },
151 "auth": {}
152 }
153 }