some pages redirect after logging in

merge-requests/208/head
fatchan 5 years ago
parent db963d4607
commit 3c327862d9
  1. 11
      controllers/forms.js
  2. 11
      helpers/isloggedin.js
  3. 11
      models/forms/login.js
  4. 3
      models/pages/login.js

@ -14,6 +14,7 @@ const express = require('express')
, dismissReports = require(__dirname+'/../models/forms/dismiss-report.js') , dismissReports = require(__dirname+'/../models/forms/dismiss-report.js')
, loginAccount = require(__dirname+'/../models/forms/login.js') , loginAccount = require(__dirname+'/../models/forms/login.js')
, registerAccount = require(__dirname+'/../models/forms/register.js') , registerAccount = require(__dirname+'/../models/forms/register.js')
, hasPerms = require(__dirname+'/../helpers/haspermsmiddleware.js')
, numberConverter = require(__dirname+'/../helpers/number-converter.js') , numberConverter = require(__dirname+'/../helpers/number-converter.js')
, banCheck = require(__dirname+'/../helpers/bancheck.js'); , banCheck = require(__dirname+'/../helpers/bancheck.js');
@ -160,7 +161,8 @@ router.post('/board/:board/posts', Boards.exists, banCheck, numberConverter, asy
|| req.body.dismiss || req.body.dismiss
|| req.body.spoiler || req.body.spoiler
|| req.body.ban || req.body.ban
|| req.body.global_ban)) { || req.body.global_ban
|| req.body.preserve_post)) {
errors.push('Must select an action') errors.push('Must select an action')
} }
if (req.body.report && (!req.body.reason || req.body.reason.length === 0)) { if (req.body.report && (!req.body.reason || req.body.reason.length === 0)) {
@ -227,4 +229,11 @@ router.post('/board/:board/posts', Boards.exists, banCheck, numberConverter, asy
}); });
//unban
router.post('/board/:board/bans', Boards.exists, banCheck, hasPerms, numberConverter, async (req, res, next) => {
//TODO: unbans
});
module.exports = router; module.exports = router;

@ -1,6 +1,13 @@
'use strict'; 'use strict';
module.exports = (req, res, next) => { module.exports = (req, res, next) => {
if (req.session.authenticated === true) return next() if (req.session.authenticated === true) {
res.redirect('/login') return next();
}
const redirect = req.params.board;
if (redirect) {
res.redirect(`/login?redirect=${redirect}`);
} else {
res.redirect('/login');
}
} }

@ -7,6 +7,7 @@ module.exports = async (req, res, next) => {
const username = req.body.username.toLowerCase(); const username = req.body.username.toLowerCase();
const password = req.body.password; const password = req.body.password;
const redirect = req.body.redirect;
//fetch an account //fetch an account
let account; let account;
@ -21,7 +22,7 @@ module.exports = async (req, res, next) => {
return res.status(403).render('message', { return res.status(403).render('message', {
'title': 'Forbidden', 'title': 'Forbidden',
'message': 'Incorrect username or password', 'message': 'Incorrect username or password',
'redirect': '/login' 'redirect': redirect ? `/login?redirect=${redirect}` : '/login'
}); });
} }
@ -44,18 +45,14 @@ module.exports = async (req, res, next) => {
req.session.authenticated = true; req.session.authenticated = true;
//successful login //successful login
return res.render('message', { return res.redirect(redirect ? `/${redirect}/manage` : '/');
'title': 'Success',
'message': `Welcome, ${username}`,
'redirect': '/'
});
} }
return res.status(403).render('message', { return res.status(403).render('message', {
'title': 'Forbidden', 'title': 'Forbidden',
'message': 'Incorrect username or password', 'message': 'Incorrect username or password',
'redirect': '/login' 'redirect': redirect ? `/login?redirect=${redirect}` : '/login'
}); });
} }

@ -4,7 +4,8 @@ module.exports = (req, res, next) => {
//render the page //render the page
res.render('login', { res.render('login', {
csrf: req.csrfToken() csrf: req.csrfToken(),
redirect: req.query.redirect,
}); });
} }

Loading…
Cancel
Save