From 1d544087faee25463d6a4a83a581d3c311e780d4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thibault=20Delavall=C3=A9e?= Date: Fri, 5 Jan 2018 12:56:38 +0100 Subject: [PATCH] [FIX][IMP] purchase: set purchase_warn as non required When reinitializing modules it is impossible to create partners if purchase is installed because purchase_warn field has a required column but no default value if the module does not depend from purchase. Use case is trying to run test_mail tests with purchase installed. As this field is not business critical it is now not required. As there is a default value behavior should not change for users. See also 71181a0e39e825ba21b347af856b32d2056d7bb8, dd47abdcc3ee1f8e3ad548989f80ebd40035d47c and 06a02ae4c22fe91c47702712420134e06c4d35d0. --- addons/purchase/models/purchase.py | 2 +- addons/purchase/models/res_partner.py | 2 +- addons/purchase/views/res_partner_views.xml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/addons/purchase/models/purchase.py b/addons/purchase/models/purchase.py index d599a839ea7..42cfc0a6342 100644 --- a/addons/purchase/models/purchase.py +++ b/addons/purchase/models/purchase.py @@ -261,7 +261,7 @@ class PurchaseOrder(models.Model): if partner.purchase_warn == 'no-message' and partner.parent_id: partner = partner.parent_id - if partner.purchase_warn != 'no-message': + if partner.purchase_warn and partner.purchase_warn != 'no-message': # Block if partner only has warning but parent company is blocked if partner.purchase_warn != 'block' and partner.parent_id and partner.parent_id.purchase_warn == 'block': partner = partner.parent_id diff --git a/addons/purchase/models/res_partner.py b/addons/purchase/models/res_partner.py index f031fff08b4..477c8fa21a3 100644 --- a/addons/purchase/models/res_partner.py +++ b/addons/purchase/models/res_partner.py @@ -26,5 +26,5 @@ class res_partner(models.Model): help="This currency will be used, instead of the default one, for purchases from the current partner") purchase_order_count = fields.Integer(compute='_purchase_invoice_count', string='Purchase Order Count') supplier_invoice_count = fields.Integer(compute='_purchase_invoice_count', string='# Vendor Bills') - purchase_warn = fields.Selection(WARNING_MESSAGE, 'Purchase Order', help=WARNING_HELP, required=True, default="no-message") + purchase_warn = fields.Selection(WARNING_MESSAGE, 'Purchase Order', help=WARNING_HELP, default="no-message") purchase_warn_msg = fields.Text('Message for Purchase Order') diff --git a/addons/purchase/views/res_partner_views.xml b/addons/purchase/views/res_partner_views.xml index ac8d39e558b..e0372333336 100644 --- a/addons/purchase/views/res_partner_views.xml +++ b/addons/purchase/views/res_partner_views.xml @@ -84,7 +84,7 @@ + attrs="{'required':[('purchase_warn', '!=', False), ('purchase_warn','!=','no-message')],'readonly':[('purchase_warn','=','no-message')]}"/>