From 4b63a8906f95b9ec74ea575ec1ba0ebcc564b65b Mon Sep 17 00:00:00 2001 From: Dennis Eriksen Date: Fri, 24 May 2013 12:00:09 +0200 Subject: added some accesscontrol, so uinregistered users can't make new projects --- controllers/system.js | 31 ++++++++++++++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) (limited to 'controllers/system.js') diff --git a/controllers/system.js b/controllers/system.js index 07f6704..e655ee9 100644 --- a/controllers/system.js +++ b/controllers/system.js @@ -26,6 +26,13 @@ Validator.prototype.getErrors = function() { } + if (req.user.status < access) { + console.log(req.header('Referer')); + if (req.header('Referer') === undefined) { return res.status(403).render('error', { title: 403, text: 'Du har ikke tilgang til denne siden. Du må registrere deg først. Sjekk mailen din for å se invitekode.' }); } + else { return res.redirect('back'); } + } + + /** * Before the user log in * =============================================================== @@ -92,6 +99,12 @@ exports.dashboard = function(req, res) { }); }); */ + if (req.user.status < 3) { + console.log(req.header('Referer')); + if (req.header('Referer') === undefined) { return res.status(403).render('error', { title: 403, text: 'Du har ikke tilgang til denne siden. Du må registrere deg først. Sjekk mailen din for å se invitekode.' }); } + else { return res.redirect('back'); } + } + Access.loadUser(req.user._id, function(err, projects) { if (err) return res.status(500).render('error', { title: '500', text: 'En serverfeil oppstod', error: err.stack }); var projectIDs = []; @@ -148,7 +161,11 @@ exports.project = function(req, res) { } exports.projectParticipants = function(req, res) { - + if (req.user.status < 3) { + console.log(req.header('Referer')); + if (req.header('Referer') === undefined) { return res.status(403).render('error', { title: 403, text: 'Du har ikke tilgang til denne siden. Du må registrere deg først. Sjekk mailen din for å se invitekode.' }); } + else { return res.redirect('back'); } + } res.render('projectParticipants', { title: 'Prosjektdeltakere', user: req.user }); } @@ -207,10 +224,22 @@ exports.postProjectPost = function(req, res) { }); } exports.newProject = function(req, res) { + if (req.user.status < 3) { + console.log(req.header('Referer')); + if (req.header('Referer') === undefined) { return res.status(403).render('error', { title: 403, text: 'Du har ikke tilgang til denne siden. Du må registrere deg først. Sjekk mailen din for å se invitekode.' }); } + else { return res.redirect('back'); } + } + res.render('newProject', { title: 'Nytt prosjekt', user: req.user }); } exports.postNewProject = function(req, res) { + if (req.user.status < 3) { + console.log(req.header('Referer')); + if (req.header('Referer') === undefined) { return res.status(403).render('error', { title: 403, text: 'Du har ikke tilgang til denne siden. Du må registrere deg først. Sjekk mailen din for å se invitekode.' }); } + else { return res.redirect('back'); } + } + var project = new Project(req.body); project.user = req.user._id; project.save(function(err) { -- cgit v1.2.3