changeset b56a95400a89 in modules/stock_shipment_measurements:default
details:
https://hg.tryton.org/modules/stock_shipment_measurements?cmd=changeset&node=b56a95400a89
description:
Include package weight to weight parcel
issue10145
review335721002
diffstat:
CHANGELOG | 2 ++
stock.py | 17 +++++++++++++++++
tryton.cfg | 1 +
view/package_form.xml | 3 ++-
4 files changed, 22 insertions(+), 1 deletions(-)
diffs (61 lines):
diff -r fa93541ea52a -r b56a95400a89 CHANGELOG
--- a/CHANGELOG Sat Dec 19 17:08:47 2020 +0100
+++ b/CHANGELOG Mon Mar 29 23:40:01 2021 +0200
@@ -1,3 +1,5 @@
+* Include additional package weight to weight parcel
+
Version 5.8.0 - 2020-11-02
* Bug fixes (see mercurial logs for details)
* Remove support for Python 3.5
diff -r fa93541ea52a -r b56a95400a89 stock.py
--- a/stock.py Sat Dec 19 17:08:47 2020 +0100
+++ b/stock.py Mon Mar 29 23:40:01 2021 +0200
@@ -223,6 +223,23 @@
(move.to_location == location.id)
& (location.type == 'customer'))
+ @fields.depends('carrier')
+ def _parcel_weight(self, parcel):
+ pool = Pool()
+ ModelData = pool.get('ir.model.data')
+ Uom = pool.get('product.uom')
+ kg = Uom(ModelData.get_id('product', 'uom_kilogram'))
+ weight = super()._parcel_weight(parcel)
+ if self.carrier:
+ carrier_uom = self.carrier.weight_uom
+ packages = {p for l in parcel for p in l.package_path}
+ for package in packages:
+ if package.additional_weight:
+ weight += Uom.compute_qty(
+ kg, package.additional_weight, carrier_uom,
+ round=False)
+ return weight
+
class ShipmentOutReturn(MeasurementsMixin, object, metaclass=PoolMeta):
__name__ = 'stock.shipment.out.return'
diff -r fa93541ea52a -r b56a95400a89 tryton.cfg
--- a/tryton.cfg Sat Dec 19 17:08:47 2020 +0100
+++ b/tryton.cfg Mon Mar 29 23:40:01 2021 +0200
@@ -6,6 +6,7 @@
product_measurements
stock
extras_depend:
+ carrier_weight
stock_package
xml:
stock.xml
diff -r fa93541ea52a -r b56a95400a89 view/package_form.xml
--- a/view/package_form.xml Sat Dec 19 17:08:47 2020 +0100
+++ b/view/package_form.xml Mon Mar 29 23:40:01 2021 +0200
@@ -2,8 +2,9 @@
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
this repository contains the full copyright notices and license terms. -->
<data>
- <xpath expr="/form/field[@name='children']" position="after">
+ <xpath expr="//page[@id='measurements']" position="inside">
<label name="additional_weight"/>
<field name="additional_weight"/>
+ <newline/>
</xpath>
</data>