From 53db31d4fbba55cf97d98ba7c17bf3683ee05f5b Mon Sep 17 00:00:00 2001 From: Tyler Renelle Date: Fri, 15 Nov 2013 18:16:48 -0800 Subject: [PATCH] [#1828] don't let users create party if they already belong to one --- src/controllers/groups.js | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/src/controllers/groups.js b/src/controllers/groups.js index fea98e6750..2278a9a998 100644 --- a/src/controllers/groups.js +++ b/src/controllers/groups.js @@ -177,13 +177,21 @@ api.create = function(req, res, next) { }); }); }else{ - group.save(function(err, saved){ + async.waterfall([ + function(cb){ + Group.findOne({type:'party',members:{$in:[user._id]}},cb); + }, + function(found, cb){ + if (found) return cb('Already in a party, try refreshing.'); + group.save(cb); + }, + function(saved, count, cb){ + saved.populate('members', nameFields, cb); + } + ], function(err, populated){ if (err) return res.json(500,{err:err}); - saved.populate('members', nameFields, function(err, populated){ - if (err) return res.json(500,{err:err}); - return res.json(populated); - }); - }); + return res.json(populated); + }) } }