diff options
author | Dennis Eriksen <dennis.se@gmail.com> | 2013-05-24 12:00:09 +0200 |
---|---|---|
committer | Dennis Eriksen <dennis.se@gmail.com> | 2013-05-24 12:00:09 +0200 |
commit | 4b63a8906f95b9ec74ea575ec1ba0ebcc564b65b (patch) | |
tree | bf1bf2b020683b51a2787fc12f9d9535134e5f78 /controllers/system.js | |
parent | added random access link for invited users. now they don't have to (diff) | |
download | Divid-4b63a8906f95b9ec74ea575ec1ba0ebcc564b65b.tar.gz |
added some accesscontrol, so uinregistered users can't make new projects
Diffstat (limited to 'controllers/system.js')
-rw-r--r-- | controllers/system.js | 31 |
1 files changed, 30 insertions, 1 deletions
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) { |