mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-11-10 07:55:46 +01:00
support for "registered users" and "administrators" in access control (categories). Renamed "Administrators" group to "administrators", and made hidden
This commit is contained in:
@@ -28,6 +28,18 @@
|
||||
});
|
||||
};
|
||||
|
||||
Groups.listSystemGroups = function(options, callback) {
|
||||
var systemGroups = ['administrators', 'registered-users'],
|
||||
humanNames = ['Administrators', 'Registered Users'];
|
||||
|
||||
async.map(systemGroups, function(groupName, next) {
|
||||
Groups.getByGroupName(groupName, options, function(err, groupObj) {
|
||||
groupObj['name'] = humanNames[systemGroups.indexOf(groupObj['name'])];
|
||||
next(err, groupObj);
|
||||
});
|
||||
}, callback);
|
||||
};
|
||||
|
||||
Groups.get = function(gid, options, callback) {
|
||||
async.parallel({
|
||||
base: function (next) {
|
||||
@@ -199,7 +211,26 @@
|
||||
Groups.update = function(gid, values, callback) {
|
||||
db.exists('gid:' + gid, function (err, exists) {
|
||||
if (!err && exists) {
|
||||
db.setObject('gid:' + gid, values, callback);
|
||||
// If the group was renamed, check for dupes, fix the assoc. hash
|
||||
if (values['name']) {
|
||||
Groups.exists(values['name'], function(err, exists) {
|
||||
if (!exists) {
|
||||
Groups.get(gid, {}, function(err, groupObj) {
|
||||
if (err) {
|
||||
return callback(new Error('group-not-found'));
|
||||
}
|
||||
|
||||
db.deleteObjectField('group:gid', groupObj['name']);
|
||||
db.setObjectField('group:gid', values['name'], gid);
|
||||
db.setObject('gid:' + gid, values, callback);
|
||||
});
|
||||
} else {
|
||||
callback(new Error('group-exists'));
|
||||
}
|
||||
});
|
||||
} else {
|
||||
db.setObject('gid:' + gid, values, callback);
|
||||
}
|
||||
} else {
|
||||
if (callback) {
|
||||
callback(new Error('gid-not-found'));
|
||||
|
||||
Reference in New Issue
Block a user