changeset ee3e97faf20e in modules/carrier_weight:default
details:
https://hg.tryton.org/modules/carrier_weight?cmd=changeset&node=ee3e97faf20e
description:
Include package weight to weight parcel
issue10145
review335721002
diffstat:
sale.py | 9 ++++++---
stock.py | 18 ++++++++++++++----
2 files changed, 20 insertions(+), 7 deletions(-)
diffs (78 lines):
diff -r 9a6633f66c19 -r ee3e97faf20e sale.py
--- a/sale.py Sat Mar 13 23:43:51 2021 +0100
+++ b/sale.py Mon Mar 29 23:40:01 2021 +0200
@@ -18,10 +18,14 @@
"""
return ()
+ def _parcel_weight(self, parcel):
+ if self.carrier:
+ return parcel_weight(parcel, self.carrier.weight_uom, 'unit')
+
def _get_carrier_context(self):
context = super(Sale, self)._get_carrier_context()
- if self.carrier.carrier_cost_method != 'weight':
+ if not self.carrier or self.carrier.carrier_cost_method != 'weight':
return context
context = context.copy()
weights = []
@@ -32,6 +36,5 @@
lines = sorted(lines, key=sortable_values(keyfunc))
for key, parcel in groupby(lines, key=keyfunc):
- weights.append(parcel_weight(
- parcel, self.carrier.weight_uom, 'unit'))
+ weights.append(self._parcel_weight(parcel))
return context
diff -r 9a6633f66c19 -r ee3e97faf20e stock.py
--- a/stock.py Sat Mar 13 23:43:51 2021 +0100
+++ b/stock.py Mon Mar 29 23:40:01 2021 +0200
@@ -19,8 +19,13 @@
"""
return ()
+ @fields.depends('carrier')
+ def _parcel_weight(self, parcel):
+ if self.carrier:
+ return parcel_weight(parcel, self.carrier.weight_uom)
+
@fields.depends('carrier', 'incoming_moves',
- methods=['_group_parcel_key'])
+ methods=['_group_parcel_key', '_parcel_weight'])
def _get_carrier_context(self):
context = super(ShipmentIn, self)._get_carrier_context()
if not self.carrier:
@@ -35,7 +40,7 @@
lines = sorted(lines, key=sortable_values(keyfunc))
for key, parcel in groupby(lines, key=keyfunc):
- weights.append(parcel_weight(parcel, self.carrier.weight_uom))
+ weights.append(self._parcel_weight(parcel))
return context
@@ -48,10 +53,15 @@
"""
return ()
+ @fields.depends('carrier')
+ def _parcel_weight(self, parcel):
+ if self.carrier:
+ return parcel_weight(parcel, self.carrier.weight_uom)
+
@fields.depends(
'state', 'carrier', 'inventory_moves', 'outgoing_moves',
'warehouse_storage', 'warehouse_output',
- methods=['_group_parcel_key'])
+ methods=['_group_parcel_key', '_parcel_weight'])
def _get_carrier_context(self):
context = super(ShipmentOut, self)._get_carrier_context()
if not self.carrier:
@@ -70,5 +80,5 @@
lines = sorted(lines, key=sortable_values(keyfunc))
for key, parcel in groupby(lines, key=keyfunc):
- weights.append(parcel_weight(parcel, self.carrier.weight_uom))
+ weights.append(self._parcel_weight(parcel))
return context