From b7915c1472e113dec28befd280a2857b7f5fe399 Mon Sep 17 00:00:00 2001 From: Jordi Ballester Alomar Date: Wed, 13 Nov 2019 14:30:05 +0100 Subject: [PATCH] in planned transfers do not set the qty_done in move lines --- stock_move_location/tests/test_move_location.py | 6 +++--- stock_move_location/wizard/stock_move_location.py | 3 +++ stock_move_location/wizard/stock_move_location_line.py | 8 +++++--- 3 files changed, 11 insertions(+), 6 deletions(-) diff --git a/stock_move_location/tests/test_move_location.py b/stock_move_location/tests/test_move_location.py index de1a04559..76d3c60e2 100644 --- a/stock_move_location/tests/test_move_location.py +++ b/stock_move_location/tests/test_move_location.py @@ -102,11 +102,11 @@ class TestMoveLocation(TestsCommon): wizard.onchange_origin_location() wizard.with_context({'planned': True}).action_move_location() picking = wizard.picking_id - self.assertEqual(picking.state, 'draft') + self.assertEqual(picking.state, 'assigned') self.assertEqual(len(picking.move_line_ids), 4) self.assertEqual( - sorted(picking.move_line_ids.mapped("qty_done")), - [0.0, 0.0, 0.0, 0.0], + sorted(picking.move_line_ids.mapped("product_uom_qty")), + [1, 1, 1, 123], ) def test_quant_transfer(self): diff --git a/stock_move_location/wizard/stock_move_location.py b/stock_move_location/wizard/stock_move_location.py index e0b92988d..ae8ee7c48 100644 --- a/stock_move_location/wizard/stock_move_location.py +++ b/stock_move_location/wizard/stock_move_location.py @@ -150,6 +150,9 @@ class StockMoveLocationWizard(models.TransientModel): self._create_moves(picking) if not self.env.context.get("planned"): picking.button_validate() + else: + picking.action_confirm() + picking.action_assign() self.picking_id = picking return self._get_picking_action(picking.id) diff --git a/stock_move_location/wizard/stock_move_location_line.py b/stock_move_location/wizard/stock_move_location_line.py index 518be6e0b..6fc273a37 100644 --- a/stock_move_location/wizard/stock_move_location_line.py +++ b/stock_move_location/wizard/stock_move_location_line.py @@ -96,12 +96,14 @@ class StockMoveLocationWizardLine(models.TransientModel): self.ensure_one() location_dest_id = self.destination_location_id.get_putaway_strategy( self.product_id).id or self.destination_location_id.id + qty_todo, qty_done = self._get_available_quantity() return { "product_id": self.product_id.id, "lot_id": self.lot_id.id, "location_id": self.origin_location_id.id, "location_dest_id": location_dest_id, - "qty_done": self._get_available_quantity(), + "product_uom_qty": qty_todo, + "qty_done": qty_done, "product_uom_id": self.product_uom_id.id, "picking_id": picking.id, "move_id": move.id, @@ -117,7 +119,7 @@ class StockMoveLocationWizardLine(models.TransientModel): return 0 if self.env.context.get("planned"): # for planned transfer we don't care about the amounts at all - return 0.0 + return self.move_quantity, 0 search_args = [ ('location_id', '=', self.origin_location_id.id), ('product_id', '=', self.product_id.id), @@ -137,4 +139,4 @@ class StockMoveLocationWizardLine(models.TransientModel): available_qty, self.move_quantity, rounding) == -1 if available_qty_lt_move_qty: return available_qty - return self.move_quantity + return 0, self.move_quantity