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:]+$/ isPrivilegeGroup: /^cid:\d+:privileges:[\w:]+$/
}; };
Groups.getEphemeralGroups = function() {
return ephemeralGroups;
};
Groups.list = function(options, callback) { Groups.list = function(options, callback) {
db.getSortedSetRevRange('groups:createtime', 0, -1, function (err, groupNames) { db.getSortedSetRevRange('groups:createtime', 0, -1, function (err, groupNames) {
if (err) { if (err) {

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

Loading…
Cancel
Save