diff --git a/addons/sale/models/sale.py b/addons/sale/models/sale.py index 0c42e2bc529..b59f19623ac 100644 --- a/addons/sale/models/sale.py +++ b/addons/sale/models/sale.py @@ -391,11 +391,13 @@ class SaleOrder(models.Model): if self.env.context.get('mail_activity_automation_skip'): return super(SaleOrder, self)._write(values) - res = super(SaleOrder, self)._write(values) if 'invoice_status' in values: - self.activity_unlink(['sale.mail_act_sale_upsell']) if values['invoice_status'] == 'upselling': - for order in self.filtered('user_id'): + filtered_self = self.search([('id', 'in', self.ids), + ('user_id', '!=', False), + ('invoice_status', '!=', 'upselling')]) + filtered_self.activity_unlink(['sale.mail_act_sale_upsell']) + for order in filtered_self: order.activity_schedule( 'sale.mail_act_sale_upsell', user_id=order.user_id.id, @@ -403,7 +405,7 @@ class SaleOrder(models.Model): order._name, order.id, order.name, order.partner_id._name, order.partner_id.id, order.partner_id.display_name)) - return res + return super(SaleOrder, self)._write(values) @api.multi def copy_data(self, default=None):