mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-10-31 19:15:58 +01:00
This commit is contained in:
@@ -168,7 +168,7 @@ module.exports = function (Groups) {
|
|||||||
function (next) {
|
function (next) {
|
||||||
async.parallel({
|
async.parallel({
|
||||||
group: function (next) {
|
group: function (next) {
|
||||||
db.getObject('group:' + currentName, next);
|
Groups.getGroupData(currentName, next);
|
||||||
},
|
},
|
||||||
exists: function (next) {
|
exists: function (next) {
|
||||||
Groups.existsBySlug(newSlug, next);
|
Groups.existsBySlug(newSlug, next);
|
||||||
@@ -180,7 +180,11 @@ module.exports = function (Groups) {
|
|||||||
return next(new Error('[[error:group-already-exists]]'));
|
return next(new Error('[[error:group-already-exists]]'));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (parseInt(results.group.system, 10) === 1) {
|
if (!results.group) {
|
||||||
|
return next(new Error('[[error:no-group]]'));
|
||||||
|
}
|
||||||
|
|
||||||
|
if (results.group.system) {
|
||||||
return next(new Error('[[error:not-allowed-to-rename-system-group]]'));
|
return next(new Error('[[error:not-allowed-to-rename-system-group]]'));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -238,6 +238,7 @@ SocketGroups.create = function (socket, data, callback) {
|
|||||||
SocketGroups.delete = isOwner(function (socket, data, callback) {
|
SocketGroups.delete = isOwner(function (socket, data, callback) {
|
||||||
if (data.groupName === 'administrators' ||
|
if (data.groupName === 'administrators' ||
|
||||||
data.groupName === 'registered-users' ||
|
data.groupName === 'registered-users' ||
|
||||||
|
data.groupName === 'guests' ||
|
||||||
data.groupName === 'Global Moderators') {
|
data.groupName === 'Global Moderators') {
|
||||||
return callback(new Error('[[error:not-allowed]]'));
|
return callback(new Error('[[error:not-allowed]]'));
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -942,6 +942,19 @@ describe('Groups', function () {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it('should fail to rename guests group', function (done) {
|
||||||
|
var data = {
|
||||||
|
groupName: 'guests',
|
||||||
|
values: {
|
||||||
|
name: 'guests2',
|
||||||
|
},
|
||||||
|
};
|
||||||
|
socketGroups.update({ uid: adminUid }, data, function (err) {
|
||||||
|
assert.equal(err.message, '[[error:no-group]]');
|
||||||
|
done();
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
it('should delete group', function (done) {
|
it('should delete group', function (done) {
|
||||||
socketGroups.delete({ uid: adminUid }, { groupName: 'renamedupdategroup' }, function (err) {
|
socketGroups.delete({ uid: adminUid }, { groupName: 'renamedupdategroup' }, function (err) {
|
||||||
assert.ifError(err);
|
assert.ifError(err);
|
||||||
@@ -974,6 +987,13 @@ describe('Groups', function () {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it('should fail to delete group if name is special', function (done) {
|
||||||
|
socketGroups.delete({ uid: adminUid }, { groupName: 'guests' }, function (err) {
|
||||||
|
assert.equal(err.message, '[[error:not-allowed]]');
|
||||||
|
done();
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
it('should fail to load more groups with invalid data', function (done) {
|
it('should fail to load more groups with invalid data', function (done) {
|
||||||
socketGroups.loadMore({ uid: adminUid }, {}, function (err) {
|
socketGroups.loadMore({ uid: adminUid }, {}, function (err) {
|
||||||
assert.equal(err.message, '[[error:invalid-data]]');
|
assert.equal(err.message, '[[error:invalid-data]]');
|
||||||
|
|||||||
Reference in New Issue
Block a user