From e76276e083898f64160110af900def3fe229e5d5 Mon Sep 17 00:00:00 2001 From: fw-bot Date: Fri, 15 Nov 2019 13:09:14 +0000 Subject: [PATCH] [FIX] mrp,stock: error w/o traceback on create warehouse If a warehouse is created without code (eg. when created as a new group from a kanban view grouped by warehouse) we would get a traceback instead of an error: ``` The operation cannot be completed: - Create/update: a mandatory field is not set. - Delete: another model requires the record being deleted. If possible, archive it instead. Model: Warehouse (stock.warehouse), Field: Short Name (code) ``` opw-2124162 fix #40233 closes #40267 closes odoo/odoo#40382 X-original-commit: b6caa179e17199b29a9ca4009c53acb378423926 Signed-off-by: Nicolas Lempereur (nle) --- addons/mrp/models/stock_warehouse.py | 2 +- addons/stock/models/stock_warehouse.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/mrp/models/stock_warehouse.py b/addons/mrp/models/stock_warehouse.py index d89b5e036b5..543db91f65b 100644 --- a/addons/mrp/models/stock_warehouse.py +++ b/addons/mrp/models/stock_warehouse.py @@ -188,7 +188,7 @@ class StockWarehouse(models.Model): values = super(StockWarehouse, self)._get_locations_values(vals, code=code) def_values = self.default_get(['manufacture_steps']) manufacture_steps = vals.get('manufacture_steps', def_values['manufacture_steps']) - code = vals.get('code') or code + code = vals.get('code') or code or '' code = code.replace(' ', '').upper() company_id = vals.get('company_id', self.company_id.id) values.update({ diff --git a/addons/stock/models/stock_warehouse.py b/addons/stock/models/stock_warehouse.py index c53d85393a4..6fbdef3beb0 100644 --- a/addons/stock/models/stock_warehouse.py +++ b/addons/stock/models/stock_warehouse.py @@ -516,7 +516,7 @@ class Warehouse(models.Model): def_values = self.default_get(['reception_steps', 'delivery_steps']) reception_steps = vals.get('reception_steps', def_values['reception_steps']) delivery_steps = vals.get('delivery_steps', def_values['delivery_steps']) - code = vals.get('code') or code + code = vals.get('code') or code or '' code = code.replace(' ', '').upper() company_id = vals.get('company_id', self.default_get(['company_id'])['company_id']) sub_locations = {