Refactor user suspension modal

This commit is contained in:
Robin Ward
2017-09-12 17:07:42 -04:00
parent 561fa7d0cd
commit daceeb9700
8 changed files with 77 additions and 12 deletions
@@ -6,6 +6,7 @@ import { popupAjaxError } from 'discourse/lib/ajax-error';
import computed from 'ember-addons/ember-computed-decorators';
export default Ember.Controller.extend(CanCheckEmails, {
adminTools: Ember.inject.service(),
editingUsername: false,
editingName: false,
editingTitle: false,
@@ -64,6 +65,11 @@ export default Ember.Controller.extend(CanCheckEmails, {
anonymize() { return this.get('model').anonymize(); },
destroy() { return this.get('model').destroy(); },
showSuspendModal() {
this.get('adminTools').showSuspendModal(this.get('model'));
},
toggleUsernameEdit() {
this.set('userUsernameValue', this.get('model.username'));
this.toggleProperty('editingUsername');
@@ -1,4 +1,3 @@
import showModal from 'discourse/lib/show-modal';
import Group from 'discourse/models/group';
export default Discourse.Route.extend({
@@ -25,11 +24,6 @@ export default Discourse.Route.extend({
},
actions: {
showSuspendModal(model) {
showModal('admin-suspend-user', { model, admin: true });
this.controllerFor('modal').set('modalClass', 'suspend-user-modal');
},
viewActionLogs(username) {
const controller = this.controllerFor('adminLogs.staffActionLogs');
this.transitionTo('adminLogs.staffActionLogs').then(() => {
@@ -5,6 +5,7 @@
import AdminUser from 'admin/models/admin-user';
import { iconHTML } from 'discourse-common/lib/icon-library';
import { ajax } from 'discourse/lib/ajax';
import showModal from 'discourse/lib/show-modal';
export default Ember.Service.extend({
@@ -19,6 +20,14 @@ export default Ember.Service.extend({
};
},
showSuspendModal(user) {
showModal('admin-suspend-user', {
user,
admin: true,
modalClass: 'suspend-user-modal'
});
},
_deleteSpammer(adminUser) {
return adminUser.checkEmail().then(() => {
@@ -1,7 +1,7 @@
{{#d-modal-body title="admin.user.suspend_modal_title"}}
<form>
{{i18n 'admin.user.suspend_duration'}}
{{text-field value=duration maxlength="5" autofocus="autofocus"}}
{{text-field value=duration maxlength="5" autofocus="autofocus" class="suspend-duration"}}
{{i18n 'admin.user.suspend_duration_units'}}<br/>
<br/>
{{#if siteSettings.hide_suspension_reasons}}
@@ -11,11 +11,16 @@
{{/if}}
<br/>
{{text-field value=reason class="span8"}}
{{text-field value=reason class="suspend-reason"}}
</form>
{{/d-modal-body}}
<div class="modal-footer">
<button class='btn btn-danger' {{action "suspend"}} disabled={{submitDisabled}}>{{d-icon "ban"}}{{i18n 'admin.user.suspend'}}</button>
<a {{action "closeModal"}}>{{i18n 'cancel'}}</a>
{{d-button
class="btn-danger perform-suspend"
action="suspend"
disabled=submitDisabled
icon="ban"
label="admin.user.suspend"}}
<a {{action "closeModal"}} class="cancel-suspend">{{i18n 'cancel'}}</a>
</div>
@@ -306,7 +306,11 @@
{{i18n 'admin.user.suspended_explanation'}}
{{else}}
{{#if model.canSuspend}}
{{d-button class="btn-danger" action="showSuspendModal" actionParam=model icon="ban" label="admin.user.suspend"}}
{{d-button
class="btn-danger suspend-user"
action="showSuspendModal"
icon="ban"
label="admin.user.suspend"}}
{{i18n 'admin.user.suspended_explanation'}}
{{/if}}
{{/if}}