From 07bafcb79214e1f1edbb70e509a0df3c866bb208 Mon Sep 17 00:00:00 2001 From: Victor Feyens Date: Tue, 14 Jul 2020 14:55:00 +0000 Subject: [PATCH] [IMP] stock: correct default_get behavior Leave the management of default_* context keys to the orm level. closes odoo/odoo#54246 Related: odoo/enterprise#11754 Signed-off-by: Victor Feyens (vfe) --- addons/stock/wizard/stock_backorder_confirmation.py | 11 +++++++---- .../wizard/stock_backorder_confirmation_views.xml | 10 ++++++++++ addons/stock/wizard/stock_immediate_transfer.py | 11 +++++++---- .../stock/wizard/stock_immediate_transfer_views.xml | 10 ++++++++++ 4 files changed, 34 insertions(+), 8 deletions(-) diff --git a/addons/stock/wizard/stock_backorder_confirmation.py b/addons/stock/wizard/stock_backorder_confirmation.py index 5866b463930..3705efec9c7 100644 --- a/addons/stock/wizard/stock_backorder_confirmation.py +++ b/addons/stock/wizard/stock_backorder_confirmation.py @@ -28,10 +28,13 @@ class StockBackorderConfirmation(models.TransientModel): @api.model def default_get(self, fields): res = super().default_get(fields) - if 'backorder_confirmation_line_ids' in fields: - if self.env.context.get('default_pick_ids'): - res['pick_ids'] = self.env.context['default_pick_ids'] - res['backorder_confirmation_line_ids'] = [(0, 0, {'to_backorder': True, 'picking_id': pick_id[1]}) for pick_id in res['pick_ids']] + if 'backorder_confirmation_line_ids' in fields and res.get('pick_ids'): + res['backorder_confirmation_line_ids'] = [ + (0, 0, {'to_backorder': True, 'picking_id': pick_id}) + for pick_id in res['pick_ids'][0][2] + ] + # default_get returns x2m values as [(6, 0, ids)] + # because of webclient limitations return res def process(self): diff --git a/addons/stock/wizard/stock_backorder_confirmation_views.xml b/addons/stock/wizard/stock_backorder_confirmation_views.xml index c44f1b7147f..1258b70ffae 100644 --- a/addons/stock/wizard/stock_backorder_confirmation_views.xml +++ b/addons/stock/wizard/stock_backorder_confirmation_views.xml @@ -15,6 +15,16 @@

+ + + > diff --git a/addons/stock/wizard/stock_immediate_transfer.py b/addons/stock/wizard/stock_immediate_transfer.py index fc494d8d5bc..2afbc6337b0 100644 --- a/addons/stock/wizard/stock_immediate_transfer.py +++ b/addons/stock/wizard/stock_immediate_transfer.py @@ -28,10 +28,13 @@ class StockImmediateTransfer(models.TransientModel): @api.model def default_get(self, fields): res = super().default_get(fields) - if 'immediate_transfer_line_ids' in fields: - if self.env.context.get('default_pick_ids'): - res['pick_ids'] = self.env.context['default_pick_ids'] - res['immediate_transfer_line_ids'] = [(0, 0, {'to_immediate': True, 'picking_id': pick_id[1]}) for pick_id in res['pick_ids']] + if 'immediate_transfer_line_ids' in fields and res.get('pick_ids'): + res['immediate_transfer_line_ids'] = [ + (0, 0, {'to_immediate': True, 'picking_id': pick_id}) + for pick_id in res['pick_ids'][0][2] + ] + # default_get returns x2m values as [(6, 0, ids)] + # because of webclient limitations return res def process(self): diff --git a/addons/stock/wizard/stock_immediate_transfer_views.xml b/addons/stock/wizard/stock_immediate_transfer_views.xml index 73c9ec8910b..ef562bfda76 100644 --- a/addons/stock/wizard/stock_immediate_transfer_views.xml +++ b/addons/stock/wizard/stock_immediate_transfer_views.xml @@ -9,6 +9,16 @@

You have not recorded done quantities yet, by clicking on apply Odoo will process all the quantities.

+ + + >