summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArnold Moyaux <arm@odoo.com>2018-02-02 14:48:48 +0100
committerArnold Moyaux <arm@odoo.com>2018-02-05 14:03:54 +0100
commitaed8f4534675eb75b3ef2097d729e9f6fd102cf2 (patch)
treec7edb938f133b8e03d4f3ba0002ec79697834894
parent2dbc1edef92c22a9d6070778f0f1128ef78a6040 (diff)
[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.
-rw-r--r--addons/delivery/models/stock_picking.py14
1 files 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