luci-base: only render theme specific sysauth template when it exists
Avoid displaying non-fatal "File not found" exceptions when a theme is not shipping an own sysauth template. Fixes: #6118 Signed-off-by: Jo-Philipp Wich <jo@mein.io>
This commit is contained in:
parent
885e3a5f0b
commit
bed67dc000
2 changed files with 15 additions and 7 deletions
|
@ -922,16 +922,18 @@ dispatch = function(_http, path) {
|
||||||
http.header('X-LuCI-Login-Required', 'yes');
|
http.header('X-LuCI-Login-Required', 'yes');
|
||||||
|
|
||||||
let scope = { duser: 'root', fuser: user };
|
let scope = { duser: 'root', fuser: user };
|
||||||
|
let theme_sysauth = `themes/${basename(runtime.env.media)}/sysauth`;
|
||||||
|
|
||||||
try {
|
if (runtime.is_ucode_template(theme_sysauth) || runtime.is_lua_template(theme_sysauth)) {
|
||||||
runtime.render(`themes/${basename(runtime.env.media)}/sysauth`, scope);
|
try {
|
||||||
}
|
return runtime.render(theme_sysauth, scope);
|
||||||
catch (e) {
|
}
|
||||||
runtime.env.media_error = `${e}`;
|
catch (e) {
|
||||||
runtime.render('sysauth', scope);
|
runtime.env.media_error = `${e}`;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return;
|
return runtime.render('sysauth', scope);
|
||||||
}
|
}
|
||||||
|
|
||||||
let cookie_name = (http.getenv('HTTPS') == 'on') ? 'sysauth_https' : 'sysauth_http',
|
let cookie_name = (http.getenv('HTTPS') == 'on') ? 'sysauth_https' : 'sysauth_http',
|
||||||
|
|
|
@ -65,6 +65,12 @@ const Class = {
|
||||||
return access(`${template_directory}/${path}.ut`);
|
return access(`${template_directory}/${path}.ut`);
|
||||||
},
|
},
|
||||||
|
|
||||||
|
is_lua_template: function(path) {
|
||||||
|
let vm = this.init_lua(true);
|
||||||
|
|
||||||
|
return vm && access(`${vm.get('_G', 'luci', 'template', 'viewdir')}/${path}.htm`);
|
||||||
|
},
|
||||||
|
|
||||||
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