[FIX] mail: fix broken multi _message_compose_with_view

Returning after first loop iteration has the sad side effect of
somehow breaking batch version of methods.

Oversight of odoo/odoo@0ea27f430c

closes odoo/odoo#99630

X-original-commit: 6d6dbe16d4570372fe5fd3d28ebe5c43b646d3bc
Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
This commit is contained in:
Thibault Delavallée
2022-09-06 21:24:07 +02:00
parent 48511c148e
commit 2b2ccab0b6
2 changed files with 10 additions and 3 deletions
+1 -1
View File
@@ -571,7 +571,7 @@ class MailActivity(models.Model):
next_activities_values.append(vals)
# post message on activity, before deleting it
_, activity_message = record.message_post_with_view(
activity_message = record.message_post_with_view(
'mail.message_activity_done',
values={
'activity': activity,
+9 -2
View File
@@ -2032,16 +2032,23 @@ class MailThread(models.AbstractModel):
except ImportError:
values['slug'] = lambda self: self.id
view_ref = views_or_xmlid.id if isinstance(views_or_xmlid, models.BaseModel) else views_or_xmlid
messages_as_sudo = self.env['mail.message']
for record in self:
values['object'] = record
rendered_template = self.env['ir.qweb']._render(view_ref, values, minimal_qcontext=True, raise_if_not_found=False)
if not rendered_template:
continue
if message_log:
return record._message_log(body=rendered_template, **kwargs)
messages_as_sudo += record._message_log(body=rendered_template, **kwargs)
else:
kwargs['body'] = rendered_template
return record.message_post_with_template(False, **kwargs)
# a bit complicated to handle, to be improved soon in master
_mails_as_sudo, _messages_as_sudo = record.message_post_with_template(False, **kwargs)
if _messages_as_sudo:
messages_as_sudo += _messages_as_sudo
return messages_as_sudo
def message_post_with_view(self, views_or_xmlid, **kwargs):
""" Helper method to send a mail / post a message using a view_id """