From cadc98f0d06e1f843a1f3d39fb35b65d8882e79c Mon Sep 17 00:00:00 2001 From: sudhir-erpharbor Date: Fri, 11 Oct 2019 15:05:54 +0530 Subject: [PATCH] [MIG] product_mrp_info: Migration to 13.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Héctor Villarreal Ortega --- product_mrp_info/README.rst | 23 ++-- product_mrp_info/__manifest__.py | 18 ++- product_mrp_info/i18n/product_mrp_info.pot | 7 +- product_mrp_info/models/product.py | 33 +++--- product_mrp_info/readme/CONTRIBUTORS.rst | 3 +- product_mrp_info/readme/DESCRIPTION.rst | 2 +- product_mrp_info/readme/USAGE.rst | 2 +- .../static/description/index.html | 13 ++- .../tests/test_product_mrp_info.py | 106 ++++++++++-------- product_mrp_info/views/product_views.xml | 42 ++++--- 10 files changed, 132 insertions(+), 117 deletions(-) diff --git a/product_mrp_info/README.rst b/product_mrp_info/README.rst index 0a8445c7b..465ff08e1 100644 --- a/product_mrp_info/README.rst +++ b/product_mrp_info/README.rst @@ -14,13 +14,13 @@ Product MRP Info :target: http://www.gnu.org/licenses/lgpl-3.0-standalone.html :alt: License: LGPL-3 .. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fmanufacture-lightgray.png?logo=github - :target: https://github.com/OCA/manufacture/tree/12.0/product_mrp_info + :target: https://github.com/OCA/manufacture/tree/13.0/product_mrp_info :alt: OCA/manufacture .. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png - :target: https://translation.odoo-community.org/projects/manufacture-12-0/manufacture-12-0-product_mrp_info + :target: https://translation.odoo-community.org/projects/manufacture-13-0/manufacture-13-0-product_mrp_info :alt: Translate me on Weblate .. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png - :target: https://runbot.odoo-community.org/runbot/129/12.0 + :target: https://runbot.odoo-community.org/runbot/129/13.0 :alt: Try me on Runbot |badge1| |badge2| |badge3| |badge4| |badge5| @@ -45,7 +45,7 @@ Bug Tracker Bugs are tracked on `GitHub Issues `_. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us smashing it by providing a detailed and welcomed -`feedback `_. +`feedback `_. Do not contact contributors directly about support or help with technical issues. @@ -55,12 +55,13 @@ Credits Authors ~~~~~~~ -* Eficent +* ForgeFlow Contributors ~~~~~~~~~~~~ -* Lois Rilo +* Lois Rilo +* Sudhir Arya Maintainers ~~~~~~~~~~~ @@ -75,14 +76,14 @@ OCA, or the Odoo Community Association, is a nonprofit organization whose mission is to support the collaborative development of Odoo features and promote its widespread use. -.. |maintainer-lreficent| image:: https://github.com/lreficent.png?size=40px - :target: https://github.com/lreficent - :alt: lreficent +.. |maintainer-LoisRForgeFlow| image:: https://github.com/LoisRForgeFlow.png?size=40px + :target: https://github.com/LoisRForgeFlow + :alt: LoisRForgeFlow Current `maintainer `__: -|maintainer-lreficent| +|maintainer-LoisRForgeFlow| -This module is part of the `OCA/manufacture `_ project on GitHub. +This module is part of the `OCA/manufacture `_ project on GitHub. You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/product_mrp_info/__manifest__.py b/product_mrp_info/__manifest__.py index 6a56ca002..53ac391f1 100644 --- a/product_mrp_info/__manifest__.py +++ b/product_mrp_info/__manifest__.py @@ -1,23 +1,19 @@ -# Copyright 2019 Eficent Business and IT Consulting Services S.L. +# Copyright 2019 ForgeFlow S.L. # License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html). { "name": "Product MRP Info", - "version": "12.0.1.0.0", + "version": "13.0.1.0.0", "development_status": "Beta", "license": "LGPL-3", - "author": "Eficent, Odoo Community Association (OCA)", - "maintainers": ["lreficent"], + "author": "ForgeFlow, Odoo Community Association (OCA)", + "maintainers": ["LoisRForgeFlow"], "summary": "Adds smart button in product form view linking to " - "manufacturing order list.", + "manufacturing order list.", "website": "https://github.com/OCA/manufacture", "category": "Manufacturing", - "depends": [ - "mrp", - ], - "data": [ - "views/product_views.xml", - ], + "depends": ["mrp"], + "data": ["views/product_views.xml"], "installable": True, "application": False, } diff --git a/product_mrp_info/i18n/product_mrp_info.pot b/product_mrp_info/i18n/product_mrp_info.pot index 5dc30d22c..4250a596e 100644 --- a/product_mrp_info/i18n/product_mrp_info.pot +++ b/product_mrp_info/i18n/product_mrp_info.pot @@ -1,12 +1,12 @@ # Translation of Odoo Server. # This file contains the translation of the following modules: -# * product_mrp_info +# * product_mrp_info # msgid "" msgstr "" -"Project-Id-Version: Odoo Server 12.0\n" +"Project-Id-Version: Odoo Server 13.0\n" "Report-Msgid-Bugs-To: \n" -"Last-Translator: <>\n" +"Last-Translator: \n" "Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -40,4 +40,3 @@ msgstr "" #: model:ir.model,name:product_mrp_info.model_product_template msgid "Product Template" msgstr "" - diff --git a/product_mrp_info/models/product.py b/product_mrp_info/models/product.py index 96a7a0fb5..b6dab56e1 100644 --- a/product_mrp_info/models/product.py +++ b/product_mrp_info/models/product.py @@ -1,26 +1,26 @@ -# Copyright 2019 Eficent Business and IT Consulting Services S.L. -# - Lois Rilo Antelo +# Copyright 2019 ForgeFlow S.L. +# - Lois Rilo Antelo # License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html). -from odoo import api, fields, models +from odoo import fields, models class ProductTemplate(models.Model): _inherit = "product.template" mo_count = fields.Integer( - string="# Manufacturing Orders", - compute="_compute_mo_count", + string="# Manufacturing Orders", compute="_compute_mo_count", ) - @api.multi def _compute_mo_count(self): read_group_res = self.env["mrp.production"].read_group( [("product_id", "in", self.mapped("product_variant_ids").ids)], - ["product_id"], ["product_id"]) - mapped_data = dict( - [(data["product_id"][0], data["product_id_count"]) for data in - read_group_res]) + ["product_id"], + ["product_id"], + ) + mapped_data = { + data["product_id"][0]: data["product_id_count"] for data in read_group_res + } for rec in self: count = 0 for variant in rec.mapped("product_variant_ids"): @@ -39,20 +39,19 @@ class ProductProduct(models.Model): _inherit = "product.product" mo_count = fields.Integer( - string="# Manufacturing Orders", - compute="_compute_mo_count", + string="# Manufacturing Orders", compute="_compute_mo_count", ) def _compute_mo_count(self): read_group_res = self.env["mrp.production"].read_group( - [("product_id", "in", self.ids)], ["product_id"], ["product_id"]) - mapped_data = dict( - [(data["product_id"][0], data["product_id_count"]) for data in - read_group_res]) + [("product_id", "in", self.ids)], ["product_id"], ["product_id"] + ) + mapped_data = { + data["product_id"][0]: data["product_id_count"] for data in read_group_res + } for product in self: product.mo_count = mapped_data.get(product.id, 0) - @api.multi def action_view_mrp_productions(self): product_ids = self.ids action = self.env.ref("mrp.act_product_mrp_production").read()[0] diff --git a/product_mrp_info/readme/CONTRIBUTORS.rst b/product_mrp_info/readme/CONTRIBUTORS.rst index 4b574636c..6477cc29f 100644 --- a/product_mrp_info/readme/CONTRIBUTORS.rst +++ b/product_mrp_info/readme/CONTRIBUTORS.rst @@ -1 +1,2 @@ -* Lois Rilo +* Lois Rilo +* Sudhir Arya diff --git a/product_mrp_info/readme/DESCRIPTION.rst b/product_mrp_info/readme/DESCRIPTION.rst index 44ed736bd..9fde6a944 100644 --- a/product_mrp_info/readme/DESCRIPTION.rst +++ b/product_mrp_info/readme/DESCRIPTION.rst @@ -1 +1 @@ -Adds smart button in product form view linking to manufacturing order list. \ No newline at end of file +Adds smart button in product form view linking to manufacturing order list. diff --git a/product_mrp_info/readme/USAGE.rst b/product_mrp_info/readme/USAGE.rst index 80351dbae..48b9527d0 100644 --- a/product_mrp_info/readme/USAGE.rst +++ b/product_mrp_info/readme/USAGE.rst @@ -1,3 +1,3 @@ Go to a product form and on the smart buttons you will se a new one, *MO's*, click on it to access to a list of all the manufacturing Orders for that -product. \ No newline at end of file +product. diff --git a/product_mrp_info/static/description/index.html b/product_mrp_info/static/description/index.html index 2c5da40d4..75f5228e0 100644 --- a/product_mrp_info/static/description/index.html +++ b/product_mrp_info/static/description/index.html @@ -367,7 +367,7 @@ ul.auto-toc { !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --> -

Beta License: LGPL-3 OCA/manufacture Translate me on Weblate Try me on Runbot

+

Beta License: LGPL-3 OCA/manufacture Translate me on Weblate Try me on Runbot

Adds smart button in product form view linking to manufacturing order list.

Table of contents

@@ -393,7 +393,7 @@ product.

Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us smashing it by providing a detailed and welcomed -feedback.

+feedback.

Do not contact contributors directly about support or help with technical issues.

@@ -401,13 +401,14 @@ If you spotted it first, help us smashing it by providing a detailed and welcome

Authors

    -
  • Eficent
  • +
  • ForgeFlow
@@ -418,8 +419,8 @@ If you spotted it first, help us smashing it by providing a detailed and welcome mission is to support the collaborative development of Odoo features and promote its widespread use.

Current maintainer:

-

lreficent

-

This module is part of the OCA/manufacture project on GitHub.

+

LoisRForgeFlow

+

This module is part of the OCA/manufacture project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

diff --git a/product_mrp_info/tests/test_product_mrp_info.py b/product_mrp_info/tests/test_product_mrp_info.py index 66582e5bd..e9974527c 100644 --- a/product_mrp_info/tests/test_product_mrp_info.py +++ b/product_mrp_info/tests/test_product_mrp_info.py @@ -1,11 +1,10 @@ -# Copyright 2019 Eficent Business and IT Consulting Services, S.L. +# Copyright 2019 ForgeFlow S.L. # License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html). from odoo.tests.common import TransactionCase class TestProductMrpInfo(TransactionCase): - def setUp(self): super().setUp() self.pt_obj = self.env["product.template"] @@ -14,57 +13,66 @@ class TestProductMrpInfo(TransactionCase): self.bom_obj = self.env["mrp.bom"] self.boml_obj = self.env["mrp.bom.line"] - self.manufacture_route = self.env.ref( - "mrp.route_warehouse0_manufacture") + self.manufacture_route = self.env.ref("mrp.route_warehouse0_manufacture") - self.attribute = self.env["product.attribute"].create({ - "name": "Test Attribute", - "create_variant": "always", - }) - self.value1 = self.env["product.attribute.value"].create({ - "name": "Value 1", - "attribute_id": self.attribute.id, - }) - self.value2 = self.env["product.attribute.value"].create({ - "name": "Value 2", - "attribute_id": self.attribute.id, - }) - self.product = self.pt_obj.create({ - "name": "Test Template", - "attribute_line_ids": [(0, 0, { - "attribute_id": self.attribute.id, - "value_ids": [(6, 0, [self.value1.id, self.value2.id])] - })], - "route_ids": [(6, 0, self.manufacture_route.ids)], - }) + self.attribute = self.env["product.attribute"].create( + {"name": "Test Attribute", "create_variant": "always"} + ) + self.value1 = self.env["product.attribute.value"].create( + {"name": "Value 1", "attribute_id": self.attribute.id} + ) + self.value2 = self.env["product.attribute.value"].create( + {"name": "Value 2", "attribute_id": self.attribute.id} + ) + self.product = self.pt_obj.create( + { + "name": "Test Template", + "attribute_line_ids": [ + ( + 0, + 0, + { + "attribute_id": self.attribute.id, + "value_ids": [(6, 0, [self.value1.id, self.value2.id])], + }, + ) + ], + "route_ids": [(6, 0, self.manufacture_route.ids)], + } + ) self.variant_1 = self.product.product_variant_ids[0] self.variant_2 = self.product.product_variant_ids[1] - self.bom = self.bom_obj.create({ - "product_tmpl_id": self.product.id, - "product_qty": 1.0, - }) + self.bom = self.bom_obj.create( + {"product_tmpl_id": self.product.id, "product_qty": 1.0} + ) # Create 3 MO's - self.mo_1 = self.mo_obj.create({ - "name": "MO ABC", - "product_id": self.variant_1.id, - "product_uom_id": self.variant_1.uom_id.id, - "product_qty": 2, - "bom_id": self.bom.id, - }) - self.mo_2 = self.mo_obj.create({ - "name": "MO XYZ", - "product_id": self.variant_1.id, - "product_uom_id": self.variant_1.uom_id.id, - "product_qty": 3, - "bom_id": self.bom.id, - }) - self.mo_3 = self.mo_obj.create({ - "name": "MO QWE", - "product_id": self.variant_2.id, - "product_uom_id": self.variant_2.uom_id.id, - "product_qty": 6, - "bom_id": self.bom.id, - }) + self.mo_1 = self.mo_obj.create( + { + "name": "MO ABC", + "product_id": self.variant_1.id, + "product_uom_id": self.variant_1.uom_id.id, + "product_qty": 2, + "bom_id": self.bom.id, + } + ) + self.mo_2 = self.mo_obj.create( + { + "name": "MO XYZ", + "product_id": self.variant_1.id, + "product_uom_id": self.variant_1.uom_id.id, + "product_qty": 3, + "bom_id": self.bom.id, + } + ) + self.mo_3 = self.mo_obj.create( + { + "name": "MO QWE", + "product_id": self.variant_2.id, + "product_uom_id": self.variant_2.uom_id.id, + "product_qty": 6, + "bom_id": self.bom.id, + } + ) def test_01_mo_counters(self): self.assertEqual(len(self.product.product_variant_ids), 2) diff --git a/product_mrp_info/views/product_views.xml b/product_mrp_info/views/product_views.xml index 0f883b6cf..094efe5bd 100644 --- a/product_mrp_info/views/product_views.xml +++ b/product_mrp_info/views/product_views.xml @@ -1,20 +1,25 @@ - + product.template - product_mrp_info product.template - - + + - - + @@ -22,16 +27,21 @@ product.product - product_mrp_info product.product - - + + - - +