FIX: Restore user summary's delete button behavior. (#11844)

The user summary's delete button UX relied on the "admin-user.js" destroy function, which was called through the "admin-tools" service. After #11724, we no longer put UX behavior on Ember models.
This commit is contained in:
Roman Rizzi
2021-01-26 13:10:46 -03:00
committed by GitHub
parent 8417c9829e
commit f3cd5dc096
4 changed files with 68 additions and 9 deletions
@@ -396,7 +396,6 @@ export default Controller.extend(CanCheckEmails, {
destroy() {
const postCount = this.get("model.post_count");
const maxPostCount = this.siteSettings.delete_all_posts_max;
const user = this.model;
const message = I18n.t("admin.user.delete_confirm");
const location = document.location.pathname;
@@ -422,13 +421,9 @@ export default Controller.extend(CanCheckEmails, {
}
} else {
bootbox.alert(I18n.t("admin.user.delete_failed"));
if (data.user) {
user.setProperties(data.user);
}
}
})
.catch(() => {
AdminUser.find(user.get("id")).then((u) => user.setProperties(u));
bootbox.alert(I18n.t("admin.user.delete_failed"));
});
};
@@ -264,7 +264,17 @@ const AdminUser = User.extend({
return ajax(`/admin/users/${this.id}.json`, {
type: "DELETE",
data: formData,
});
})
.then((data) => {
if (!data.deleted && data.user) {
this.setProperties(data.user);
}
return data;
})
.catch(() => {
this.find(this.id).then((u) => this.setProperties(u));
});
},
merge(formData) {
@@ -33,8 +33,8 @@ export default Service.extend({
return AdminUser.find(userId).then((au) => this.spammerDetails(au));
},
deleteUser(id) {
AdminUser.find(id).then((user) => user.destroy({ deletePosts: true }));
deleteUser(id, formData) {
return AdminUser.find(id).then((user) => user.destroy(formData));
},
spammerDetails(adminUser) {