/**
* Module dependencies
*/
var mongoose = require('mongoose')
, Project = mongoose.model('Project')
, Access = mongoose.model('Access')
, User = mongoose.model('User');
/**
* Before the user log in
* ===============================================================
*/
exports.index = function(req, res) {
res.render('index', { title: 'DERS' });
};
exports.test = function(req, res) {
res.render('test', {
title: 'test',
loggedin: false
});
};
exports.home = function(req, res) {
res.render('home', {
title: 'home',
loggedin: false
});
};
exports.faq = function(req, res) {
res.render('faq', {
title: 'faq',
loggedin: false
});
}
/**
* After the user has logged in
* ===============================================================
*/
exports.dashboard = function(req, res) {
console.log('/dashboard - ' + req.user._id);
/*
Access.find({ user: req.user._id }, function(err, accesses) {
if (err) return res.render('500');
console.log('accesses ' + accesses);
accesses.forEach(function(access) {
Project.load(access.project, function(err, project) {
if (err) return res.render('500');
projectList.push(project);
console.log(project.user.username);
});
});
});
*/
Access.loadUser(req.user._id, function(err, projects) {
if (err) return res.render('500');
Project.populate(projects, { path: 'project.user', model: User }, function(err, projects) {
console.log('accesses: ' + projects);
res.render('dashboard', {
title: 'Dashboard',
loggedin: true,
projects: projects
});
});
})
/*
Project.find(function(err, projects) {
if (err) return res.render('500');
res.render('dashboard', {
title: 'Dashboad',
loggedin: true,
projects: projects
});
});*/
}
exports.project = function(req, res) {
res.render('project', { title: 'Harepus', loggedin: true });
}
exports.projectParticipants = function(req, res) {
res.render('projectParticipants', { title: 'Prosjektdeltakere', loggedin: true });
}
exports.postProjectParticipants = function(req, res) {
}
exports.newProject = function(req, res) {
res.render('newproject', { title: 'Nytt prosjekt', loggedin: true });
}
exports.postNewProject = function(req, res) {
var project = new Project(req.body);
project.user = req.user._id;
project.save(function(err) {
if (err) {
console.log(err.errors);
return res.render('newproject', { title: 'Nytt prosjekt - en feil oppstod', loggedin: true, errors: err.errors, project: project });
}
});
var access = new Access();
access.user = req.user._id;
access.creator = req.user._id;
access.project = project._id;
access.permissions = 1;
access.save(function(err) {
if (err) {
console.log(err.errors);
return res.render('newproject', { title: 'Nytt prosjekt - en feil oppstod', loggedin: true });
}
return res.redirect('/dashboard');
})
}