From dd47abdcc3ee1f8e3ad548989f80ebd40035d47c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thibault=20Delavall=C3=A9e?= Date: Tue, 19 Dec 2017 13:36:43 +0100 Subject: [PATCH] [FIX][IMP] stock: set picking_warn as non required When reinitializing modules it is impossible to create partners if stock is installed because picking_warn field has a required column but no default value if the module does not depend from stock. Use case is trying to run test_mail tests with stock 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. --- addons/stock/models/res_partner.py | 2 +- addons/stock/models/stock_picking.py | 2 +- addons/stock/views/res_partner_views.xml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/addons/stock/models/res_partner.py b/addons/stock/models/res_partner.py index e585437e56a..d58e2b1d853 100644 --- a/addons/stock/models/res_partner.py +++ b/addons/stock/models/res_partner.py @@ -14,6 +14,6 @@ class Partner(models.Model): property_stock_supplier = fields.Many2one( 'stock.location', string="Vendor Location", company_dependent=True, help="This stock location will be used, instead of the default one, as the source location for goods you receive from the current partner") - picking_warn = fields.Selection(WARNING_MESSAGE, 'Stock Picking', help=WARNING_HELP, default='no-message', required=True) + picking_warn = fields.Selection(WARNING_MESSAGE, 'Stock Picking', help=WARNING_HELP, default='no-message') # TDE FIXME: expand this message / help picking_warn_msg = fields.Text('Message for Stock Picking') diff --git a/addons/stock/models/stock_picking.py b/addons/stock/models/stock_picking.py index cf1e7ba4c02..1ad756900fc 100644 --- a/addons/stock/models/stock_picking.py +++ b/addons/stock/models/stock_picking.py @@ -453,7 +453,7 @@ class Picking(models.Model): self.location_id = location_id self.location_dest_id = location_dest_id # TDE CLEANME move into onchange_partner_id - if self.partner_id: + if self.partner_id and self.partner_id.picking_warn: if self.partner_id.picking_warn == 'no-message' and self.partner_id.parent_id: partner = self.partner_id.parent_id elif self.partner_id.picking_warn not in ('no-message', 'block') and self.partner_id.parent_id.picking_warn == 'block': diff --git a/addons/stock/views/res_partner_views.xml b/addons/stock/views/res_partner_views.xml index e0b7e4954de..9f9fcac402d 100644 --- a/addons/stock/views/res_partner_views.xml +++ b/addons/stock/views/res_partner_views.xml @@ -31,7 +31,7 @@ + attrs="{'required':[('picking_warn', '!=', False), ('picking_warn','!=','no-message')],'readonly':[('picking_warn','=','no-message')]}"/>