diff options
| author | Julie Lala <jules@okfoc.us> | 2014-06-07 04:50:31 -0400 |
|---|---|---|
| committer | Julie Lala <jules@okfoc.us> | 2014-06-07 04:50:31 -0400 |
| commit | f28d8f4aac3f6411d43ac81a70bfebe5e61e96c7 (patch) | |
| tree | 659b2aa98c4851389398cea1e6bd7bac354bc6e6 /server/lib/views.js | |
| parent | 32c33b9e24cde290096af10d97b37eb4bbc0e788 (diff) | |
arrange edit project/profile modals
Diffstat (limited to 'server/lib/views.js')
| -rw-r--r-- | server/lib/views.js | 32 |
1 files changed, 27 insertions, 5 deletions
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 || [], + }) + } } |
