Files
enterprise-addons/account_reports/models/mail_message.py
T

28 lines
1022 B
Python

from odoo import models
from odoo.addons.mail.tools.discuss import Store
class MailMessage(models.Model):
_inherit = 'mail.message'
def _to_store_defaults(self, target):
if (
any(m.model in self.env['account.report']._get_annotatable_models() for m in self)
and self.env['account.report.annotation'].has_access('read')
):
message_id_to_annotation_date = {
a['message_id'][0]: a['date']
for a in self.env['account.report.annotation'].search_read(
[('message_id', 'in', self.ids)],
['message_id', 'date'],
)
}
else:
message_id_to_annotation_date = {}
return super()._to_store_defaults(target) + [Store.Attr(
'account_reports_annotation_date',
value=lambda m: message_id_to_annotation_date.get(m.id),
predicate=lambda m: m.model in self.env['account.report']._get_annotatable_models(),
)]