better guild join/leave

This commit is contained in:
Matteo Pagliazzi
2013-11-03 11:58:42 +01:00
parent 7e811b9998
commit 06f6dc0a43

View File

@@ -157,6 +157,9 @@ habitrpg.controller("GroupsCtrl", ['$scope', '$rootScope', 'Groups', '$http', 'A
var i = _.findIndex(User.user.invitations.guilds, {id:joined._id}); var i = _.findIndex(User.user.invitations.guilds, {id:joined._id});
if (~i) User.user.invitations.guilds.splice(i,1); if (~i) User.user.invitations.guilds.splice(i,1);
$scope.groups.guilds.push(joined); $scope.groups.guilds.push(joined);
if(joined.privacy == 'public'){
joined._isMember = true;
}
$state.go('options.social.guilds.detail', {gid: joined._id}); $state.go('options.social.guilds.detail', {gid: joined._id});
}) })
} }
@@ -170,8 +173,13 @@ habitrpg.controller("GroupsCtrl", ['$scope', '$rootScope', 'Groups', '$http', 'A
// remove user from group members if guild is public so that he can re-join it immediately // remove user from group members if guild is public so that he can re-join it immediately
if(group.privacy == 'public'){ if(group.privacy == 'public'){
// slow when a lot of members...? probably yes // slow when a lot of members...? probably yes
_.remove(group.members, {_id: User.user._id}); //_.remove(group.members, {_id: User.user._id}); Not necessary client side
group.memberCount--; var i = _.findIndex($scope.groups.public, {_id: group._id});
if(~i){
var guild = $scope.groups.public[i];
guild.memberCount--;
guild._isMember = false;
}
} }
$state.go('options.social.guilds'); $state.go('options.social.guilds');
}); });