v1.18.x
barisusakli 11 years ago
parent 2a2490541f
commit 258e14e20c

@ -31,12 +31,16 @@ define('forum/admin/manage/users', ['admin/selectable'], function(selectable) {
$('#users-container .users-box .selected').remove(); $('#users-container .users-box .selected').remove();
} }
function done(successMessage) { function done(successMessage, className, flag) {
return function(err) { return function(err) {
if (err) { if (err) {
return app.alertError(err.message); return app.alertError(err.message);
} }
app.alertSuccess(successMessage); app.alertSuccess(successMessage);
if (className) {
update(className, flag);
}
unselectAll();
}; };
} }
@ -48,9 +52,7 @@ define('forum/admin/manage/users', ['admin/selectable'], function(selectable) {
bootbox.confirm('Do you really want to ban?', function(confirm) { bootbox.confirm('Do you really want to ban?', function(confirm) {
if (confirm) { if (confirm) {
socket.emit('admin.user.banUsers', uids, done('User(s) banned!')); socket.emit('admin.user.banUsers', uids, done('User(s) banned!', '.ban', true));
update('.ban', true);
unselectAll();
} }
}); });
return false; return false;
@ -62,9 +64,7 @@ define('forum/admin/manage/users', ['admin/selectable'], function(selectable) {
return; return;
} }
socket.emit('admin.user.unbanUsers', uids, done('User(s) unbanned!')); socket.emit('admin.user.unbanUsers', uids, done('User(s) unbanned!', '.ban', false));
update('.ban', false);
unselectAll();
return false; return false;
}); });
@ -75,7 +75,6 @@ define('forum/admin/manage/users', ['admin/selectable'], function(selectable) {
} }
socket.emit('admin.user.resetLockouts', uids, done('Lockout(s) reset!')); socket.emit('admin.user.resetLockouts', uids, done('Lockout(s) reset!'));
unselectAll();
return false; return false;
}); });
@ -88,9 +87,7 @@ define('forum/admin/manage/users', ['admin/selectable'], function(selectable) {
if (uids.indexOf(yourid) !== -1) { if (uids.indexOf(yourid) !== -1) {
app.alertError('You can\'t remove yourself as Administrator!'); app.alertError('You can\'t remove yourself as Administrator!');
} else { } else {
socket.emit('admin.user.makeAdmins', uids, done('User(s) are now administrators.')); socket.emit('admin.user.makeAdmins', uids, done('User(s) are now administrators.', '.administrator', true));
update('.administrator', true);
unselectAll();
} }
return false; return false;
}); });
@ -106,9 +103,7 @@ define('forum/admin/manage/users', ['admin/selectable'], function(selectable) {
} else { } else {
bootbox.confirm('Do you really want to remove admins?', function(confirm) { bootbox.confirm('Do you really want to remove admins?', function(confirm) {
if (confirm) { if (confirm) {
socket.emit('admin.user.removeAdmins', uids, done('User(s) are no longer administrators.')); socket.emit('admin.user.removeAdmins', uids, done('User(s) are no longer administrators.', '.administrator', false));
update('.administrator', false);
unselectAll();
} }
}); });
} }

@ -14,9 +14,21 @@ User.makeAdmins = function(socket, uids, callback) {
return callback(new Error('[[error:invalid-data]]')); return callback(new Error('[[error:invalid-data]]'));
} }
user.getMultipleUserFields(uids, ['banned'], function(err, userData) {
if (err) {
return callback(err);
}
for(var i=0; i<userData.length; i++) {
if (userData[i] && parseInt(userData[i].banned, 10) === 1) {
return callback(new Error('[[error:cant-make-banned-users-admin]]'));
}
}
async.each(uids, function(uid, next) { async.each(uids, function(uid, next) {
groups.join('administrators', uid, next); groups.join('administrators', uid, next);
}, callback); }, callback);
});
}; };
User.removeAdmins = function(socket, uids, callback) { User.removeAdmins = function(socket, uids, callback) {

Loading…
Cancel
Save