@@ -3,6 +3,7 @@ var router = require('express').Router(),
33 _ = require ( 'lodash' ) ,
44 privileges = require ( '../../helpers/access' ) . privilege ,
55 Game = require ( '../../models/game' ) ,
6+ User = require ( '../../models/user' ) ,
67 Release = require ( '../../models/release' ) ;
78 log = require ( '../../helpers/logger' ) ;
89
@@ -37,8 +38,7 @@ function handleError(req, res, errors)
3738 */
3839function renderPage ( req , res , template , populate , success )
3940{
40- populate = populate || 'groups.group' ;
41-
41+ populate = [ 'groups.group' ] . concat ( populate || [ ] ) ;
4242 async . waterfall (
4343 [
4444 function ( done )
@@ -47,6 +47,25 @@ function renderPage(req, res, template, populate, success)
4747 . populate ( populate ) ;
4848 } ,
4949 function ( game , done )
50+ {
51+ if ( populate . indexOf ( 'releases' ) )
52+ {
53+ User . populate ( game . releases , {
54+ path : 'updatedBy' ,
55+ select : 'name'
56+ } ,
57+ function ( err , releases )
58+ {
59+ if ( err ) return done ( err ) ;
60+ done ( null , game ) ;
61+ } ) ;
62+ }
63+ else
64+ {
65+ done ( null , game ) ;
66+ }
67+ } ,
68+ function ( game , done )
5069 {
5170 if ( ! game ) return res . status ( 404 ) . render ( '404' ) ;
5271
@@ -169,7 +188,8 @@ router.post('/:slug/releases', function(req, res)
169188 req . body . release ,
170189 {
171190 status : req . body . status ,
172- updated : Date . now ( )
191+ updated : Date . now ( ) ,
192+ updatedBy : req . body . updatedBy
173193 } ,
174194 done
175195 ) ;
@@ -318,7 +338,7 @@ router.get('/:slug/release', function(req, res)
318338router . get ( '/:slug/releases' , function ( req , res )
319339{
320340 renderPage ( req , res , 'games/releases' ,
321- 'releases groups.group' ,
341+ [ 'releases' ] ,
322342 function ( game )
323343 {
324344 game . releases . reverse ( ) ;
0 commit comments