diff options
author | Jo-Philipp Wich <jo@mein.io> | 2022-11-21 12:24:31 +0100 |
---|---|---|
committer | Jo-Philipp Wich <jo@mein.io> | 2022-11-21 12:24:31 +0100 |
commit | 08ae8d40a939654d2e4a1774853c5c5683b12268 (patch) | |
tree | 3a0dc2b7a423b5535fdd38da0f99851d7b0b767f /modules/luci-base/ucode/dispatcher.uc | |
parent | c4d86c9f670a31e4541ccdf1876be3ab8b98ee5c (diff) |
luci-base, luci-lua-runtime: fix "dispatched" and "requested" properties
Ensure to properly emulate the "dispatched" and "requested" properties
which refer to the executed and initially resolved menu node respectivey.
Also stop exposing a `node` property in Lua context to maintain full
compatibility with the old Lua runtime.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Diffstat (limited to 'modules/luci-base/ucode/dispatcher.uc')
-rw-r--r-- | modules/luci-base/ucode/dispatcher.uc | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/modules/luci-base/ucode/dispatcher.uc b/modules/luci-base/ucode/dispatcher.uc index b08a2f8b7a..c996c76af1 100644 --- a/modules/luci-base/ucode/dispatcher.uc +++ b/modules/luci-base/ucode/dispatcher.uc @@ -856,7 +856,7 @@ dispatch = function(_http, path) { let version = determine_version(); let lang = determine_request_language(); - runtime = LuCIRuntime({ + runtime = runtime || LuCIRuntime({ http, ubus, uci, @@ -892,7 +892,8 @@ dispatch = function(_http, path) { let resolved = resolve_page(menu, path); runtime.env.ctx = resolved.ctx; - runtime.env.node = resolved.node; + runtime.env.dispatched = resolved.node; + runtime.env.requested ??= resolved.node; if (length(resolved.ctx.auth)) { let session = is_authenticated(resolved.ctx.auth); |