From 6417b6ed6cbcad0899148c9c6f5c49e54ef2630f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Voet=20=28ryv=29?= Date: Thu, 2 Sep 2021 14:56:33 +0000 Subject: [PATCH] [IMP] stock: improve picking draft form The reserved and the done column doesn't have any sense for draft picking and the forectasted button was always green. -> Fix it Also we add forectasted information for draft move in mrp (281e1a57b3924ebae530260b7cfeff46ff227fed). -> Use it also for outgoing picking task-2579011 Part-of: odoo/odoo#77092 --- addons/stock/tests/test_stock_flow.py | 27 ++++++++++++++++++++++ addons/stock/views/stock_picking_views.xml | 18 +++++++++------ 2 files changed, 38 insertions(+), 7 deletions(-) diff --git a/addons/stock/tests/test_stock_flow.py b/addons/stock/tests/test_stock_flow.py index 1a0fcc899f8..7983924790d 100644 --- a/addons/stock/tests/test_stock_flow.py +++ b/addons/stock/tests/test_stock_flow.py @@ -1876,3 +1876,30 @@ class TestStockFlow(TestStockCommon): picking = f.save() self.assertEqual(f.state, 'confirmed') + + def test_picking_form_immediate_transfer(self): + picking_form = Form(self.env['stock.picking'].with_context(default_immediate_transfer=True)) + + picking_form.picking_type_id = self.env.ref('stock.picking_type_in') + with picking_form.move_ids_without_package.new() as move: + self.assertFalse(move._get_modifier('quantity_done', 'column_invisible')) + self.assertTrue(move._get_modifier('forecast_availability', 'column_invisible')) + self.assertTrue(move._get_modifier('reserved_availability', 'column_invisible')) + move.product_id = self.productA + move.quantity_done = 1 + picking = picking_form.save() + + self.assertEqual(picking.state, 'assigned') + + picking_form = Form(self.env['stock.picking'].with_context(default_immediate_transfer=False)) + + picking_form.picking_type_id = self.env.ref('stock.picking_type_in') + with picking_form.move_ids_without_package.new() as move: + self.assertTrue(move._get_modifier('quantity_done', 'column_invisible')) + self.assertTrue(move._get_modifier('forecast_availability', 'column_invisible')) + self.assertTrue(move._get_modifier('reserved_availability', 'column_invisible')) + move.product_id = self.productA + move.product_uom_qty = 1 + picking = picking_form.save() + + self.assertEqual(picking.state, 'draft') diff --git a/addons/stock/views/stock_picking_views.xml b/addons/stock/views/stock_picking_views.xml index 89a8df3a371..70f063abce6 100644 --- a/addons/stock/views/stock_picking_views.xml +++ b/addons/stock/views/stock_picking_views.xml @@ -380,14 +380,18 @@ -