changed behaviour of privilege table so that groups without explicit privileges are not shown in the privilege table

v1.18.x
Julian Lam 10 years ago
parent 4a0bc1fb03
commit cbb0542984

@ -101,19 +101,25 @@ module.exports = function(privileges) {
groupNames.splice(0, 0, groupNames.splice(groupNames.indexOf('registered-users'), 1)[0]); groupNames.splice(0, 0, groupNames.splice(groupNames.indexOf('registered-users'), 1)[0]);
groupNames.splice(groupNames.indexOf('administrators'), 1); groupNames.splice(groupNames.indexOf('administrators'), 1);
var memberData = groupNames.filter(function(member) { var memberPrivs, boolSet,
memberData = groupNames.filter(function(member) {
return member.indexOf(':privileges:') === -1; return member.indexOf(':privileges:') === -1;
}).map(function(member) { }).map(function(member) {
var memberPrivs = {}; memberPrivs = {};
boolSet = []; // Here, the boolSet is used as a quick way to determine whether a given group's privilege set is empty or not (see below)
for(var x=0,numPrivs=privileges.length;x<numPrivs;x++) { for(var x=0,numPrivs=privileges.length;x<numPrivs;x++) {
memberPrivs[privileges[x]] = memberSets[x].indexOf(member) !== -1; boolSet.push(memberPrivs[privileges[x]] = memberSets[x].indexOf(member) !== -1);
} }
return { if (boolSet.some(Boolean)) {
name: member, return {
privileges: memberPrivs, name: member,
}; privileges: memberPrivs,
}); };
} else {
return null;
}
}).filter(Boolean);
next(null, memberData); next(null, memberData);
}); });

Loading…
Cancel
Save