diff options
| author | Jules Laplace <jules@okfoc.us> | 2014-09-05 14:06:33 -0400 |
|---|---|---|
| committer | Jules Laplace <jules@okfoc.us> | 2014-09-05 14:06:33 -0400 |
| commit | 1877aa4b508704634774e47385cf5429f67a4565 (patch) | |
| tree | e895a1415339ea2a599cf6e3b80a2902fa49d03e /server/lib/views/staff.js | |
| parent | 4c3720f1ac1ce86fd54fcd4887aab6d31bcd68c2 (diff) | |
show user media
Diffstat (limited to 'server/lib/views/staff.js')
| -rw-r--r-- | server/lib/views/staff.js | 39 |
1 files changed, 32 insertions, 7 deletions
diff --git a/server/lib/views/staff.js b/server/lib/views/staff.js index d27ba0f..e776b7f 100644 --- a/server/lib/views/staff.js +++ b/server/lib/views/staff.js @@ -27,7 +27,7 @@ var staff = module.exports = { middleware: { - ensureUsers: function(req, res, next){ + ensureUsers: function(req, res, next, criteria){ var limit = Math.max( Number(req.query.limit) || 50, 200 ) var offset = Number(req.query.offset) || 0 var sort @@ -43,7 +43,8 @@ var staff = module.exports = { sort = {'username': 1} break } - User.find({}) + criteria = criteria || {} + User.find(criteria) .select(staff.fields.user) .sort(sort) .skip(offset) @@ -59,7 +60,7 @@ var staff = module.exports = { staff.middleware.ensureUsers(dreq, res, next) }, - ensureProjects: function(req, res, next){ + ensureProjects: function(req, res, next, criteria){ var limit = Math.max( Number(req.query.limit) || 50, 200 ) var offset = Number(req.query.offset) || 0 var sort @@ -71,7 +72,8 @@ var staff = module.exports = { sort = {'slug': 1} break } - Project.find({}) + criteria = criteria || {} + Project.find(criteria) .select(staff.fields.project) .sort(sort) .skip(offset) @@ -82,7 +84,7 @@ var staff = module.exports = { }) }, - ensureMedia: function(req, res, next){ + ensureMedia: function(req, res, next, criteria){ var limit = Math.max( Number(req.query.limit) || 50, 200 ) var offset = Number(req.query.offset) || 0 var sort @@ -92,7 +94,8 @@ var staff = module.exports = { sort = {'created_at': -1} break } - Media.find({}) + criteria = criteria || {} + Media.find(criteria) // .select(staff.fields.media) .sort(sort) .skip(offset) @@ -228,6 +231,11 @@ var staff = module.exports = { }) }, + ensureProfileMedia: function(req, res, next){ + if (! res.locals.profile) { return next() } + staff.middleware.ensureMedia(req, res, next, { user_id: res.locals.profile._id }) + }, + ensureProject: function(req, res, next){ res.locals.project = req.project next() @@ -314,6 +322,15 @@ var staff = module.exports = { staff.users.show ); + app.get('/staff/users/:username/media', + middleware.ensureAuthenticated, + middleware.ensureIsStaff, + + staff.middleware.ensureProfile, + staff.middleware.ensureProfileMedia, + + staff.users.media + ); app.put('/staff/users/:username/bless', middleware.ensureAuthenticated, middleware.ensureIsStaff, @@ -393,6 +410,14 @@ var staff = module.exports = { res.render('staff/users/show_404') } }, + media: function(req, res){ + if (res.locals.profile) { + res.render('staff/users/media') + } + else { + res.render('staff/users/show_404') + } + }, bless: function(req, res){ res.locals.profile.isStaff = req.body.state == "true" res.locals.profile.save(function(err, user){ @@ -412,7 +437,7 @@ var staff = module.exports = { res.render('staff/projects/show', { projectJSON: util.escape( JSON.stringify( res.locals.project ) ), projectUserJSON: util.escape( JSON.stringify( res.locals.projectUser ) ), - collaboratorsJSON: util.escape( JSON.stringify( res.locals.collaborators ) ) + collaboratorsJSON: util.escape( JSON.stringify( res.locals.collaborators ) ), }) } else { |
