[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:
@@ -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,
|
||||
|
||||
@@ -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 """
|
||||
|
||||
Reference in New Issue
Block a user