mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-11-12 08:55:47 +01:00
group titles
This commit is contained in:
@@ -221,21 +221,16 @@
|
||||
};
|
||||
|
||||
Groups.update = function(groupName, values, callback) {
|
||||
callback = callback || function() {};
|
||||
db.exists('group:' + groupName, function (err, exists) {
|
||||
if (!err && exists) {
|
||||
// If the group was renamed, check for dupes
|
||||
if (!values.name) {
|
||||
db.setObject('group:' + groupName, values, callback);
|
||||
} else {
|
||||
if (callback) {
|
||||
callback(new Error('[[error:group-name-change-not-allowed]]'));
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if (callback) {
|
||||
callback(new Error('[[error:no-group]]'));
|
||||
}
|
||||
if (err || !exists) {
|
||||
return callback(err || new Error('[[error:no-group]]'));
|
||||
}
|
||||
|
||||
db.setObject('group:' + groupName, {
|
||||
userTitle: values.userTitle,
|
||||
description: values.description
|
||||
}, callback);
|
||||
});
|
||||
};
|
||||
|
||||
@@ -321,5 +316,39 @@
|
||||
})
|
||||
})
|
||||
});
|
||||
};
|
||||
|
||||
Groups.getUserGroups = function(uid, callback) {
|
||||
var ignoredGroups = ['registered-users'];
|
||||
|
||||
db.getSetMembers('groups', function(err, groupNames) {
|
||||
var groupKeys = groupNames.filter(function(groupName) {
|
||||
return ignoredGroups.indexOf(groupName) === -1;
|
||||
}).map(function(groupName) {
|
||||
return 'group:' + groupName;
|
||||
});
|
||||
|
||||
db.getObjectsFields(groupKeys, ['name', 'hidden', 'userTitle'], function(err, groupData) {
|
||||
|
||||
groupData = groupData.filter(function(group) {
|
||||
return parseInt(group.hidden, 10) !== 1;
|
||||
});
|
||||
|
||||
var groupSets = groupData.map(function(group) {
|
||||
group.userTitle = group.userTitle || group.name;
|
||||
return 'group:' + group.name + ':members';
|
||||
})
|
||||
|
||||
db.isMemberOfSets(groupSets, uid, function(err, isMembers) {
|
||||
for(var i=isMembers.length - 1; i>=0; --i) {
|
||||
if (parseInt(isMembers[i], 10) !== 1) {
|
||||
groupData.splice(i, 1);
|
||||
}
|
||||
}
|
||||
|
||||
callback(null, groupData);
|
||||
});
|
||||
});
|
||||
});
|
||||
}
|
||||
}(module.exports));
|
||||
|
||||
Reference in New Issue
Block a user