From 728ca33cb9f6342df045fa2e8302dbc3e175599b Mon Sep 17 00:00:00 2001 From: mgh-odoo Date: Wed, 20 Feb 2019 06:39:15 +0000 Subject: [PATCH] [IMP] sale_stock: schedule activity on picking on change of so shipping address purpose of this commit is to schedule an activity exception on delivery picking when user change address of the SO, to notify user that sales order address is changed. Task-1888829 closes odoo/odoo#28191 Signed-off-by: Simon Lejeune (sle) --- addons/sale_stock/models/sale_order.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/addons/sale_stock/models/sale_order.py b/addons/sale_stock/models/sale_order.py index e3de3e4c800..15054b6507e 100644 --- a/addons/sale_stock/models/sale_order.py +++ b/addons/sale_stock/models/sale_order.py @@ -61,6 +61,17 @@ class SaleOrder(models.Model): if values.get('order_line') and self.state == 'sale': for order in self: pre_order_line_qty = {order_line: order_line.product_uom_qty for order_line in order.mapped('order_line') if not order_line.is_expense} + + if values.get('partner_shipping_id'): + new_partner = self.env['res.partner'].browse(values.get('partner_shipping_id')) + for record in self: + picking = record.mapped('picking_ids').filtered(lambda x: x.state not in ('done', 'cancel')) + addresses = (record.partner_shipping_id.display_name, new_partner.display_name) + message = _("""The delivery address has been changed on the Sales Order
+ From "%s" To "%s", + You should probably update the partner on this document.""") % addresses + picking.activity_schedule('mail.mail_activity_data_warning', note=message, user_id=self.env.user.id) + res = super(SaleOrder, self).write(values) if values.get('order_line') and self.state == 'sale': for order in self: