From 214d8fe589fba05ec4945c01fb976f47ddcc3fd7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Debauche?= Date: Fri, 19 Mar 2021 14:22:10 +0000 Subject: [PATCH] [FIX] event: fix done field definition Add missing trigger for done Do not copy done field on event.mail model. Task ID-2414658 COM PR odoo/odoo#63093 --- addons/event/models/event_mail.py | 4 ++-- addons/event/tests/test_event_mail_schedule.py | 3 +-- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/addons/event/models/event_mail.py b/addons/event/models/event_mail.py index 9d9df8faf06..448101636be 100644 --- a/addons/event/models/event_mail.py +++ b/addons/event/models/event_mail.py @@ -85,9 +85,9 @@ class EventMailScheduler(models.Model): scheduled_date = fields.Datetime('Scheduled Sent Mail', compute='_compute_scheduled_date', store=True) mail_registration_ids = fields.One2many('event.mail.registration', 'scheduler_id') mail_sent = fields.Boolean('Mail Sent on Event', copy=False) - done = fields.Boolean('Sent', compute='_compute_done', store=True) + done = fields.Boolean('Sent', compute='_compute_done', store=True, copy=False) - @api.depends('mail_sent', 'interval_type', 'event_id.registration_ids', 'mail_registration_ids') + @api.depends('mail_sent', 'interval_type', 'event_id.registration_ids', 'mail_registration_ids.mail_sent') def _compute_done(self): for mail in self: if mail.interval_type in ['before_event', 'after_event']: diff --git a/addons/event/tests/test_event_mail_schedule.py b/addons/event/tests/test_event_mail_schedule.py index 896a5873205..4f913309fb9 100644 --- a/addons/event/tests/test_event_mail_schedule.py +++ b/addons/event/tests/test_event_mail_schedule.py @@ -133,8 +133,7 @@ class TestMailSchedule(TestEventCommon, MockEmail): # verify that subscription scheduler was auto-executed after each registration self.assertEqual(len(after_sub_scheduler_2.mail_registration_ids), 2, 'event: should have 2 scheduled communication (1 / registration)') self.assertTrue(all(mail_reg.mail_sent for mail_reg in after_sub_scheduler_2.mail_registration_ids)) - # FIXME: field not updated - # self.assertTrue(after_sub_scheduler_2.done, 'event: all subscription mails should have been sent') + self.assertTrue(after_sub_scheduler_2.done, 'event: all subscription mails should have been sent') # check emails effectively sent self.assertEqual(len(self._new_mails), 2, 'event: should have 2 scheduled emails (1 / registration)')