[FIX] mail, sms: respect scheduled_date for notification
When a 'scheduled_date' is given to posting API notifications are delayed. They are send using a cron running on a schedule model. However SMS are not respecting this parameter. This is now fixed. We also use sql.now() instead of datetime.now() when checking notification delay. This leads to values that are consistent through the transaction and avoid non deterministic behavior. This leads to fixing a global mock of "cr.now" that has unexpected side effects in composer tests. Indeed now that the scheduled notification checks cursor now instead of datetime now this global mock leads to some notification not being sent. We now mock cr.now() only for creating records, allowing to effectively test templates using create_date for dynamic scheduled date computation. closes odoo/odoo#150911 Related: odoo/enterprise#55052 Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
This commit is contained in:
@@ -208,8 +208,10 @@ class MailThread(models.AbstractModel):
|
||||
)
|
||||
|
||||
def _notify_thread(self, message, msg_vals=False, **kwargs):
|
||||
scheduled_date = self._is_notification_scheduled(kwargs.get('scheduled_date'))
|
||||
recipients_data = super(MailThread, self)._notify_thread(message, msg_vals=msg_vals, **kwargs)
|
||||
self._notify_thread_by_sms(message, recipients_data, msg_vals=msg_vals, **kwargs)
|
||||
if not scheduled_date:
|
||||
self._notify_thread_by_sms(message, recipients_data, msg_vals=msg_vals, **kwargs)
|
||||
return recipients_data
|
||||
|
||||
def _notify_thread_by_sms(self, message, recipients_data, msg_vals=False,
|
||||
|
||||
Reference in New Issue
Block a user