From 2831e7c056952944de04e92e90224a76350c2819 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 | 9 +- product_mrp_info/__manifest__.py | 18 ++- 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 | 5 +- .../tests/test_product_mrp_info.py | 106 ++++++++++-------- product_mrp_info/views/product_views.xml | 42 ++++--- .../odoo/addons/product_mrp_info | 1 + setup/product_mrp_info/setup.py | 6 + 11 files changed, 125 insertions(+), 102 deletions(-) create mode 120000 setup/product_mrp_info/odoo/addons/product_mrp_info create mode 100644 setup/product_mrp_info/setup.py diff --git a/product_mrp_info/README.rst b/product_mrp_info/README.rst index 0a8445c7b..8c027bf69 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| @@ -61,6 +61,7 @@ Contributors ~~~~~~~~~~~~ * Lois Rilo +* Sudhir Arya Maintainers ~~~~~~~~~~~ @@ -83,6 +84,6 @@ Current `maintainer `__: |maintainer-lreficent| -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/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..05680bfe6 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

@@ -408,6 +408,7 @@ If you spotted it first, help us smashing it by providing a detailed and welcome

Contributors

@@ -419,7 +420,7 @@ 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.

+

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 - - + + - - + diff --git a/setup/product_mrp_info/odoo/addons/product_mrp_info b/setup/product_mrp_info/odoo/addons/product_mrp_info new file mode 120000 index 000000000..9bb8d4565 --- /dev/null +++ b/setup/product_mrp_info/odoo/addons/product_mrp_info @@ -0,0 +1 @@ +../../../../product_mrp_info \ No newline at end of file diff --git a/setup/product_mrp_info/setup.py b/setup/product_mrp_info/setup.py new file mode 100644 index 000000000..28c57bb64 --- /dev/null +++ b/setup/product_mrp_info/setup.py @@ -0,0 +1,6 @@ +import setuptools + +setuptools.setup( + setup_requires=['setuptools-odoo'], + odoo_addon=True, +)