From c7a2b6f09e7ef416e3eb6494b1bb9564d676d77f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adri=C3=A0=20Tarroja=20Caubet?= Date: Tue, 12 Oct 2021 10:28:17 +0200 Subject: [PATCH] Only require shipment_address for not services products issue10692 review360021002 --- sale.py | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/sale.py b/sale.py index 0c89366192..0869498a58 100644 --- a/sale.py +++ b/sale.py @@ -158,8 +158,6 @@ class Sale( ], states={ 'readonly': Eval('state') != 'draft', - 'required': ~Eval('state').in_( - ['draft', 'quotation', 'cancelled']), }, depends=['party', 'shipment_party', 'state']) warehouse = fields.Many2One('stock.location', 'Warehouse', @@ -720,12 +718,13 @@ class Sale( raise SaleQuotationError( gettext('sale.msg_sale_invoice_address_required_for_quotation', sale=self.rec_name)) - if not self.shipment_address: - raise SaleQuotationError( - gettext('sale' - '.msg_sale_shipment_address_required_for_quotation', - sale=self.rec_name)) for line in self.lines: + if (line.product and line.product.type != 'service' + and not self.shipment_address): + raise SaleQuotationError( + gettext('sale' + '.msg_sale_shipment_address_required_for_quotation', + sale=self.rec_name)) if (line.quantity or 0) >= 0: location = line.from_location else: