From dfd0dbb3035346c04ba4713bfa04cdf383d3d051 Mon Sep 17 00:00:00 2001 From: Nicolas Galler Date: Thu, 21 Jan 2021 09:36:07 +0000 Subject: [PATCH] [REV] purchase_stock: don't hide replenishment origin This reverts commit 170729ee58b199041d7545e7789ac9474e86f998, per discussion with @thomasdeleval on linked ticket. opw-2422438 closes odoo/odoo#68293 X-original-commit: 5c2db20a14701f165adfecb391073c3d957081e9 Signed-off-by: Steve Van Essche Signed-off-by: Nicolas Galler --- addons/purchase_stock/models/stock_rule.py | 7 +------ .../tests/test_replenish_wizard.py | 19 ++++++++++++++----- 2 files changed, 15 insertions(+), 11 deletions(-) diff --git a/addons/purchase_stock/models/stock_rule.py b/addons/purchase_stock/models/stock_rule.py index 1e8ea560107..51c68706d31 100644 --- a/addons/purchase_stock/models/stock_rule.py +++ b/addons/purchase_stock/models/stock_rule.py @@ -44,11 +44,6 @@ class StockRule(models.Model): def _run_buy(self, procurements): procurements_by_po_domain = defaultdict(list) errors = [] - # Origins we don't want to appear in the PO source field. - origins_to_hide = [ - _('Manual Replenishment'), - _('Replenishment Report'), - ] for procurement, rule in procurements: # Get the schedule date in order to find a valid seller @@ -93,7 +88,7 @@ class StockRule(models.Model): procurements, rules = zip(*procurements_rules) # Get the set of procurement origin for the current domain. - origins = set([p.origin for p in procurements if p.origin not in origins_to_hide]) + origins = set([p.origin for p in procurements]) # Check if a PO exists for the current domain. po = self.env['purchase.order'].sudo().search([dom for dom in domain], limit=1) company_id = procurements[0].company_id diff --git a/addons/purchase_stock/tests/test_replenish_wizard.py b/addons/purchase_stock/tests/test_replenish_wizard.py index 36f14d7a2c3..bdb126dd57a 100644 --- a/addons/purchase_stock/tests/test_replenish_wizard.py +++ b/addons/purchase_stock/tests/test_replenish_wizard.py @@ -44,8 +44,9 @@ class TestReplenishWizard(TestStockCommon): }) replenish_wizard.launch_replenishment() last_po_id = self.env['purchase.order'].search([ + ('origin', 'ilike', '%Manual Replenishment%'), ('partner_id', '=', self.vendor.id) - ], order="id desc", limit=1) + ])[-1] self.assertTrue(last_po_id, 'Purchase Order not found') order_line = last_po_id.order_line.search([('product_id', '=', self.product1.id)]) self.assertTrue(order_line, 'The product is not in the Purchase Order') @@ -92,7 +93,9 @@ class TestReplenishWizard(TestStockCommon): 'warehouse_id': self.wh.id, }) replenish_wizard.launch_replenishment() - last_po_id = self.env['purchase.order'].search([], order="id desc", limit=1) + last_po_id = self.env['purchase.order'].search([ + ('origin', 'ilike', '%Manual Replenishment%'), + ])[-1] self.assertEqual(last_po_id.partner_id, vendor1) self.assertEqual(last_po_id.order_line.price_unit, 100) @@ -145,7 +148,9 @@ class TestReplenishWizard(TestStockCommon): 'warehouse_id': self.wh.id, }) replenish_wizard.launch_replenishment() - last_po_id = self.env['purchase.order'].search([], order="id desc", limit=1) + last_po_id = self.env['purchase.order'].search([ + ('origin', 'ilike', '%Manual Replenishment%'), + ])[-1] self.assertEqual(last_po_id.partner_id, vendor1) self.assertEqual(last_po_id.order_line.price_unit, 100) @@ -188,7 +193,9 @@ class TestReplenishWizard(TestStockCommon): 'warehouse_id': self.wh.id, }) replenish_wizard.launch_replenishment() - last_po_id = self.env['purchase.order'].search([], order="id desc", limit=1) + last_po_id = self.env['purchase.order'].search([ + ('origin', 'ilike', '%Manual Replenishment%'), + ])[-1] self.assertEqual(last_po_id.partner_id, vendor2) def test_chose_supplier_4(self): @@ -234,7 +241,9 @@ class TestReplenishWizard(TestStockCommon): 'warehouse_id': self.wh.id, }) replenish_wizard.launch_replenishment() - last_po_id = self.env['purchase.order'].search([], order="id desc", limit=1) + last_po_id = self.env['purchase.order'].search([ + ('origin', 'ilike', '%Manual Replenishment%'), + ])[-1] self.assertEqual(last_po_id.partner_id, vendor1) self.assertEqual(last_po_id.order_line.price_unit, 60)