diff --git a/public/js/controllers/groupsCtrl.js b/public/js/controllers/groupsCtrl.js index 81b18f8dde..157eb56644 100644 --- a/public/js/controllers/groupsCtrl.js +++ b/public/js/controllers/groupsCtrl.js @@ -113,18 +113,14 @@ habitrpg.controller("GroupsCtrl", ['$scope', '$rootScope', 'Groups', '$http', 'A $scope.newGroup = new Groups.Group({type:'guild', privacy:'private', leader: User.user._id, members: [User.user._id]}); $scope.create = function(group){ - if (User.user.balance < 1) { - return $rootScope.modals.buyGems = true; -// $('#more-gems-modal').modal('show'); - } + if (User.user.balance < 1) return $rootScope.modals.buyGems = true; if (confirm("Create Guild for 4 Gems?")) { - group.balance = 1; group.$save(function(){ - User.user.balance--; - User.log({op:'set', data:{'balance':User.user.balance}}); - window.setTimeout(function(){window.location.href='/';}, 500) - }) + location.reload(); + }, function(error){ + alert(error.data); + }); } } diff --git a/src/controllers/groups.js b/src/controllers/groups.js index 4d2eeeee7e..60c49099d0 100644 --- a/src/controllers/groups.js +++ b/src/controllers/groups.js @@ -118,10 +118,27 @@ api.getGroup = function(req, res, next) { api.createGroup = function(req, res, next) { var group = new Group(req.body); - group.save(function(err, saved){ - if (err) return res.json(500,{err:err}); - res.json(saved); - }) + var user = res.locals.user; + + if(group.type === 'guild'){ + if(user.balance < 1) return res.json(401, {err: 'Not enough gems!'}); + + group.balance = 1; + user.balance--; + + user.save(function(err){ + if(err) return res.json(500,{err:err}); + group.save(function(err, saved){ + if (err) return res.json(500,{err:err}); + return res.json(saved); + }); + }); + }else{ + group.save(function(err, saved){ + if (err) return res.json(500,{err:err}); + return res.json(saved); + }); + } } api.updateGroup = function(req, res, next) {