diff --git a/addons/stock/views/stock_picking_views.xml b/addons/stock/views/stock_picking_views.xml index 1bbad0eee06..4b4c71b65e9 100644 --- a/addons/stock/views/stock_picking_views.xml +++ b/addons/stock/views/stock_picking_views.xml @@ -759,7 +759,7 @@ -
+
diff --git a/addons/stock_picking_batch/models/stock_picking.py b/addons/stock_picking_batch/models/stock_picking.py index 7d928f821d6..a5d807260b9 100644 --- a/addons/stock_picking_batch/models/stock_picking.py +++ b/addons/stock_picking_batch/models/stock_picking.py @@ -4,6 +4,36 @@ from odoo import _, api, fields, models +class StockPickingType(models.Model): + _inherit = "stock.picking.type" + + count_picking_batch = fields.Integer(compute='_compute_picking_count') + count_picking_wave = fields.Integer(compute='_compute_picking_count') + + def _compute_picking_count(self): + super()._compute_picking_count() + domains = { + 'count_picking_batch': [('is_wave', '=', False)], + 'count_picking_wave': [('is_wave', '=', True)], + } + for field in domains: + data = self.env['stock.picking.batch'].read_group(domains[field] + + [('state', 'not in', ('done', 'cancel')), ('picking_type_id', 'in', self.ids)], + ['picking_type_id'], ['picking_type_id']) + count = { + x['picking_type_id'][0]: x['picking_type_id_count'] + for x in data if x['picking_type_id'] + } + for record in self: + record[field] = count.get(record.id, 0) + + def get_action_picking_tree_batch(self): + return self._get_action('stock_picking_batch.stock_picking_batch_action') + + def get_action_picking_tree_wave(self): + return self._get_action('stock_picking_batch.action_picking_tree_wave') + + class StockPicking(models.Model): _inherit = "stock.picking" diff --git a/addons/stock_picking_batch/views/stock_picking_wave_views.xml b/addons/stock_picking_batch/views/stock_picking_wave_views.xml index fa9a8ddebae..1bc733033b0 100644 --- a/addons/stock_picking_batch/views/stock_picking_wave_views.xml +++ b/addons/stock_picking_batch/views/stock_picking_wave_views.xml @@ -34,6 +34,31 @@ + + picking.type.kanban.batch + stock.picking.type + + + + + + + +