changeset c25eeed6f1b3 in modules/sale:default details: https://hg.tryton.org/modules/sale?cmd=changeset&node=c25eeed6f1b3 description: Only require shipment_address for not services products
issue10692 review360021002 diffstat: sale.py | 13 ++++++------- 1 files changed, 6 insertions(+), 7 deletions(-) diffs (31 lines): diff -r dd06c21bc0a6 -r c25eeed6f1b3 sale.py --- a/sale.py Mon Oct 11 22:40:54 2021 +0200 +++ b/sale.py Tue Oct 12 10:28:17 2021 +0200 @@ -158,8 +158,6 @@ ], 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 @@ 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: