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()