From dc73aadbff84c57ba02eec621533d421f9d856b6 Mon Sep 17 00:00:00 2001 From: Arpit Jalan Date: Tue, 23 Mar 2021 21:34:47 +0530 Subject: [PATCH] FIX: bulk "archive" and "move to inbox" for group messages was broken (#12488) --- .../app/controllers/topic-bulk-actions.js | 23 ++++++++++++------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/app/assets/javascripts/discourse/app/controllers/topic-bulk-actions.js b/app/assets/javascripts/discourse/app/controllers/topic-bulk-actions.js index 234438384ed..1b773658372 100644 --- a/app/assets/javascripts/discourse/app/controllers/topic-bulk-actions.js +++ b/app/assets/javascripts/discourse/app/controllers/topic-bulk-actions.js @@ -1,5 +1,5 @@ import { alias, empty } from "@ember/object/computed"; -import Controller from "@ember/controller"; +import Controller, { inject as controller } from "@ember/controller"; import I18n from "I18n"; import ModalFunctionality from "discourse/mixins/modal-functionality"; import { Promise } from "rsvp"; @@ -95,11 +95,14 @@ addBulkButton("deleteTopics", "delete", { // Modal for performing bulk actions on topics export default Controller.extend(ModalFunctionality, { - tags: null, + userPrivateMessages: controller("user-private-messages"), + tags: null, emptyTags: empty("tags"), categoryId: alias("model.category.id"), processedTopicCount: 0, + isGroup: alias("userPrivateMessages.isGroup"), + groupFilter: alias("userPrivateMessages.groupFilter"), onShow() { const topics = this.get("model.topics"); @@ -246,15 +249,19 @@ export default Controller.extend(ModalFunctionality, { }, archiveMessages() { - this.forEachPerformed({ type: "archive_messages" }, (t) => - t.set("archived", true) - ); + let params = { type: "archive_messages" }; + if (this.isGroup) { + params.group = this.groupFilter; + } + this.forEachPerformed(params, (t) => t.set("archived", true)); }, moveMessagesToInbox() { - this.forEachPerformed({ type: "move_messages_to_inbox" }, (t) => - t.set("archived", false) - ); + let params = { type: "move_messages_to_inbox" }; + if (this.isGroup) { + params.group = this.groupFilter; + } + this.forEachPerformed(params, (t) => t.set("archived", false)); }, unlistTopics() {