From 02c8d8dc8bc9df2eea3ad7a8872223777b8a4a06 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Sat, 1 Apr 2017 10:43:14 +0200 Subject: [PATCH] Catch KeyError on ModelData.get_id in default method Since changeset 685f2d888dca, the default methods are always called in __register__ when the XML files are not yet loaded. issue6409 --- purchase.py | 7 +++++-- sale.py | 7 +++++-- stock.py | 7 +++++-- 3 files changed, 15 insertions(+), 6 deletions(-) diff --git a/purchase.py b/purchase.py index 9ce6be4d15..295b7fb411 100644 --- a/purchase.py +++ b/purchase.py @@ -72,8 +72,11 @@ class PurchaseConfigPurchaseDropLocation(ModelSQL, ValueMixin): def default_purchase_drop_location(cls): pool = Pool() ModelData = pool.get('ir.model.data') - return ModelData.get_id( - 'sale_supply_drop_shipment', 'location_drop') + try: + return ModelData.get_id( + 'sale_supply_drop_shipment', 'location_drop') + except KeyError: + return None class Purchase: diff --git a/sale.py b/sale.py index f482b18799..46bb047453 100644 --- a/sale.py +++ b/sale.py @@ -52,8 +52,11 @@ class SaleConfigSaleDropLocation(ModelSQL, ValueMixin): def default_sale_drop_location(cls): pool = Pool() ModelData = pool.get('ir.model.data') - return ModelData.get_id( - 'sale_supply_drop_shipment', 'location_drop') + try: + return ModelData.get_id( + 'sale_supply_drop_shipment', 'location_drop') + except KeyError: + return None class Sale: diff --git a/stock.py b/stock.py index 3713a7b892..4cf8832259 100644 --- a/stock.py +++ b/stock.py @@ -77,8 +77,11 @@ class ConfigurationSequence: def default_shipment_drop_sequence(cls): pool = Pool() ModelData = pool.get('ir.model.data') - return ModelData.get_id( - 'sale_supply_drop_shipment', 'sequence_shipment_drop') + try: + return ModelData.get_id( + 'sale_supply_drop_shipment', 'sequence_shipment_drop') + except KeyError: + return None class ShipmentDrop(Workflow, ModelSQL, ModelView):