From eae6ce7b6ba939e97e3db584ae5fc67272457552 Mon Sep 17 00:00:00 2001 From: Pierre Masereel Date: Tue, 3 Jul 2018 16:13:31 +0200 Subject: [PATCH] [FIX] stock: move lines attributes on package_level When you see move lines in a package level, the lots and owner are not displayed, we added them in the view. --- addons/stock/models/stock_package_level.py | 19 +++++++++++++++++++ .../stock/views/stock_package_level_views.xml | 7 ++++++- 2 files changed, 25 insertions(+), 1 deletion(-) diff --git a/addons/stock/models/stock_package_level.py b/addons/stock/models/stock_package_level.py index c05c67d70d0..ff25957641d 100644 --- a/addons/stock/models/stock_package_level.py +++ b/addons/stock/models/stock_package_level.py @@ -27,6 +27,8 @@ class StockPackageLevel(models.Model): is_fresh_package = fields.Boolean(compute='_compute_fresh_pack') picking_source_location = fields.Many2one('stock.location', related='picking_id.location_id') + show_lots_m2o = fields.Boolean(compute='_compute_show_lot') + show_lots_text = fields.Boolean(compute='_compute_show_lot') @api.depends('move_line_ids', 'move_line_ids.qty_done') def _compute_is_done(self): @@ -91,6 +93,23 @@ class StockPackageLevel(models.Model): elif package_level.move_line_ids.filtered(lambda ml: ml.state == 'cancel') or package_level.move_ids.filtered(lambda m: m.state == 'cancel'): package_level.state = 'cancel' + def _compute_show_lot(self): + for package_level in self: + if any(ml.product_id.tracking != 'none' for ml in package_level.move_line_ids): + if package_level.picking_id.picking_type_id.use_existing_lots or package_level.state == 'done': + package_level.show_lots_m2o = True + package_level.show_lots_text = False + else: + if self.picking_id.picking_type_id.use_create_lots and package_level.state != 'done': + package_level.show_lots_m2o = False + package_level.show_lots_text = True + else: + package_level.show_lots_m2o = False + package_level.show_lots_text = False + else: + package_level.show_lots_m2o = False + package_level.show_lots_text = False + @api.onchange('package_id') def _onchange_package_id(self): diff --git a/addons/stock/views/stock_package_level_views.xml b/addons/stock/views/stock_package_level_views.xml index ede32b655cf..c612a1085a1 100644 --- a/addons/stock/views/stock_package_level_views.xml +++ b/addons/stock/views/stock_package_level_views.xml @@ -11,6 +11,8 @@ + + @@ -29,9 +31,12 @@ + + + - +