From aa98f6f022bcd711e5fa589e28163c6feb2651a7 Mon Sep 17 00:00:00 2001 From: Ignacio Ales Date: Wed, 16 Oct 2019 13:07:48 +0200 Subject: [PATCH] [MIG] quality_control_mrp: Migration to 12.0 --- quality_control_mrp/__init__.py | 1 - quality_control_mrp/__manifest__.py | 7 +++-- .../data/quality_control_mrp_data.xml | 5 ---- .../migrations/12.0.1.0.0/pre-migration.py | 13 ++++++++++ quality_control_mrp/models/__init__.py | 1 - quality_control_mrp/models/mrp_production.py | 9 +++---- quality_control_mrp/models/qc_inspection.py | 23 +++++++++------- quality_control_mrp/tests/__init__.py | 1 - .../tests/test_quality_control_mrp.py | 5 ++-- .../views/mrp_production_view.xml | 4 +-- .../views/qc_inspection_view.xml | 26 ++++++++++--------- 11 files changed, 52 insertions(+), 43 deletions(-) create mode 100644 quality_control_mrp/migrations/12.0.1.0.0/pre-migration.py diff --git a/quality_control_mrp/__init__.py b/quality_control_mrp/__init__.py index b44d76594..31660d6a9 100644 --- a/quality_control_mrp/__init__.py +++ b/quality_control_mrp/__init__.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). from . import models diff --git a/quality_control_mrp/__manifest__.py b/quality_control_mrp/__manifest__.py index 045b754b9..2497f2085 100644 --- a/quality_control_mrp/__manifest__.py +++ b/quality_control_mrp/__manifest__.py @@ -1,11 +1,10 @@ -# -*- coding: utf-8 -*- # Copyright 2014 Serv. Tec. Avanzados - Pedro M. Baeza # Copyright 2014 Oihane Crucelaegui - AvanzOSC # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). { "name": "MRP extension for quality control", - "version": "10.0.1.0.0", + "version": "12.0.1.0.0", "category": "Quality control", "license": "AGPL-3", "author": "OdooMRP team, " @@ -13,7 +12,7 @@ "Serv. Tecnol. Avanzados - Pedro M. Baeza, " "Agile Business Group, " "Odoo Community Association (OCA)", - "website": "https://github.com/OCA/manufacture/tree/10.0/" + "website": "https://github.com/OCA/manufacture/tree/12.0/" "quality_control_mrp", "depends": [ "quality_control", @@ -23,7 +22,7 @@ "data": [ 'data/quality_control_mrp_data.xml', 'views/qc_inspection_view.xml', - 'views/mrp_production_view.xml', + 'views/mrp_production_view.xml' ], "installable": True, "auto_install": True, diff --git a/quality_control_mrp/data/quality_control_mrp_data.xml b/quality_control_mrp/data/quality_control_mrp_data.xml index 069f18cbb..529f58076 100644 --- a/quality_control_mrp/data/quality_control_mrp_data.xml +++ b/quality_control_mrp/data/quality_control_mrp_data.xml @@ -6,9 +6,4 @@ Production done - - - Manufacturing Order - mrp.production - diff --git a/quality_control_mrp/migrations/12.0.1.0.0/pre-migration.py b/quality_control_mrp/migrations/12.0.1.0.0/pre-migration.py new file mode 100644 index 000000000..3514ef33d --- /dev/null +++ b/quality_control_mrp/migrations/12.0.1.0.0/pre-migration.py @@ -0,0 +1,13 @@ +from openupgradelib import openupgrade + +field_renames = [ + ("mrp.production", "mrp_production", "qc_inspections", + "qc_inspections_ids"), + ("qc.inspection", "qc_inspection", "production", "production_id"), + ("qc.inspection.line", "qc_inspection_line", "production", "production_id") +] + + +@openupgrade.migrate(use_env=True) +def migrate(env, version): + openupgrade.rename_fields(env, field_renames) diff --git a/quality_control_mrp/models/__init__.py b/quality_control_mrp/models/__init__.py index c2ccc73d1..4e7db6884 100644 --- a/quality_control_mrp/models/__init__.py +++ b/quality_control_mrp/models/__init__.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). from . import qc_inspection diff --git a/quality_control_mrp/models/mrp_production.py b/quality_control_mrp/models/mrp_production.py index 0b984d8ad..93b3e5675 100644 --- a/quality_control_mrp/models/mrp_production.py +++ b/quality_control_mrp/models/mrp_production.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- # Copyright 2014 Serv. Tec. Avanzados - Pedro M. Baeza # Copyright 2018 Simone Rubino - Agile Business Group # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). @@ -12,13 +11,13 @@ class MrpProduction(models.Model): _inherit = 'mrp.production' @api.multi - @api.depends('qc_inspections') + @api.depends('qc_inspections_ids') def _count_inspections(self): for production in self: - production.created_inspections = len(production.qc_inspections) + production.created_inspections = len(production.qc_inspections_ids) - qc_inspections = fields.One2many( - comodel_name='qc.inspection', inverse_name='production', copy=False, + qc_inspections_ids = fields.One2many( + comodel_name='qc.inspection', inverse_name='production_id', copy=False, string='Inspections', help="Inspections related to this production.") created_inspections = fields.Integer( compute="_count_inspections", string="Created inspections") diff --git a/quality_control_mrp/models/qc_inspection.py b/quality_control_mrp/models/qc_inspection.py index 01f5561f6..7604d321f 100644 --- a/quality_control_mrp/models/qc_inspection.py +++ b/quality_control_mrp/models/qc_inspection.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- # Copyright 2014 Serv. Tec. Avanzados - Pedro M. Baeza # Copyright 2018 Simone Rubino - Agile Business Group # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). @@ -23,26 +22,32 @@ class QcInspection(models.Model): for inspection in self: if inspection.object_id: if inspection.object_id._name == 'stock.move': - inspection.production = inspection.object_id.production_id + inspection.production_id = inspection.object_id.production_id elif inspection.object_id._name == 'mrp.production': - inspection.production = inspection.object_id + inspection.production_id = inspection.object_id @api.depends('object_id') - def _get_product(self): + def _compute_product_id(self): """Overriden for getting the product from a manufacturing order.""" for inspection in self: - super(QcInspection, inspection)._get_product() + super(QcInspection, inspection)._compute_product_id() if inspection.object_id and\ inspection.object_id._name == 'mrp.production': - inspection.product = inspection.object_id.product_id + inspection.product_id = inspection.object_id.product_id - production = fields.Many2one( + @api.multi + def object_selection_values(self): + objects = super(QcInspection, self).object_selection_values() + objects.append(('mrp.production', 'Manufacturing Order')) + return objects + + production_id = fields.Many2one( comodel_name="mrp.production", compute="get_production", store=True) class QcInspectionLine(models.Model): _inherit = 'qc.inspection.line' - production = fields.Many2one( - comodel_name="mrp.production", related="inspection_id.production", + production_id = fields.Many2one( + comodel_name="mrp.production", related="inspection_id.production_id", store=True, string="Production order") diff --git a/quality_control_mrp/tests/__init__.py b/quality_control_mrp/tests/__init__.py index 7564f3b6b..8f4145d4a 100644 --- a/quality_control_mrp/tests/__init__.py +++ b/quality_control_mrp/tests/__init__.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). from . import test_quality_control_mrp diff --git a/quality_control_mrp/tests/test_quality_control_mrp.py b/quality_control_mrp/tests/test_quality_control_mrp.py index e028aa25d..b1f9196ec 100644 --- a/quality_control_mrp/tests/test_quality_control_mrp.py +++ b/quality_control_mrp/tests/test_quality_control_mrp.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- # Copyright 2015 Oihane Crucelaegui - AvanzOSC # Copyright 2018 Simone Rubino - Agile Business Group # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). @@ -13,7 +12,7 @@ class TestQualityControlMrp(TransactionCase): self.production_model = self.env['mrp.production'] self.inspection_model = self.env['qc.inspection'] self.qc_trigger_model = self.env['qc.trigger'] - self.product = self.env.ref('mrp.product_product_computer_desk') + self.product = self.env.ref('mrp.product_product_wood_panel') self.test = self.env.ref('quality_control.qc_test_1') self.trigger = self.env.ref('quality_control_mrp.qc_trigger_mrp') self.bom = self.env['mrp.bom']._bom_find(product=self.product) @@ -142,5 +141,5 @@ class TestQualityControlMrp(TransactionCase): 'object_id': '%s,%d' % (self.production1._name, self.production1.id), }) - self.assertEquals(self.inspection1.production, + self.assertEquals(self.inspection1.production_id, self.production1) diff --git a/quality_control_mrp/views/mrp_production_view.xml b/quality_control_mrp/views/mrp_production_view.xml index f23abe253..bb91afcba 100644 --- a/quality_control_mrp/views/mrp_production_view.xml +++ b/quality_control_mrp/views/mrp_production_view.xml @@ -6,7 +6,7 @@ Quality inspections from production order qc.inspection tree,form - [('production', '=', active_id)] + [('production_id', '=', active_id)] @@ -28,4 +28,4 @@ - \ No newline at end of file + diff --git a/quality_control_mrp/views/qc_inspection_view.xml b/quality_control_mrp/views/qc_inspection_view.xml index 7f5ba5a75..fe2857af1 100644 --- a/quality_control_mrp/views/qc_inspection_view.xml +++ b/quality_control_mrp/views/qc_inspection_view.xml @@ -9,8 +9,8 @@ - - + + @@ -22,8 +22,8 @@ - - + + @@ -35,13 +35,14 @@ - - + + + context="{'group_by': 'production_id'}" /> @@ -53,8 +54,8 @@ - - + + @@ -66,13 +67,14 @@ - - + + + context="{'group_by': 'production_id'}" />