From 73c7db557b29b9f3187aa70ff9650af1634e18f7 Mon Sep 17 00:00:00 2001 From: Swapnesh Date: Thu, 6 May 2021 16:34:27 +0000 Subject: [PATCH] [IMP] stock: allow to customize picking values MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Before this commit, It was not possible to customize Picking values. With this commit, we add a new method which Prepares to Picking values. closes odoo/odoo#70494 Signed-off-by: Rémy Voet --- addons/stock/wizard/stock_picking_return.py | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/addons/stock/wizard/stock_picking_return.py b/addons/stock/wizard/stock_picking_return.py index 8c226951fb5..be19f5ed396 100644 --- a/addons/stock/wizard/stock_picking_return.py +++ b/addons/stock/wizard/stock_picking_return.py @@ -110,20 +110,24 @@ class ReturnPicking(models.TransientModel): } return vals + def _prepare_picking_default_values(self): + return { + 'move_lines': [], + 'picking_type_id': self.picking_id.picking_type_id.return_picking_type_id.id or self.picking_id.picking_type_id.id, + 'state': 'draft', + 'origin': _("Return of %s") % self.picking_id.name, + 'location_id': self.picking_id.location_dest_id.id, + 'location_dest_id': self.location_id.id + } + def _create_returns(self): # TODO sle: the unreserve of the next moves could be less brutal for return_move in self.product_return_moves.mapped('move_id'): return_move.move_dest_ids.filtered(lambda m: m.state not in ('done', 'cancel'))._do_unreserve() # create new picking for returned products - picking_type_id = self.picking_id.picking_type_id.return_picking_type_id.id or self.picking_id.picking_type_id.id - new_picking = self.picking_id.copy({ - 'move_lines': [], - 'picking_type_id': picking_type_id, - 'state': 'draft', - 'origin': _("Return of %s", self.picking_id.name), - 'location_id': self.picking_id.location_dest_id.id, - 'location_dest_id': self.location_id.id}) + new_picking = self.picking_id.copy(self._prepare_picking_default_values()) + picking_type_id = new_picking.picking_type_id.id new_picking.message_post_with_view('mail.message_origin_link', values={'self': new_picking, 'origin': self.picking_id}, subtype_id=self.env.ref('mail.mt_note').id)