summaryrefslogtreecommitdiff
path: root/server/lib/views/staff.js
diff options
context:
space:
mode:
authorJules Laplace <jules@okfoc.us>2014-09-05 14:06:33 -0400
committerJules Laplace <jules@okfoc.us>2014-09-05 14:06:33 -0400
commit1877aa4b508704634774e47385cf5429f67a4565 (patch)
treee895a1415339ea2a599cf6e3b80a2902fa49d03e /server/lib/views/staff.js
parent4c3720f1ac1ce86fd54fcd4887aab6d31bcd68c2 (diff)
show user media
Diffstat (limited to 'server/lib/views/staff.js')
-rw-r--r--server/lib/views/staff.js39
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 {