summaryrefslogtreecommitdiff
path: root/addons/mail/wizard/mail_compose_message.py
diff options
context:
space:
mode:
authorXavierDo <xdo@odoo.com>2019-04-12 11:43:36 +0000
committerThibault Delavallée <tde@odoo.com>2019-05-29 13:32:26 +0000
commit6f43977a4e2837cc8a2b47f3cab086f334c20978 (patch)
tree400bc1f39cb25640808b514638693b3153732aad /addons/mail/wizard/mail_compose_message.py
parentc9d173a3e7645eef388a927466d564889d304cb6 (diff)
[REF] mail: improve message_post and message_notify API
Message post should always be called on a record (ensure_one). That way we ensure posting a message is always done in a record's context with right values computed (reply_to, followers, ...) Message_notify can be called on record or on mail_thread and must have partner_ids. It is based on the recently modified user_notification mechanism and allow to notify a partner on a record or just to push him a message (aka, not linked to a record). Small performance improvement * browse recipients instead of search in _notify_email_recipients; * todo in future optimizations: mayybe be improve by searching on ids and is_blacklist immediately; Related to task 1943901 Linked to PR #32404
Diffstat (limited to 'addons/mail/wizard/mail_compose_message.py')
-rw-r--r--addons/mail/wizard/mail_compose_message.py10
1 files changed, 7 insertions, 3 deletions
diff --git a/addons/mail/wizard/mail_compose_message.py b/addons/mail/wizard/mail_compose_message.py
index fe09f0ff18c..8053dfb4484 100644
--- a/addons/mail/wizard/mail_compose_message.py
+++ b/addons/mail/wizard/mail_compose_message.py
@@ -279,9 +279,13 @@ class MailComposer(models.TransientModel):
mail_auto_delete=wizard.template_id.auto_delete if wizard.template_id else False,
model_description=model_description,
**mail_values)
- if ActiveModel._name == 'mail.thread' and wizard.model:
- post_params['model'] = wizard.model
- ActiveModel.browse(res_id).message_post(**post_params)
+ if ActiveModel._name == 'mail.thread':
+ if wizard.model:
+ post_params['model'] = wizard.model
+ post_params['res_id'] = res_id
+ ActiveModel.message_notify(**post_params)
+ else:
+ ActiveModel.browse(res_id).message_post(**post_params)
if wizard.composition_mode == 'mass_mail':
batch_mails.send(auto_commit=auto_commit)