changeset 343ce5f8447a in modules/sale_shipment_cost:6.4
details: 
https://hg.tryton.org/modules/sale_shipment_cost?cmd=changeset&node=343ce5f8447a
description:
        Use 'default' for default value of shipment cost on party

        issue11774
        review424051003
        (grafted from bc97fcd2805c49d32eb835c4a3d00f3690ea0ee6)
diffstat:

 party.py |  15 ++++++++++++++-
 sale.py  |   2 +-
 2 files changed, 15 insertions(+), 2 deletions(-)

diffs (48 lines):

diff -r 81def8937dd6 -r 343ce5f8447a party.py
--- a/party.py  Wed Aug 17 23:46:04 2022 +0200
+++ b/party.py  Fri Oct 28 00:43:56 2022 +0200
@@ -1,11 +1,20 @@
 # This file is part of Tryton.  The COPYRIGHT file at the top level of this
 # repository contains the full copyright notices and license terms.
 from trytond.model import fields
-from trytond.modules.sale.party import get_sale_methods
 from trytond.pool import Pool, PoolMeta
 from trytond.transaction import Transaction
 
 
+def get_sale_methods(field_name):
+    @classmethod
+    def func(cls):
+        pool = Pool()
+        Sale = pool.get('sale.sale')
+        return Sale.fields_get([field_name])[field_name]['selection'] + [
+            ('default', "")]
+    return func
+
+
 class Party(metaclass=PoolMeta):
     __name__ = 'party.party'
 
@@ -24,6 +33,10 @@
     get_sale_shipment_cost_method = get_sale_methods('shipment_cost_method')
 
     @classmethod
+    def default_sale_shipment_cost_method(cls, **pattern):
+        return 'default'
+
+    @classmethod
     def copy(cls, parties, default=None):
         context = Transaction().context
         default = default.copy() if default else {}
diff -r 81def8937dd6 -r 343ce5f8447a sale.py
--- a/sale.py   Wed Aug 17 23:46:04 2022 +0200
+++ b/sale.py   Fri Oct 28 00:43:56 2022 +0200
@@ -152,7 +152,7 @@
             self.carrier = self.available_carriers[0]
         elif not self.available_carriers:
             self.carrier = None
-        if self.party and self.party.sale_shipment_cost_method:
+        if self.party and self.party.sale_shipment_cost_method != 'default':
             self.shipment_cost_method = self.party.sale_shipment_cost_method
         else:
             self.shipment_cost_method = self.default_shipment_cost_method()

Reply via email to