fix for gems not removed after guild creation, fix #1186

This commit is contained in:
Matteo Pagliazzi
2013-10-27 13:03:03 +01:00
parent a5af52a275
commit 24f3ba7b5c
2 changed files with 26 additions and 13 deletions

View File

@@ -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.newGroup = new Groups.Group({type:'guild', privacy:'private', leader: User.user._id, members: [User.user._id]});
$scope.create = function(group){ $scope.create = function(group){
if (User.user.balance < 1) { if (User.user.balance < 1) return $rootScope.modals.buyGems = true;
return $rootScope.modals.buyGems = true;
// $('#more-gems-modal').modal('show');
}
if (confirm("Create Guild for 4 Gems?")) { if (confirm("Create Guild for 4 Gems?")) {
group.balance = 1;
group.$save(function(){ group.$save(function(){
User.user.balance--; location.reload();
User.log({op:'set', data:{'balance':User.user.balance}}); }, function(error){
window.setTimeout(function(){window.location.href='/';}, 500) alert(error.data);
}) });
} }
} }

View File

@@ -118,10 +118,27 @@ api.getGroup = function(req, res, next) {
api.createGroup = function(req, res, next) { api.createGroup = function(req, res, next) {
var group = new Group(req.body); var group = new Group(req.body);
group.save(function(err, saved){ var user = res.locals.user;
if (err) return res.json(500,{err:err});
res.json(saved); 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) { api.updateGroup = function(req, res, next) {