diff --git a/mail_forward/__manifest__.py b/mail_forward/__manifest__.py
index 6134ef4a64..7eb972af2c 100644
--- a/mail_forward/__manifest__.py
+++ b/mail_forward/__manifest__.py
@@ -2,7 +2,7 @@
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html).
{
"name": "Mail Forward Message",
- "version": "15.0.1.0.1",
+ "version": "17.0.1.0.0",
"summary": "Forward messages from the chatter of any document to other users.",
"author": "Tecnativa, Odoo Community Association (OCA)",
"website": "https://github.com/OCA/social",
@@ -12,10 +12,8 @@
],
"assets": {
"web.assets_backend": [
- "mail_forward/static/src/components/**/*.esm.js",
- ],
- "web.assets_qweb": [
- "mail_forward/static/src/components/*/*.xml",
+ "mail_forward/static/src/**/*.esm.js",
+ "mail_forward/static/src/**/*.xml",
],
"web.assets_tests": [
"mail_forward/static/tests/tours/**/*",
diff --git a/mail_forward/models/mail_message.py b/mail_forward/models/mail_message.py
index b5bacd6214..57a68cfbeb 100644
--- a/mail_forward/models/mail_message.py
+++ b/mail_forward/models/mail_message.py
@@ -17,7 +17,7 @@ def action_wizard_forward(self):
action["views"] = [(view.id, view.type)]
action["context"] = {
"default_model": self.model,
- "default_res_id": self.res_id,
+ "default_res_ids": [self.res_id],
"default_composition_mode": "comment",
"default_body": self._build_message_body_for_forward(),
"default_attachment_ids": self.attachment_ids.ids,
diff --git a/mail_forward/models/mail_thread.py b/mail_forward/models/mail_thread.py
index ea0bfac3e1..babb29db52 100644
--- a/mail_forward/models/mail_thread.py
+++ b/mail_forward/models/mail_thread.py
@@ -6,8 +6,8 @@
class MailThread(models.AbstractModel):
_inherit = "mail.thread"
- def _notify_compute_recipients(self, message, msg_vals):
- recipients_data = super()._notify_compute_recipients(message, msg_vals)
+ def _notify_get_recipients(self, message, msg_vals, **kwargs):
+ recipients_data = super()._notify_get_recipients(message, msg_vals, **kwargs)
# only notify to explicit partners, remove others(followers).
if self.env.context.get("message_forwarded_id"):
current_partners_ids = message.partner_ids.ids
diff --git a/mail_forward/static/src/components/forward_message/forward_message.esm.js b/mail_forward/static/src/components/forward_message/forward_message.esm.js
index 654b74a077..0fc7c0ca21 100644
--- a/mail_forward/static/src/components/forward_message/forward_message.esm.js
+++ b/mail_forward/static/src/components/forward_message/forward_message.esm.js
@@ -2,35 +2,31 @@
/* Copyright 2024 Tecnativa - Carlos Lopez
License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html).
*/
-import {registerMessagingComponent} from "@mail/utils/messaging_component";
const {Component} = owl;
+import {useService} from "@web/core/utils/hooks";
export class ForwardMessage extends Component {
+ setup() {
+ super.setup();
+ this.threadService = useService("mail.thread");
+ }
async onClickForwardMessage() {
const composer = this.props.message.originThread.composer;
- const action = await this.env.services.rpc({
- model: "mail.message",
- method: "action_wizard_forward",
- args: [[this.props.message.id]],
- });
- this.env.bus.trigger("do-action", {
- action: action,
- options: {
- additional_context: {
- active_id: this.props.message.id,
- active_ids: [this.props.message.id],
- active_model: "mail.message",
- },
- on_close: () => {
- if (composer.exists()) {
- composer._reset();
- if (composer.activeThread) {
- composer.activeThread.loadNewMessages();
- composer.activeThread.refreshFollowers();
- composer.activeThread.fetchAndUpdateSuggestedRecipients();
- }
- }
- },
+ const action = await this.env.services.orm.call(
+ "mail.message",
+ "action_wizard_forward",
+ [[this.props.message.id]]
+ );
+ this.env.services.action.doAction(action, {
+ additionalContext: {
+ active_id: this.props.message.id,
+ active_ids: [this.props.message.id],
+ active_model: "mail.message",
+ },
+ onClose: () => {
+ if (composer.thread) {
+ this.threadService.fetchNewMessages(composer.thread);
+ }
},
});
}
@@ -40,5 +36,3 @@ ForwardMessage.template = "mail_forward.ForwardMessage";
ForwardMessage.props = {
message: Object,
};
-
-registerMessagingComponent(ForwardMessage);
diff --git a/mail_forward/static/src/components/forward_message/forward_message.xml b/mail_forward/static/src/components/forward_message/forward_message.xml
index 0da6d778cb..070664668a 100644
--- a/mail_forward/static/src/components/forward_message/forward_message.xml
+++ b/mail_forward/static/src/components/forward_message/forward_message.xml
@@ -1,32 +1,34 @@
Hello
" @@ -69,9 +70,15 @@ def test_01_mail_forward(self): self.assertIn("---------- Forwarded message ---------", forward_message.body) def test_02_mail_forward_tour(self): + self.test_record.message_post( + body="Hello World", message_type="comment", subtype_xmlid="mail.mt_comment" + ) self.start_tour("/web", "mail_forward.mail_forward_tour", login="admin") def test_03_mail_note_not_forward_tour(self): + self.test_record.message_post( + body="This is a note", message_type="comment", subtype_xmlid="mail.mt_note" + ) self.start_tour( "/web", "mail_forward.mail_note_not_forward_tour", login="admin" ) diff --git a/mail_forward/wizards/mail_compose_message.py b/mail_forward/wizards/mail_compose_message.py index 19ccfcb890..cb36069e2c 100644 --- a/mail_forward/wizards/mail_compose_message.py +++ b/mail_forward/wizards/mail_compose_message.py @@ -15,7 +15,7 @@ def get_record_data(self, values): # remove 'Re: ' prefixes and add 'Fwd:' prefix to the subject subject = result.get("subject") if subject and subject.startswith(re_prefix): - subject = "%s %s" % (fwd_prefix, subject[4:]) + subject = f"{fwd_prefix} {subject[4:]}" result["subject"] = subject return result diff --git a/mail_forward/wizards/mail_compose_message_view.xml b/mail_forward/wizards/mail_compose_message_view.xml index bda46bed9c..1327be8d2e 100644 --- a/mail_forward/wizards/mail_compose_message_view.xml +++ b/mail_forward/wizards/mail_compose_message_view.xml @@ -17,7 +17,7 @@