From b0ea06ab91b4f68eb45c2a7ce55ea7a84ff14451 Mon Sep 17 00:00:00 2001 From: Jared Kipe Date: Thu, 9 May 2019 17:24:15 +0000 Subject: [PATCH] [FIX] stock_warehouse: _get_all_routes() override Usecase to reproduce: - Install stock, mrp, purchase - Go on warehouse form view - Click on Routes button Either one of the route manufacture or buy is missing. All implementations/overrides of stock.warehouse._get_all_routes() call their parent's implementation of get_all_routes_for_wh(). which is a reference to stock.warehouse._get_all_routes() but that means that the route 'mixin' behavior can be skipped. (the reference is to the base implementation of _get_all_routes()) Fixes #33286 Fixes #33288 Signed-off-by: Arnold Moyaux --- addons/mrp/models/stock_warehouse.py | 2 +- addons/purchase_stock/models/stock.py | 2 +- addons/stock/models/stock_warehouse.py | 1 - 3 files changed, 2 insertions(+), 3 deletions(-) diff --git a/addons/mrp/models/stock_warehouse.py b/addons/mrp/models/stock_warehouse.py index 7a838cbe2b3..51870a18bfa 100644 --- a/addons/mrp/models/stock_warehouse.py +++ b/addons/mrp/models/stock_warehouse.py @@ -251,7 +251,7 @@ class StockWarehouse(models.Model): @api.multi def _get_all_routes(self): - routes = super(StockWarehouse, self).get_all_routes_for_wh() + routes = super(StockWarehouse, self)._get_all_routes() routes |= self.filtered(lambda self: self.manufacture_to_resupply and self.manufacture_pull_id and self.manufacture_pull_id.route_id).mapped('manufacture_pull_id').mapped('route_id') return routes diff --git a/addons/purchase_stock/models/stock.py b/addons/purchase_stock/models/stock.py index e7214f66f1e..ec645364e50 100644 --- a/addons/purchase_stock/models/stock.py +++ b/addons/purchase_stock/models/stock.py @@ -145,7 +145,7 @@ class StockWarehouse(models.Model): @api.multi def _get_all_routes(self): - routes = super(StockWarehouse, self).get_all_routes_for_wh() + routes = super(StockWarehouse, self)._get_all_routes() routes |= self.filtered(lambda self: self.buy_to_resupply and self.buy_pull_id and self.buy_pull_id.route_id).mapped('buy_pull_id').mapped('route_id') return routes diff --git a/addons/stock/models/stock_warehouse.py b/addons/stock/models/stock_warehouse.py index b85a34a60c6..548c57e2a78 100644 --- a/addons/stock/models/stock_warehouse.py +++ b/addons/stock/models/stock_warehouse.py @@ -850,7 +850,6 @@ class Warehouse(models.Model): @api.returns('self') def _get_all_routes(self): - # TDE FIXME: check overrides routes = self.mapped('route_ids') | self.mapped('mto_pull_id').mapped('route_id') routes |= self.env["stock.location.route"].search([('supplied_wh_id', 'in', self.ids)]) return routes