if you attempt to join a group when you're already in a group, you can't anymore.

This commit is contained in:
Julian Lam
2015-01-16 20:14:39 -05:00
parent 8ba05c08fe
commit 04be40158c
2 changed files with 21 additions and 9 deletions

View File

@@ -615,15 +615,26 @@ var async = require('async'),
};
Groups.requestMembership = function(groupName, uid, callback) {
if (parseInt(uid, 10) > 0) {
db.setAdd('group:' + groupName + ':pending', uid, callback);
plugins.fireHook('action:group.requestMembership', {
groupName: groupName,
uid: uid
});
} else {
callback(new Error('[[error:not-logged-in]]'));
}
async.parallel({
exists: async.apply(Groups.isMember, uid, groupName),
isMember: async.apply(Groups.exists, groupName)
}, function(err, checks) {
if (!checks.exists) {
return callback(new Error('[[error:no-group]]'));
} else if (checks.isMember) {
return callback(new Error('[[error:group-already-member]]'));
}
if (parseInt(uid, 10) > 0) {
db.setAdd('group:' + groupName + ':pending', uid, callback);
plugins.fireHook('action:group.requestMembership', {
groupName: groupName,
uid: uid
});
} else {
callback(new Error('[[error:not-logged-in]]'));
}
});
};
Groups.acceptMembership = function(groupName, uid, callback) {