diff --git a/app/assets/javascripts/admin/addon/mixins/penalty-controller.js b/app/assets/javascripts/admin/addon/mixins/penalty-controller.js
index caf3aee5596..250d60664f6 100644
--- a/app/assets/javascripts/admin/addon/mixins/penalty-controller.js
+++ b/app/assets/javascripts/admin/addon/mixins/penalty-controller.js
@@ -1,12 +1,13 @@
import I18n from "I18n";
import ModalFunctionality from "discourse/mixins/modal-functionality";
-import { popupAjaxError } from "discourse/lib/ajax-error";
+import { extractError } from "discourse/lib/ajax-error";
import Mixin from "@ember/object/mixin";
import { next } from "@ember/runloop";
import { Promise } from "rsvp";
import bootbox from "bootbox";
export default Mixin.create(ModalFunctionality, {
+ errorMessage: null,
reason: null,
message: null,
postEdit: null,
@@ -18,6 +19,7 @@ export default Mixin.create(ModalFunctionality, {
resetModal() {
this.setProperties({
+ errorMessage: null,
reason: null,
message: null,
loadingUser: true,
@@ -66,6 +68,8 @@ export default Mixin.create(ModalFunctionality, {
callback(result);
}
})
- .catch(popupAjaxError);
+ .catch((error) => {
+ this.set("errorMessage", extractError(error));
+ });
},
});
diff --git a/app/assets/javascripts/admin/addon/models/admin-user.js b/app/assets/javascripts/admin/addon/models/admin-user.js
index 4a58d212733..0bc1132623b 100644
--- a/app/assets/javascripts/admin/addon/models/admin-user.js
+++ b/app/assets/javascripts/admin/addon/models/admin-user.js
@@ -352,28 +352,17 @@ const AdminUser = User.extend({
type: "PUT",
})
.then((result) => this.setProperties(result.unsilence))
- .catch((e) => {
- const error = I18n.t("admin.user.unsilence_failed", {
- error: this._formatError(e),
- });
- bootbox.alert(error);
- })
.finally(() => this.set("silencingUser", false));
},
silence(data) {
this.set("silencingUser", true);
+
return ajax(`/admin/users/${this.id}/silence`, {
type: "PUT",
data,
})
.then((result) => this.setProperties(result.silence))
- .catch((e) => {
- const error = I18n.t("admin.user.silence_failed", {
- error: this._formatError(e),
- });
- bootbox.alert(error);
- })
.finally(() => this.set("silencingUser", false));
},
diff --git a/app/assets/javascripts/admin/addon/templates/modal/admin-silence-user.hbs b/app/assets/javascripts/admin/addon/templates/modal/admin-silence-user.hbs
index 5e18b4cfb40..db3a184437b 100644
--- a/app/assets/javascripts/admin/addon/templates/modal/admin-silence-user.hbs
+++ b/app/assets/javascripts/admin/addon/templates/modal/admin-silence-user.hbs
@@ -1,6 +1,10 @@
{{#d-modal-body title="admin.user.silence_modal_title"}}
{{#conditional-loading-spinner condition=loadingUser}}
+ {{#if errorMessage}}
+
{{errorMessage}}
+ {{/if}}
+