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:

Reply via email to