mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-11-16 18:56:15 +01:00
move registered-users/guests to top remove admins from priv settings
This commit is contained in:
@@ -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,
|
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user