From 2e5c97c56163fc2f9e067ff43007002e8f620d90 Mon Sep 17 00:00:00 2001 From: Arnold Moyaux Date: Mon, 13 Aug 2018 14:46:41 +0200 Subject: [PATCH] [FIX] mrp: remove sequence data Warehouse's routes, locations, picking types and sequences are now generated on create or with a post init hook for exisiting warehouses before module installation. Before the init hook, warehouses created before mrp module installation do not have a specific sequence number for manufacturing and they shared the same sequence production created in data. --- addons/mrp/data/mrp_data.xml | 9 --------- addons/mrp/models/mrp_production.py | 8 +++++--- 2 files changed, 5 insertions(+), 12 deletions(-) diff --git a/addons/mrp/data/mrp_data.xml b/addons/mrp/data/mrp_data.xml index 0792225d707..7749846f598 100644 --- a/addons/mrp/data/mrp_data.xml +++ b/addons/mrp/data/mrp_data.xml @@ -2,15 +2,6 @@ - - Production order - mrp.production - MO/ - 5 - 1 - 1 - - Routing mrp.routing diff --git a/addons/mrp/models/mrp_production.py b/addons/mrp/models/mrp_production.py index 04ee68758be..993766ebec7 100644 --- a/addons/mrp/models/mrp_production.py +++ b/addons/mrp/models/mrp_production.py @@ -340,7 +340,7 @@ class MrpProduction(models.Model): self.location_dest_id = self.picking_type_id.default_location_dest_id.id or location.id @api.multi - def write (self, vals): + def write(self, vals): res = super(MrpProduction, self).write(vals) if 'date_planned_start' in vals: moves = (self.mapped('move_raw_ids') + self.mapped('move_finished_ids')).filtered( @@ -353,8 +353,10 @@ class MrpProduction(models.Model): @api.model def create(self, values): if not values.get('name', False) or values['name'] == _('New'): - if values.get('picking_type_id'): - values['name'] = self.env['stock.picking.type'].browse(values['picking_type_id']).sequence_id.next_by_id() + picking_type_id = values.get('picking_type_id') or self._get_default_picking_type() + picking_type_id = self.env['stock.picking.type'].browse(picking_type_id) + if picking_type_id: + values['name'] = picking_type_id.sequence_id.next_by_id() else: values['name'] = self.env['ir.sequence'].next_by_code('mrp.production') or _('New') if not values.get('procurement_group_id'):