mirror of
https://github.com/TryGhost/Ghost.git
synced 2024-11-28 14:03:48 +03:00
1ad2c05d37
no issue - new linting rules that needed fixing: - calling `super` in lifecycle hooks - no usage of String prototype extensions
47 lines
1.3 KiB
JavaScript
47 lines
1.3 KiB
JavaScript
import ModalComponent from 'ghost-admin/components/modal-base';
|
|
import {fetch} from 'fetch';
|
|
import {not} from '@ember/object/computed';
|
|
import {inject as service} from '@ember/service';
|
|
import {set} from '@ember/object';
|
|
import {task} from 'ember-concurrency';
|
|
|
|
export default ModalComponent.extend({
|
|
notifications: service(),
|
|
|
|
isChecked: false,
|
|
isConfirmDisabled: not('isChecked'),
|
|
|
|
actions: {
|
|
toggleCheckbox() {
|
|
set(this, 'isChecked', !this.isChecked);
|
|
},
|
|
confirm() {
|
|
this.deletePost.perform();
|
|
}
|
|
},
|
|
|
|
async _resetPasswords() {
|
|
const res = await fetch('/ghost/api/canary/admin/authentication/reset_all_passwords/', {
|
|
method: 'POST'
|
|
});
|
|
if (res.status < 200 || res.status >= 300) {
|
|
throw new Error('api failed ' + res.status + ' ' + res.statusText);
|
|
}
|
|
},
|
|
|
|
_failure(error) {
|
|
this.notifications.showAPIError(error, {key: 'user.resetAllPasswords.failed'});
|
|
},
|
|
|
|
resetPasswords: task(function* () {
|
|
try {
|
|
yield this._resetPasswords();
|
|
window.location = window.location.href.split('#')[0];
|
|
} catch (e) {
|
|
this._failure(e);
|
|
} finally {
|
|
this.send('closeModal');
|
|
}
|
|
}).drop()
|
|
});
|