Added redirectIfNotLogged decorator.

Fixes #5
This commit is contained in:
Thomas Forgione
2017-09-26 11:42:31 +02:00
parent 19a99622a2
commit aa9ce199b0
3 changed files with 25 additions and 5 deletions

View File

@@ -5,6 +5,19 @@ const mail = require('mail');
const pug = require('pug');
const config = require('settings/config');
module.exports.redirectIfNotLogged = function(redirectionPage, toDecorate) {
return function(req, res, render) {
if (req.session.user === undefined) {
req.session.redirectAfterLog = redirectionPage;
req.session.save();
res.redirect(getUrl('login'));
return;
}
return toDecorate(...arguments);
};
}
module.exports.login = function(req, res, render) {
render('login.pug');
}
@@ -26,8 +39,12 @@ module.exports.loginTarget = function(req, res, render) {
} else {
if (testPassword(req.body.password, user.password)) {
req.session.user = user;
let redirection = req.session.redirectAfterLog || 'index';
req.session.redirectAfterLog = undefined;
req.session.save();
res.redirect(getUrl('index'));
res.redirect(getUrl(redirection));
} else {
res.redirect(getUrl('login'));
}