diff --git a/addons/calendar/data/calendar_cron.xml b/addons/calendar/data/calendar_cron.xml
index f195dce4d1e..d0bce74dd9f 100644
--- a/addons/calendar/data/calendar_cron.xml
+++ b/addons/calendar/data/calendar_cron.xml
@@ -7,7 +7,7 @@
code
model.get_next_mail()
-
+
30
minutes
@@ -15,4 +15,4 @@
-
\ No newline at end of file
+
diff --git a/addons/calendar/models/calendar_alarm.py b/addons/calendar/models/calendar_alarm.py
index 970e59f4bf4..b53ce95ac5a 100644
--- a/addons/calendar/models/calendar_alarm.py
+++ b/addons/calendar/models/calendar_alarm.py
@@ -49,26 +49,3 @@ class Alarm(models.Model):
key: value for key, value in self._fields['alarm_type']._description_selection(self.env)
}[self.alarm_type]
self.name = "%s - %s %s" % (display_alarm_type, self.duration, display_interval)
-
- def _update_cron(self):
- try:
- cron = self.env['ir.model.data'].sudo().get_object('calendar', 'ir_cron_scheduler_alarm')
- except ValueError:
- return False
- return cron.toggle(model=self._name, domain=[('alarm_type', '=', 'email')])
-
- @api.model
- def create(self, values):
- result = super(Alarm, self).create(values)
- self._update_cron()
- return result
-
- def write(self, values):
- result = super(Alarm, self).write(values)
- self._update_cron()
- return result
-
- def unlink(self):
- result = super(Alarm, self).unlink()
- self._update_cron()
- return result
diff --git a/addons/calendar/models/calendar_alarm_manager.py b/addons/calendar/models/calendar_alarm_manager.py
index 89f53c037f2..af7a22789f6 100644
--- a/addons/calendar/models/calendar_alarm_manager.py
+++ b/addons/calendar/models/calendar_alarm_manager.py
@@ -74,6 +74,7 @@ class AlarmManager(models.AbstractModel):
first_alarm_max_value = "(now() at time zone 'utc' + interval '%s' second )"
tuple_params += (seconds,)
+ self.flush()
self._cr.execute("""
WITH calcul_delta AS (%s)
SELECT *