admins can bypass the request step of a group and just join it, and they also become owners when they join a group

This commit is contained in:
Julian Lam
2015-01-22 16:01:17 -05:00
parent a526577927
commit 0c2d2a28ba
2 changed files with 25 additions and 6 deletions

View File

@@ -2,6 +2,9 @@
var groups = require('../groups'),
meta = require('../meta'),
user = require('../user'),
async = require('async'),
SocketGroups = {};
@@ -11,8 +14,11 @@ SocketGroups.join = function(socket, data, callback) {
}
if (meta.config.allowPrivateGroups !== '0') {
groups.isPrivate(data.groupName, function(err, isPrivate) {
if (isPrivate) {
async.parallel({
isAdmin: async.apply(user.isAdministrator, socket.uid),
isPrivate: async.apply(groups.isPrivate, data.groupName)
}, function(err, checks) {
if (checks.isPrivate && !checks.isAdmin) {
groups.requestMembership(data.groupName, socket.uid, callback);
} else {
groups.join(data.groupName, socket.uid, callback);