From aed8f4534675eb75b3ef2097d729e9f6fd102cf2 Mon Sep 17 00:00:00 2001 From: Arnold Moyaux Date: Fri, 2 Feb 2018 14:48:48 +0100 Subject: [PATCH] [FIX] delivery: compatibility with batch_picking. Use case to reproduce: - Install delivery/batch picking - Process 2 pickings in a batch. -> Traceback due to ensure_one. It happens because the action_done method in delivery is not multi and batch_picking launch action_done on multiple picking. This commit makes action_done in delivery multi. --- addons/delivery/models/stock_picking.py | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/addons/delivery/models/stock_picking.py b/addons/delivery/models/stock_picking.py index d10411c99ad..d66bab0d076 100644 --- a/addons/delivery/models/stock_picking.py +++ b/addons/delivery/models/stock_picking.py @@ -107,16 +107,12 @@ class StockPicking(models.Model): @api.multi def action_done(self): - # TDE FIXME: should work in batch - self.ensure_one() res = super(StockPicking, self).action_done() - - if self.carrier_id and self.carrier_id.integration_level == 'rate_and_ship': - self.send_to_shipper() - - if self.carrier_id: - self._add_delivery_cost_to_so() - + for pick in self: + if pick.carrier_id: + if pick.carrier_id.integration_level == 'rate_and_ship': + pick.send_to_shipper() + pick._add_delivery_cost_to_so() return res @api.multi