From 23bf7fc7df6327e480c236ad82520c19f63476d0 Mon Sep 17 00:00:00 2001 From: Yannick Tivisse Date: Mon, 25 Sep 2017 10:42:20 +0200 Subject: [PATCH] [FIX] website_sale: Explicitly ask to flag a SO as `cart_recovery_email_sent` Purpose ======= Now all the abandonned cart are marked as 'cart_recovery_email_sent' in any cases, whatever the email sent. Specification ============= The SO should be marked as 'cart_recovery_email_sent' only when the cart recovery email is sent. --- addons/website_sale/models/mail_compose_message.py | 7 +++---- addons/website_sale/models/sale_order.py | 1 + 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/addons/website_sale/models/mail_compose_message.py b/addons/website_sale/models/mail_compose_message.py index 622f6f777c4..7f12365123b 100644 --- a/addons/website_sale/models/mail_compose_message.py +++ b/addons/website_sale/models/mail_compose_message.py @@ -1,9 +1,8 @@ # -*- coding: utf-8 -*- # Part of Odoo. See LICENSE file for full copyright and licensing details. -import datetime +from odoo import api, models -from odoo import api, fields, models class MailComposeMessage(models.TransientModel): _inherit = 'mail.compose.message' @@ -12,10 +11,10 @@ class MailComposeMessage(models.TransientModel): def send_mail(self, auto_commit=False): context = self._context # TODO TDE: clean that brole one day - if self.model == 'sale.order' and context.get('active_ids'): + if context.get('website_sale_send_recovery_email') and self.model == 'sale.order' and context.get('active_ids'): self.env['sale.order'].search([ ('id', 'in', context.get('active_ids')), - ('cart_recovery_email_sent', '!=', True), + ('cart_recovery_email_sent', '=', False), ('is_abandoned_cart', '=', True) ]).write({'cart_recovery_email_sent': True}) self = self.with_context(mail_post_autofollow=True) diff --git a/addons/website_sale/models/sale_order.py b/addons/website_sale/models/sale_order.py index 5298a1ce7a0..98ba455acdd 100644 --- a/addons/website_sale/models/sale_order.py +++ b/addons/website_sale/models/sale_order.py @@ -225,6 +225,7 @@ class SaleOrder(models.Model): 'default_model': 'sale.order', 'default_use_template': bool(template_id), 'default_template_id': template_id, + 'website_sale_send_recovery_email': True, 'active_ids': self.ids, }, }