changeset 0cd1bf65390d in modules/sale_shipment_grouping:6.2
details:
https://hg.tryton.org/modules/sale_shipment_grouping?cmd=changeset&node=0cd1bf65390d
description:
Process shipments one by one when grouping
issue11685
review435841003
(grafted from b6ce941ef786ec9c8519ce9d3c64b32173cba0e3)
diffstat:
sale.py | 12 ++++++++++++
1 files changed, 12 insertions(+), 0 deletions(-)
diffs (26 lines):
diff -r 9aa9355dc113 -r 0cd1bf65390d sale.py
--- a/sale.py Mon Nov 01 17:25:11 2021 +0100
+++ b/sale.py Fri Oct 28 00:31:07 2022 +0200
@@ -1,6 +1,8 @@
# 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 itertools import groupby
+
from trytond.pool import PoolMeta
from trytond.transaction import Transaction
@@ -53,3 +55,13 @@
if grouped_shipments:
shipment, = grouped_shipments
return shipment
+
+ @classmethod
+ def _process_shipment(cls, sales):
+ for method, sales in groupby(
+ sales, lambda s: s.shipment_grouping_method):
+ if method:
+ for sale in sales:
+ super()._process_shipment([sale])
+ else:
+ super()._process_shipment(list(sales))