From f28d8f4aac3f6411d43ac81a70bfebe5e61e96c7 Mon Sep 17 00:00:00 2001 From: Julie Lala Date: Sat, 7 Jun 2014 04:50:31 -0400 Subject: arrange edit project/profile modals --- server/lib/views.js | 32 +++++++++++++++++++++++++++----- 1 file changed, 27 insertions(+), 5 deletions(-) (limited to 'server/lib/views.js') diff --git a/server/lib/views.js b/server/lib/views.js index 4ab2a21..a8723eb 100644 --- a/server/lib/views.js +++ b/server/lib/views.js @@ -1,23 +1,45 @@ /* jshint node: true */ var User = require('./schemas/User'), + Project = require('./schemas/Project'), config = require('../../config'), _ = require('lodash'); exports.login = function (req, res) { res.render('login', { - config: config }); }; exports.home = function (req, res) { res.render('home', { - config: config }) } exports.profile = function (req, res) { - res.render('profile', { - config: config - }) + var username = req.params[0] + if (username) { + User.findOne({ username: username }, function (err, user) { + user ? next(user) : done(err, {}, []) + }) + } + else if (req.user) { + next(req.user) + } + else { + done() + } + + function next(user){ + Project.find({ user_id: user._id }, function(err, projects){ + done(err, user, projects) + }) + } + + function done(err, user, projects){ + if (! user) { return res.redirect('/') } + res.render('profile', { + profile: user, + projects: projects || [], + }) + } } -- cgit v1.2.3-70-g09d2