luci-base: fix rendering ucode templates from template
target
A previous commit inadvertently broke support for rendering ucode templates
from the `template` dispatcher target.
Fixes: #6111
Fixes: fa17c1573f
("luci-base, luci-lua-runtime: adjust Lua template environment")
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
This commit is contained in:
parent
7c3705bb0f
commit
a5d21dadbd
2 changed files with 10 additions and 3 deletions
|
@ -774,9 +774,12 @@ function render_action(fn) {
|
||||||
function run_action(request_path, lang, tree, resolved, action) {
|
function run_action(request_path, lang, tree, resolved, action) {
|
||||||
switch (action?.type) {
|
switch (action?.type) {
|
||||||
case 'template':
|
case 'template':
|
||||||
render_action(() => {
|
if (runtime.is_ucode_template(action.path))
|
||||||
runtime.call('luci.dispatcher', 'render_lua_template', action.path);
|
runtime.render_ucode(action.path);
|
||||||
});
|
else
|
||||||
|
render_action(() => {
|
||||||
|
runtime.call('luci.dispatcher', 'render_lua_template', action.path);
|
||||||
|
});
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'view':
|
case 'view':
|
||||||
|
|
|
@ -61,6 +61,10 @@ const Class = {
|
||||||
return this.L;
|
return this.L;
|
||||||
},
|
},
|
||||||
|
|
||||||
|
is_ucode_template: function(path) {
|
||||||
|
return access(`${template_directory}/${path}.ut`);
|
||||||
|
},
|
||||||
|
|
||||||
render_ucode: function(path, scope) {
|
render_ucode: function(path, scope) {
|
||||||
let tmplfunc = loadfile(path, { raw_mode: false });
|
let tmplfunc = loadfile(path, { raw_mode: false });
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue