From 6814582e1483268870c076b76b6cd98dd569c8e9 Mon Sep 17 00:00:00 2001 From: Michael Tietz Date: Tue, 17 Feb 2026 14:36:38 +0100 Subject: [PATCH] [IMP] shopfloor: Single pack transfer owner Allow to move packages of owner and keep owner id --- shopfloor/services/single_pack_transfer.py | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/shopfloor/services/single_pack_transfer.py b/shopfloor/services/single_pack_transfer.py index 83fe9372633..299e4f10c44 100644 --- a/shopfloor/services/single_pack_transfer.py +++ b/shopfloor/services/single_pack_transfer.py @@ -180,14 +180,25 @@ def start(self, barcode, confirmation=None): return self._response_for_scan_location(package_level) + def _prepare_picking_vals_for_package(self, package): + vals = {} + if package.owner_id: + vals["owner_id"] = package.owner_id.id + return vals + + def _create_picking_for_package(self, package): + picking_vals = self._prepare_picking_vals_for_package(package) + StockPicking = self.env["stock.picking"].with_context( + default_picking_type_id=self.picking_types.id + ) + picking = StockPicking.create(picking_vals) + return picking + def _create_package_level(self, package): # this method can be called only if we have one picking type # (allow_move_create==True on menu) assert self.picking_types.ensure_one() - StockPicking = self.env["stock.picking"].with_context( - default_picking_type_id=self.picking_types.id - ) - picking = StockPicking.create({}) + picking = self._create_picking_for_package(package) package_level = self.env["stock.package_level"].create( { "picking_id": picking.id,