luci-base: dispatcher: rework dispatching and menu filtering logic
authorJo-Philipp Wich <jo@mein.io>
Wed, 28 Jul 2021 07:00:16 +0000 (09:00 +0200)
committerJo-Philipp Wich <jo@mein.io>
Mon, 11 Oct 2021 18:38:04 +0000 (20:38 +0200)
commite4d24f07c9e641a18aede2f556bee4361b7a7af6
tree1b8642b315aa85a74b86b7fb01bfe8fe5f2112f6
parentea9b5e87e6ec3fbab52a02ab5f18bb51292bd249
luci-base: dispatcher: rework dispatching and menu filtering logic

 - Prefer nodes that do not require authentication over nodes that do
 - Honour ACL dependencies while resolving firstchild nodes
 - Consider currently active session while scanning menu tree instead
   of only loading effective ACLs when a login node is encountered
 - Do not consider nodes for firstchild dispatching which specify a
   special "firstchild_ineligible" property
 - Hide menu nodes that have no accessible children

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
modules/luci-base/htdocs/luci-static/resources/ui.js
modules/luci-base/luasrc/dispatcher.lua
modules/luci-base/root/usr/share/luci/menu.d/luci-base.json