move registered-users/guests to top remove admins from priv settings

v1.18.x
barisusakli 10 years ago
parent 7c7b43d295
commit ed8d60b76b

@ -67,6 +67,10 @@ var async = require('async'),
isPrivilegeGroup: /^cid:\d+:privileges:[\w:]+$/
};
Groups.getEphemeralGroups = function() {
return ephemeralGroups;
};
Groups.list = function(options, callback) {
db.getSortedSetRevRange('groups:createtime', 0, -1, function (err, groupNames) {
if (err) {

@ -58,7 +58,7 @@ module.exports = function(privileges) {
memberData = memberData.map(function(member) {
member.privileges = {};
for(var x=0,numPrivs=privileges.length;x<numPrivs;x++) {
member.privileges[privileges[x]] = memberSets[x].indexOf(member.uid) !== -1
member.privileges[privileges[x]] = memberSets[x].indexOf(member.uid) !== -1;
}
return member;
@ -82,23 +82,26 @@ module.exports = function(privileges) {
}), next);
},
function(memberSets, next) {
groups.list({
expand: false,
isAdmin: true,
showSystemGroups: true
}, function(err, memberData) {
memberData = memberData.filter(function(member) {
return member.name.indexOf(':privileges:') === -1;
groups.getGroups(0, -1, function(err, groupNames) {
if (err) {
return next(err);
}
groupNames = groups.getEphemeralGroups().concat(groupNames);
groupNames.splice(0, 0, groupNames.splice(groupNames.indexOf('registered-users'), 1)[0]);
groupNames.splice(groupNames.indexOf('administrators'), 1);
var memberData = groupNames.filter(function(member) {
return member.indexOf(':privileges:') === -1;
}).map(function(member) {
member.privileges = {};
var memberPrivs = {};
for(var x=0,numPrivs=privileges.length;x<numPrivs;x++) {
member.privileges[privileges[x]] = memberSets[x].indexOf(member.name) !== -1
memberPrivs[privileges[x]] = memberSets[x].indexOf(member) !== -1;
}
return {
name: member.name,
memberCount: member.memberCount,
privileges: member.privileges,
name: member,
privileges: memberPrivs,
};
});

Loading…
Cancel
Save