From e242ee5f74bf0677d2e39554c12432c31750cec6 Mon Sep 17 00:00:00 2001 From: Arnold Moyaux Date: Wed, 7 Feb 2018 15:11:47 +0100 Subject: [PATCH] [FIX] stock: log activity with SO without line Use case to reproduce: - Install sale_stock - Create a SO - Cancel it Traceback It happens because _log_activity_get_documents need at least one entry in the dict orig_obj_changes. --- addons/sale_stock/models/sale_order.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/sale_stock/models/sale_order.py b/addons/sale_stock/models/sale_order.py index d4a5ca3ed9d..8a2c383501a 100644 --- a/addons/sale_stock/models/sale_order.py +++ b/addons/sale_stock/models/sale_order.py @@ -87,7 +87,7 @@ class SaleOrder(models.Model): def action_cancel(self): documents = None for sale_order in self: - if sale_order.state == 'sale': + if sale_order.state == 'sale' and sale_order.order_line: sale_order_lines_quantities = {order_line: (order_line.product_uom_qty, 0) for order_line in sale_order.order_line} documents = self.env['stock.picking']._log_activity_get_documents(sale_order_lines_quantities, 'move_ids', 'UP') self.mapped('picking_ids').action_cancel()