1
0
Fork 0

web - minor fixes on reset page and path ruling

This commit is contained in:
Ruben Meyer 2020-09-16 16:42:51 +02:00
parent 54f5a173ef
commit ba8be413b7
Signed by: rxbn_
GPG Key ID: BE3BF898BE352FE2
2 changed files with 48 additions and 51 deletions

View File

@ -131,7 +131,28 @@ let getRoutes = async () => {
if(req.path.startsWith('/api')) if(req.path.startsWith('/api'))
return next(); return next();
if(req.path == "/request") return res.render('error/404'); let obj = {
session: req.session,
cfg: cfg
};
if(req.session && req.session.user) {
// query user
userQuery = await db.getUser(req.session.user.id);
if(userQuery.reply) {
groupQuery = await db.getGroup(userQuery.reply.group);
obj.user = userQuery.reply;
obj.group = groupQuery.reply;
}
}
if(req.path == "/request") {
if(req.query.appId) {
if(req.query.appId && typeof req.query.appId == "string") {
req.session.appRequest.appId = req.query.appId;
}
}
return res.redirect('/authenticate');
}
let pathRules = await db.getPathRules(); let pathRules = await db.getPathRules();
@ -155,30 +176,18 @@ let getRoutes = async () => {
let regex = new RegExp(rule.expression, "g"); let regex = new RegExp(rule.expression, "g");
if(regex.test(req.path)) { if(regex.test(req.path)) {
if(rule.type == "404") { if(rule.type == "404") {
return res.status(404).render('error/404', { obj.error_code = 404;
error_code: 404, obj.error_msg = 'msg.request.file.not_found';
error_msg: 'msg.request.file.not_found', return res.status(404).render('error/404', obj);
session: req.session,
cfg: cfg
});
} else if(rule.type == "missing_permission") { } else if(rule.type == "missing_permission") {
return res.status(401).render('error/permission', { obj.error_code = 401;
error_code: 401, return res.status(401).render('error/permission', obj);
session: req.session,
cfg: cfg
});
} else if(rule.type == "login" && (!req.session || !req.session.user)) { } else if(rule.type == "login" && (!req.session || !req.session.user)) {
return res.status(401).render('error/login', { obj.error_code = 401;
error_code: 401, return res.status(401).render('error/login', obj);
session: req.session,
cfg: cfg
});
} else { } else {
return res.status(401).render('error/error', { obj.error_code = 401;
error_code: 401, return res.status(401).render('error/error', obj);
session: req.session,
cfg: cfg
});
} }
} }
} }
@ -188,18 +197,12 @@ let getRoutes = async () => {
let dir = global['__dirname'] + '/bin/web/views'; let dir = global['__dirname'] + '/bin/web/views';
let path_j = path.join(dir, req.path.toLowerCase()); let path_j = path.join(dir, req.path.toLowerCase());
if(fs.existsSync(path_j+'.pug')) { if(fs.existsSync(path_j+'.pug')) {
return res.render(req.path.replace(/^\//, ''), { return res.render(req.path.replace(/^\//, ''), obj);
session: req.session,
cfg: cfg
});
} else { } else {
global['logs'].info("[web] (404) path not found: "+req.path); global['logs'].info("[web] (404) path not found: "+req.path);
return res.status(404).render('error/404', { obj.error_code = 404;
error_code: 404, obj.error_msg = 'msg.request.file.not_found';
error_msg: 'msg.request.file.not_found', return res.status(404).render('error/404', obj);
session: req.session,
cfg: cfg
});
} }
})); }));

View File

@ -1,23 +1,17 @@
extends blocks/layout.pug extends blocks/layout.pug
append var append var
if(session && !session.user) - var breadcrumb = {0: {"name": cfg.app.name, "href": "/"}, 1: {"name": "Forgot your password?", "active": true}};
- var breadcrumb = {0: {"name": cfg.app.name, "href": "/"}, 1: {"name": "Forgot your password?", "active": true}}; - var title = "Reset password";
- var title = "Reset password";
append content append content
if(session && !session.user) .uk-flex.uk-margin-medium-top.uk-margin-medium-bottom
.uk-flex.uk-margin-medium-top.uk-margin-medium-bottom div(class="uk-width-auto uk-width-1-4@s")
div(class="uk-width-auto uk-width-1-4@s") .uk-flex.uk-flex-auto.uk-flex-column.uk-flex-center.uk-margin-left.uk-margin-right
.uk-flex.uk-flex-auto.uk-flex-column.uk-flex-center.uk-margin-left.uk-margin-right h1 Reset Password
h1 Reset Password form.uk-form-horizontal
form.uk-form-horizontal .uk-margin
.uk-margin label.uk-form-label(for="login_user") Username / Email
label.uk-form-label(for="login_user") Username / Email .uk-form-controls
.uk-form-controls input.uk-input#login_user(type="text", placeholder="tetrahedron")
input.uk-input#login_user(type="text", placeholder="tetrahedron") a(href="#").uk-button.uk-button-default Reset password
a(href="#").uk-button.uk-button-default Reset password div(class="uk-width-auto uk-width-1-4@s")
div(class="uk-width-auto uk-width-1-4@s")
else
append var
- overwrite_vars = (session && session.user) ? true : false;
include blocks/error/permission.pug