32 lines
930 B
JavaScript
32 lines
930 B
JavaScript
|
import Controller from "@ember/controller";
|
||
|
import DiscourseURL from "discourse/lib/url";
|
||
|
import I18n from "I18n";
|
||
|
import ModalFunctionality from "discourse/mixins/modal-functionality";
|
||
|
import messageBus from "message-bus-client";
|
||
|
|
||
|
export default Controller.extend(ModalFunctionality, {
|
||
|
message: I18n.t("admin.user.merging_user"),
|
||
|
|
||
|
onShow() {
|
||
|
messageBus.subscribe("/merge_user", (data) => {
|
||
|
if (data.merged) {
|
||
|
if (/^\/admin\/users\/list\//.test(location)) {
|
||
|
DiscourseURL.redirectTo(location);
|
||
|
} else {
|
||
|
DiscourseURL.redirectTo(
|
||
|
`/admin/users/${data.user.id}/${data.user.username}`
|
||
|
);
|
||
|
}
|
||
|
} else if (data.message) {
|
||
|
this.set("message", data.message);
|
||
|
} else if (data.failed) {
|
||
|
this.set("message", I18n.t("admin.user.merge_failed"));
|
||
|
}
|
||
|
});
|
||
|
},
|
||
|
|
||
|
onClose() {
|
||
|
this.messageBus.unsubscribe("/merge_user");
|
||
|
},
|
||
|
});
|