summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--addons/calendar/models/calendar_event.py2
-rw-r--r--addons/calendar/tests/test_calendar.py15
2 files changed, 15 insertions, 2 deletions
diff --git a/addons/calendar/models/calendar_event.py b/addons/calendar/models/calendar_event.py
index f628558ae99..d28f1c308c4 100644
--- a/addons/calendar/models/calendar_event.py
+++ b/addons/calendar/models/calendar_event.py
@@ -720,7 +720,7 @@ class Meeting(models.Model):
detached_events = event._apply_recurrence_values(recurrence_values)
detached_events.active = False
- events.attendee_ids._send_mail_to_attendees('calendar.calendar_template_meeting_invitation')
+ events.filtered(lambda event: event.start > fields.Datetime.now()).attendee_ids._send_mail_to_attendees('calendar.calendar_template_meeting_invitation')
events._sync_activities(fields={f for vals in vals_list for f in vals.keys() })
# Notify attendees if there is an alarm on the created event, as it might have changed their
diff --git a/addons/calendar/tests/test_calendar.py b/addons/calendar/tests/test_calendar.py
index ab0f29752a2..a7a0988b4c0 100644
--- a/addons/calendar/tests/test_calendar.py
+++ b/addons/calendar/tests/test_calendar.py
@@ -258,7 +258,7 @@ class TestCalendar(SavepointCaseWithUserDemo):
"""
Check that mail are sent to the attendees on event creation
Check that mail are sent to the added attendees on event edit
- Check that mail are NOT sent to the attendees when detaching a recurring event
+ Check that mail are NOT sent to the attendees when the event date is past
"""
def _test_one_mail_per_attendee(self, partners):
@@ -302,3 +302,16 @@ class TestCalendar(SavepointCaseWithUserDemo):
# more email should be sent
_test_one_mail_per_attendee(self, partners)
+
+ # create a new event in the past
+ self.CalendarEvent.create({
+ 'name': "NOmailTest",
+ 'allday': False,
+ 'recurrency': False,
+ 'partner_ids': partner_ids,
+ 'start': fields.Datetime.to_string(now - timedelta(days=10)),
+ 'stop': fields.Datetime.to_string(now - timedelta(days=9)),
+ })
+
+ # no more email should be sent
+ _test_one_mail_per_attendee(self, partners)