changeset bc97fcd2805c in modules/sale_shipment_cost:default
details:
https://hg.tryton.org/modules/sale_shipment_cost?cmd=changeset&node=bc97fcd2805c
description:
Use 'default' for default value of shipment cost on party
issue11774
review424051003
diffstat:
party.py | 15 ++++++++++++++-
sale.py | 2 +-
2 files changed, 15 insertions(+), 2 deletions(-)
diffs (48 lines):
diff -r 350e6c789c1f -r bc97fcd2805c party.py
--- a/party.py Sun Oct 16 14:14:12 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 350e6c789c1f -r bc97fcd2805c sale.py
--- a/sale.py Sun Oct 16 14:14:12 2022 +0200
+++ b/sale.py Fri Oct 28 00:43:56 2022 +0200
@@ -167,7 +167,7 @@
self.carrier = None
if not self.carrier:
self.shipment_cost_method = None
- elif self.party and self.party.sale_shipment_cost_method:
+ elif 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()