From e7bdf82f59b1fb8cdd1ebe6bb5fadbed691d9a36 Mon Sep 17 00:00:00 2001 From: Arnold Moyaux Date: Tue, 24 Sep 2019 15:36:56 +0000 Subject: [PATCH] [FIX] stock: empty warehouse when company is not set. When the user do not set a company on a route and check warehouse selectable then it's impossible to select a warehouse. It happens due to the check_company domain ['|', ('company_id', '=', company_id)('company_id','=',False)] closes odoo/odoo#37404 Signed-off-by: Arnold Moyaux --- addons/stock/models/stock_location.py | 14 +++++++++++++- addons/stock/views/stock_location_views.xml | 1 + 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/addons/stock/models/stock_location.py b/addons/stock/models/stock_location.py index 794658d55ba..6ce9ac1019b 100644 --- a/addons/stock/models/stock_location.py +++ b/addons/stock/models/stock_location.py @@ -187,9 +187,21 @@ class Route(models.Model): 'product.template', 'stock_route_product', 'route_id', 'product_id', 'Products', copy=False, check_company=True) categ_ids = fields.Many2many('product.category', 'stock_location_route_categ', 'route_id', 'categ_id', 'Product Categories', copy=False) + warehouse_domain_ids = fields.One2many('stock.warehouse', compute='_compute_warehouses') warehouse_ids = fields.Many2many( 'stock.warehouse', 'stock_route_warehouse', 'route_id', 'warehouse_id', - 'Warehouses', copy=False, check_company=True) + 'Warehouses', copy=False, domain="[('id', 'in', warehouse_domain_ids)]") + + @api.depends('company_id') + def _compute_warehouses(self): + for loc in self: + domain = [('company_id', '=', loc.company_id.id)] if loc.company_id else [] + loc.warehouse_domain_ids = self.env['stock.warehouse'].search(domain) + + @api.onchange('company_id') + def _onchange_company(self): + if self.company_id: + self.warehouse_ids = self.warehouse_ids.filtered(lambda w: w.company_id == self.company_id) @api.onchange('warehouse_selectable') def _onchange_warehouse_selectable(self): diff --git a/addons/stock/views/stock_location_views.xml b/addons/stock/views/stock_location_views.xml index 5f8053dbd6d..dc0b83af390 100644 --- a/addons/stock/views/stock_location_views.xml +++ b/addons/stock/views/stock_location_views.xml @@ -184,6 +184,7 @@ +