From c7cb91e369f9df9600fee09949c7fdf809ec9d43 Mon Sep 17 00:00:00 2001 From: Maxime Richez Date: Wed, 2 Aug 2023 19:28:47 +0200 Subject: [PATCH] Sync secondary unit on supplier and internal shipments When synchronize the outgoing or incoming move, the secondary unit must be copied from the template. Closes #12301 --- modules/stock_secondary_unit/__init__.py | 1 + modules/stock_secondary_unit/stock.py | 16 ++++++++++++++++ 2 files changed, 17 insertions(+) diff --git a/modules/stock_secondary_unit/__init__.py b/modules/stock_secondary_unit/__init__.py index 396d2ea91d..fba76ca0b2 100644 --- a/modules/stock_secondary_unit/__init__.py +++ b/modules/stock_secondary_unit/__init__.py @@ -14,4 +14,5 @@ def register(): stock.ShipmentIn, stock.ShipmentOut, stock.ShipmentOutReturn, + stock.ShipmentInternal, module='stock_secondary_unit', type_='model') diff --git a/modules/stock_secondary_unit/stock.py b/modules/stock_secondary_unit/stock.py index d5efb0b8dc..6143933c8b 100644 --- a/modules/stock_secondary_unit/stock.py +++ b/modules/stock_secondary_unit/stock.py @@ -141,6 +141,12 @@ class ShipmentOut(metaclass=PoolMeta): inventory_move.secondary_unit = move.secondary_unit return inventory_move + def _sync_outgoing_move(self, template=None): + move = super()._sync_outgoing_move(template) + if template: + move.secondary_unit = template.secondary_unit + return move + class ShipmentOutReturn(metaclass=PoolMeta): __name__ = 'stock.shipment.out.return' @@ -150,3 +156,13 @@ class ShipmentOutReturn(metaclass=PoolMeta): if move: move.secondary_unit = incoming_move.secondary_unit return move + + +class ShipmentInternal(metaclass=PoolMeta): + __name__ = 'stock.shipment.internal' + + def _sync_incoming_move(self, template=None): + move = super()._sync_incoming_move(template) + if template: + move.secondary_unit = template.secondary_unit + return move