From 090067590380bc4d9edaa7309b6b09fca7a0a1e5 Mon Sep 17 00:00:00 2001 From: ijas ahammed Date: Thu, 21 Oct 2021 05:39:15 +0000 Subject: [PATCH] [IMP] event: remove the date_open field In this commit we have removed the `date_open` field from the model `event.registration` as it is a duplicate of the `create_date`. TaskID-2670765 Part-of: odoo/odoo#79166 --- addons/event/models/event_mail.py | 4 +--- addons/event/models/event_registration.py | 1 - addons/event/tests/common.py | 2 ++ addons/event/tests/test_event_mail_schedule.py | 13 ++++++++----- addons/event/views/event_views.xml | 5 ++--- 5 files changed, 13 insertions(+), 12 deletions(-) diff --git a/addons/event/models/event_mail.py b/addons/event/models/event_mail.py index 9e0132f0fdd..2272f030c33 100644 --- a/addons/event/models/event_mail.py +++ b/addons/event/models/event_mail.py @@ -288,8 +288,6 @@ class EventMailRegistration(models.Model): def _compute_scheduled_date(self): for mail in self: if mail.registration_id: - date_open = mail.registration_id.date_open - date_open_datetime = date_open or fields.Datetime.now() - mail.scheduled_date = date_open_datetime + _INTERVALS[mail.scheduler_id.interval_unit](mail.scheduler_id.interval_nbr) + mail.scheduled_date = mail.registration_id.create_date + _INTERVALS[mail.scheduler_id.interval_unit](mail.scheduler_id.interval_nbr) else: mail.scheduled_date = False diff --git a/addons/event/models/event_registration.py b/addons/event/models/event_registration.py index 081391d0625..73e7bc689ea 100644 --- a/addons/event/models/event_registration.py +++ b/addons/event/models/event_registration.py @@ -37,7 +37,6 @@ class EventRegistration(models.Model): phone = fields.Char(string='Phone', compute='_compute_phone', readonly=False, store=True, tracking=12) mobile = fields.Char(string='Mobile', compute='_compute_mobile', readonly=False, store=True, tracking=13) # organization - date_open = fields.Datetime(string='Registration Date', readonly=True, default=lambda self: fields.Datetime.now()) # weird crash is directly now date_closed = fields.Datetime( string='Attended Date', compute='_compute_date_closed', readonly=False, store=True) diff --git a/addons/event/tests/common.py b/addons/event/tests/common.py index 47bd7584096..c3c32a9880a 100644 --- a/addons/event/tests/common.py +++ b/addons/event/tests/common.py @@ -102,7 +102,9 @@ class TestEventCommon(common.TransactionCase): @classmethod def _create_registrations(cls, event, reg_count): # create some registrations + create_date = fields.Datetime.now() registrations = cls.env['event.registration'].create([{ + 'create_date': create_date, 'event_id': event.id, 'name': 'Test Registration %s' % x, 'email': '_test_reg_%s@example.com' % x, diff --git a/addons/event/tests/test_event_mail_schedule.py b/addons/event/tests/test_event_mail_schedule.py index 87ce2b33afd..85f639648d2 100644 --- a/addons/event/tests/test_event_mail_schedule.py +++ b/addons/event/tests/test_event_mail_schedule.py @@ -89,12 +89,14 @@ class TestMailSchedule(TestEventCommon, MockEmail): # create some registrations with freeze_time(now), self.mock_mail_gateway(): - reg1 = self.env['event.registration'].with_user(self.user_eventuser).create({ + reg1 = self.env['event.registration'].create({ + 'create_date': now, 'event_id': test_event.id, 'name': 'Reg1', 'email': 'reg1@example.com', }) - reg2 = self.env['event.registration'].with_user(self.user_eventuser).create({ + reg2 = self.env['event.registration'].create({ + 'create_date': now, 'event_id': test_event.id, 'name': 'Reg2', 'email': 'reg2@example.com', @@ -105,7 +107,7 @@ class TestMailSchedule(TestEventCommon, MockEmail): # check registration state self.assertTrue(all(reg.state == 'open' for reg in reg1 + reg2), 'Registrations: should be auto-confirmed') - self.assertTrue(all(reg.date_open == now for reg in reg1 + reg2), 'Registrations: should have open date set to confirm date') + self.assertTrue(all(reg.create_date == now for reg in reg1 + reg2), 'Registrations: should have open date set to confirm date') # verify that subscription scheduler was auto-executed after each registration self.assertEqual(len(after_sub_scheduler.mail_registration_ids), 2, 'event: should have 2 scheduled communication (1 / registration)') @@ -204,7 +206,8 @@ class TestMailSchedule(TestEventCommon, MockEmail): test_event.write({'auto_confirm': False}) with freeze_time(now_start), self.mock_mail_gateway(): - reg3 = self.env['event.registration'].with_user(self.user_eventuser).create({ + reg3 = self.env['event.registration'].create({ + 'create_date': now_start, 'event_id': test_event.id, 'name': 'Reg3', 'email': 'reg3@example.com', @@ -220,7 +223,7 @@ class TestMailSchedule(TestEventCommon, MockEmail): self.assertTrue(after_sub_scheduler_2.mail_done, 'event: scheduler on registration not updated next to draft registration') # confirm registration -> should trigger registration schedulers - # NOTE: currently all schedulers are based on date_open which equals create_date + # NOTE: currently all schedulers are based on create_date # meaning several communications may be sent in the time time with freeze_time(now_start + relativedelta(hours=1)), self.mock_mail_gateway(): reg3.action_confirm() diff --git a/addons/event/views/event_views.xml b/addons/event/views/event_views.xml index 0897e83e097..cd0d9c120d3 100644 --- a/addons/event/views/event_views.xml +++ b/addons/event/views/event_views.xml @@ -503,7 +503,6 @@ expand="1" default_order="create_date desc" class="o_event_registration_view_tree"> - @@ -554,7 +553,7 @@ ]" attrs="{'invisible': [('event_id', '=', False)]}" options="{'no_open': True, 'no_create': True}"/> - + @@ -692,7 +691,7 @@ - +