Add reject option to pending users page

This commit is contained in:
Neil Lalonde
2013-08-16 11:42:24 -04:00
parent 30caa0d0b0
commit b6285b85d2
7 changed files with 104 additions and 0 deletions
@@ -119,6 +119,24 @@ Discourse.AdminUsersListController = Ember.ArrayController.extend(Discourse.Pres
approveUsers: function() {
Discourse.AdminUser.bulkApprove(this.get('content').filterProperty('selected'));
this.refreshUsers();
},
/**
Reject all the currently selected users.
@method rejectUsers
**/
rejectUsers: function() {
var controller = this;
Discourse.AdminUser.bulkReject(this.get('content').filterProperty('selected')).then(function(result){
var message = I18n.t("admin.users.reject_successful", {count: result.success});
if (result.failed > 0) {
message += ' ' + I18n.t("admin.users.reject_failures", {count: result.failed});
message += ' ' + I18n.t("admin.user.delete_forbidden", {count: Discourse.SiteSettings.delete_user_max_age});
}
bootbox.alert(message);
controller.refreshUsers();
});
}
});
@@ -343,6 +343,21 @@ Discourse.AdminUser.reopenClass({
});
},
bulkReject: function(users) {
_.each(users, function(user){
user.set('can_approve', false);
user.set('selected', false);
});
return Discourse.ajax("/admin/users/reject-bulk", {
type: 'DELETE',
data: {
users: users.map(function(u) { return u.id; }),
context: window.location.pathname
}
});
},
find: function(username) {
return Discourse.ajax("/admin/users/" + username).then(function (result) {
result.loadedDetails = true;
@@ -20,6 +20,7 @@
{{#if hasSelection}}
<div id='selected-controls'>
<button {{action approveUsers}} class='btn'>{{countI18n admin.users.approved_selected countBinding="selectedCount"}}</button>
<button {{action rejectUsers}} class='btn btn-danger'>{{countI18n admin.users.reject_selected countBinding="selectedCount"}}</button>
</div>
{{/if}}