removed old code that was no longer necessary, updated privilege table to show all groups (similar to previous behaviour), fixes #2887

v1.18.x
Julian Lam 10 years ago
parent 9b84a887d3
commit d3af278123

@ -47,6 +47,7 @@ var async = require('async'),
getEphemeralGroup: function(groupName) {
return {
name: groupName,
slug: utils.slugify(groupName),
description: '',
deleted: '0',
hidden: '0',

@ -82,29 +82,25 @@ module.exports = function(privileges) {
}), next);
},
function(memberSets, next) {
// Reduce into a single array
var members = memberSets.reduce(function(combined, curMembers) {
return combined.concat(curMembers);
}).filter(function(member, index, combined) {
return combined.indexOf(member) === index;
});
// Special handling for "guests" group
members.splice(members.indexOf('guests'), 1);
groups.getMultipleGroupFields(members, ['name', 'slug', 'memberCount'], function(err, memberData) {
memberData.push({
name: 'guests',
slug: 'guests'
});
memberData = memberData.map(function(member) {
groups.list({
expand: false,
isAdmin: true,
showSystemGroups: true
}, function(err, memberData) {
memberData = memberData.filter(function(member) {
return member.name.indexOf(':privileges:') === -1;
}).map(function(member) {
member.privileges = {};
for(var x=0,numPrivs=privileges.length;x<numPrivs;x++) {
member.privileges[privileges[x]] = memberSets[x].indexOf(member.name) !== -1
member.privileges[privileges[x]] = memberSets[x].indexOf(member.slug) !== -1
}
return member;
return {
name: member.name,
slug: member.slug,
memberCount: member.memberCount,
privileges: member.privileges,
};
});
next(null, memberData);

@ -66,46 +66,4 @@ Categories.getPrivilegeSettings = function(socket, cid, callback) {
privileges.categories.list(cid, callback);
};
// Categories.setGroupPrivilege = function(socket, data, callback) {
// if(!data) {
// return callback(new Error('[[error:invalid-data]]'));
// }
// groups[data.set ? 'join' : 'leave']('cid:' + data.cid + ':privileges:' + data.privilege, data.name, function (err) {
// if (err) {
// return callback(err);
// }
// groups.hide('cid:' + data.cid + ':privileges:' + data.privilege, callback);
// });
// };
// Categories.groupsList = function(socket, cid, callback) {
// groups.list({
// expand: false,
// isAdmin: true,
// showSystemGroups: true
// }, function(err, data) {
// if(err) {
// return callback(err);
// }
// // Remove privilege groups
// data = data.filter(function(groupObj) {
// return groupObj.name.indexOf(':privileges:') === -1;
// });
// async.map(data, function(groupObj, next) {
// privileges.categories.groupPrivileges(cid, groupObj.name, function(err, privileges) {
// if(err) {
// return next(err);
// }
// groupObj.privileges = privileges;
// next(null, groupObj);
// });
// }, callback);
// });
// };
module.exports = Categories;
Loading…
Cancel
Save