From 6eb561e1c316719fccdf7d9f25f875688f6eb8b7 Mon Sep 17 00:00:00 2001 From: Christopher Ormaza Date: Fri, 10 Dec 2021 11:29:07 -0500 Subject: [PATCH] [15.0][MIG] mrp_multi_level --- mrp_multi_level/README.rst | 5 +- mrp_multi_level/__manifest__.py | 6 +- mrp_multi_level/demo/initial_on_hand_demo.xml | 57 ++++++++++--------- mrp_multi_level/models/mrp_inventory.py | 12 ++-- mrp_multi_level/models/mrp_move.py | 5 +- mrp_multi_level/models/mrp_planned_order.py | 1 - mrp_multi_level/models/product_mrp_area.py | 3 +- mrp_multi_level/readme/CONTRIBUTORS.rst | 1 + mrp_multi_level/tests/common.py | 4 +- mrp_multi_level/tests/test_mrp_multi_level.py | 8 +-- mrp_multi_level/views/mrp_area_views.xml | 2 +- mrp_multi_level/views/mrp_inventory_views.xml | 2 +- .../views/product_mrp_area_views.xml | 2 +- .../wizards/mrp_inventory_procure.py | 7 +-- .../wizards/mrp_inventory_procure_views.xml | 2 +- mrp_multi_level/wizards/mrp_multi_level.py | 6 +- 16 files changed, 59 insertions(+), 64 deletions(-) diff --git a/mrp_multi_level/README.rst b/mrp_multi_level/README.rst index 79e9c2653..234e9897f 100644 --- a/mrp_multi_level/README.rst +++ b/mrp_multi_level/README.rst @@ -23,7 +23,7 @@ MRP Multi Level :target: https://runbot.odoo-community.org/runbot/129/14.0 :alt: Try me on Runbot -|badge1| |badge2| |badge3| |badge4| |badge5| +|badge1| |badge2| |badge3| |badge4| |badge5| This module allows you to calculate, based in known inventory, demand, and supply, and based on parameters set at product variant level, the new @@ -226,6 +226,7 @@ Contributors * Jordi Ballester * Lois Rilo * Héctor Villarreal +* Christopher Ormaza Maintainers ~~~~~~~~~~~ @@ -249,7 +250,7 @@ promote its widespread use. Current `maintainers `__: -|maintainer-JordiBForgeFlow| |maintainer-LoisRForgeFlow| +|maintainer-JordiBForgeFlow| |maintainer-LoisRForgeFlow| This module is part of the `OCA/manufacture `_ project on GitHub. diff --git a/mrp_multi_level/__manifest__.py b/mrp_multi_level/__manifest__.py index 18883da5c..4a71a3478 100644 --- a/mrp_multi_level/__manifest__.py +++ b/mrp_multi_level/__manifest__.py @@ -1,14 +1,14 @@ # Copyright 2016 Ucamco - Wim Audenaert -# Copyright 2016-19 ForgeFlow S.L. (https://www.forgeflow.com) +# Copyright 2016-21 ForgeFlow S.L. (https://www.forgeflow.com) # License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html). { "name": "MRP Multi Level", - "version": "14.0.1.3.0", + "version": "15.0.1.0.0", "development_status": "Production/Stable", "license": "LGPL-3", "author": "Ucamco, ForgeFlow, Odoo Community Association (OCA)", - "maintainers": ["JordiBForgeFlow", "LoisRForgeFlow"], + "maintainers": ["JordiBForgeFlow", "LoisRForgeFlow", "ChrisOForgeFlow"], "summary": "Adds an MRP Scheduler", "website": "https://github.com/OCA/manufacture", "category": "Manufacturing", diff --git a/mrp_multi_level/demo/initial_on_hand_demo.xml b/mrp_multi_level/demo/initial_on_hand_demo.xml index 912138931..2cf9a7c8e 100644 --- a/mrp_multi_level/demo/initial_on_hand_demo.xml +++ b/mrp_multi_level/demo/initial_on_hand_demo.xml @@ -1,41 +1,42 @@ - - Starting On-hand for MRP demo - - + - - 10 - + 10 + - + - - 20 - + 20 + - + - - 15 - + 15 + - - + - - - - - + diff --git a/mrp_multi_level/models/mrp_inventory.py b/mrp_multi_level/models/mrp_inventory.py index 8ba9d26c4..4621a8351 100644 --- a/mrp_multi_level/models/mrp_inventory.py +++ b/mrp_multi_level/models/mrp_inventory.py @@ -45,21 +45,17 @@ class MrpInventory(models.Model): uom_id = fields.Many2one( comodel_name="uom.uom", string="Product UoM", compute="_compute_uom_id" ) - date = fields.Date(string="Date") + date = fields.Date() demand_qty = fields.Float(string="Demand") supply_qty = fields.Float(string="Supply") initial_on_hand_qty = fields.Float(string="Starting Inventory") final_on_hand_qty = fields.Float(string="Forecasted Inventory") - to_procure = fields.Float( - string="To procure", compute="_compute_to_procure", store=True - ) + to_procure = fields.Float(compute="_compute_to_procure", store=True) running_availability = fields.Float( string="Planned Availability", - help="Theoretical inventory level if all planned orders" "were released.", - ) - order_release_date = fields.Date( - string="Order Release Date", compute="_compute_order_release_date", store=True + help="Theoretical inventory level if all planned orders were released.", ) + order_release_date = fields.Date(compute="_compute_order_release_date", store=True) planned_order_ids = fields.One2many( comodel_name="mrp.planned.order", inverse_name="mrp_inventory_id", readonly=True ) diff --git a/mrp_multi_level/models/mrp_move.py b/mrp_multi_level/models/mrp_move.py index 0345e9280..a4f253a88 100644 --- a/mrp_multi_level/models/mrp_move.py +++ b/mrp_multi_level/models/mrp_move.py @@ -37,8 +37,8 @@ class MrpMove(models.Model): store=True, ) - current_date = fields.Date(string="Current Date") - current_qty = fields.Float(string="Current Qty") + current_date = fields.Date() + current_qty = fields.Float() mrp_date = fields.Date(string="MRP Date") planned_order_up_ids = fields.Many2many( comodel_name="mrp.planned.order", @@ -87,7 +87,6 @@ class MrpMove(models.Model): ("to approve", "To Approve"), ("approved", "Approved"), ], - string="State", ) stock_move_id = fields.Many2one( comodel_name="stock.move", string="Stock Move", index=True diff --git a/mrp_multi_level/models/mrp_planned_order.py b/mrp_multi_level/models/mrp_planned_order.py index 2685f53e2..e90876dcd 100644 --- a/mrp_multi_level/models/mrp_planned_order.py +++ b/mrp_multi_level/models/mrp_planned_order.py @@ -42,7 +42,6 @@ class MrpPlannedOrder(models.Model): string="Release Date", help="Order release date planned by MRP.", required=True ) due_date = fields.Date( - string="Due Date", help="Date in which the supply must have been completed.", required=True, ) diff --git a/mrp_multi_level/models/product_mrp_area.py b/mrp_multi_level/models/product_mrp_area.py index b42d123f5..099069a8a 100644 --- a/mrp_multi_level/models/product_mrp_area.py +++ b/mrp_multi_level/models/product_mrp_area.py @@ -82,7 +82,6 @@ class ProductMRPArea(models.Model): ("push", "Push To"), ("pull_push", "Pull & Push"), ], - string="Supply Method", compute="_compute_supply_method", ) qty_available = fields.Float( @@ -170,7 +169,7 @@ class ProductMRPArea(models.Model): def _compute_qty_available(self): for rec in self: rec.qty_available = rec.product_id.with_context( - {"location": rec.mrp_area_id.location_id.id} + location=rec.mrp_area_id.location_id.id ).qty_available def _compute_supply_method(self): diff --git a/mrp_multi_level/readme/CONTRIBUTORS.rst b/mrp_multi_level/readme/CONTRIBUTORS.rst index 8c327e8ca..025ca73b1 100644 --- a/mrp_multi_level/readme/CONTRIBUTORS.rst +++ b/mrp_multi_level/readme/CONTRIBUTORS.rst @@ -2,3 +2,4 @@ * Jordi Ballester * Lois Rilo * Héctor Villarreal +* Christopher Ormaza diff --git a/mrp_multi_level/tests/common.py b/mrp_multi_level/tests/common.py index 1838a331f..28096127b 100644 --- a/mrp_multi_level/tests/common.py +++ b/mrp_multi_level/tests/common.py @@ -4,10 +4,10 @@ from datetime import datetime, timedelta from odoo.tests import Form -from odoo.tests.common import SavepointCase +from odoo.tests.common import TransactionCase -class TestMrpMultiLevelCommon(SavepointCase): +class TestMrpMultiLevelCommon(TransactionCase): @classmethod def setUpClass(cls): super().setUpClass() diff --git a/mrp_multi_level/tests/test_mrp_multi_level.py b/mrp_multi_level/tests/test_mrp_multi_level.py index a0ab39d9b..6fcf1256a 100644 --- a/mrp_multi_level/tests/test_mrp_multi_level.py +++ b/mrp_multi_level/tests/test_mrp_multi_level.py @@ -212,11 +212,9 @@ class TestMrpMultiLevel(TestMrpMultiLevelCommon): [("product_mrp_area_id.product_id", "=", self.fp_1.id)] ) self.mrp_inventory_procure_wiz.with_context( - { - "active_model": "mrp.inventory", - "active_ids": mrp_inv.ids, - "active_id": mrp_inv.id, - } + active_model="mrp.inventory", + active_ids=mrp_inv.ids, + active_id=mrp_inv.id, ).create({}).make_procurement() mos = self.mo_obj.search([("product_id", "=", self.fp_1.id)]) self.assertTrue(mos) diff --git a/mrp_multi_level/views/mrp_area_views.xml b/mrp_multi_level/views/mrp_area_views.xml index 308f3087e..a319a89be 100644 --- a/mrp_multi_level/views/mrp_area_views.xml +++ b/mrp_multi_level/views/mrp_area_views.xml @@ -5,7 +5,7 @@ mrp.area tree - + diff --git a/mrp_multi_level/views/mrp_inventory_views.xml b/mrp_multi_level/views/mrp_inventory_views.xml index 39b926ef3..ecb0e9a3d 100644 --- a/mrp_multi_level/views/mrp_inventory_views.xml +++ b/mrp_multi_level/views/mrp_inventory_views.xml @@ -41,7 +41,7 @@ mrp.inventory tree - + diff --git a/mrp_multi_level/views/product_mrp_area_views.xml b/mrp_multi_level/views/product_mrp_area_views.xml index e320d0cd4..d1c52d0a0 100644 --- a/mrp_multi_level/views/product_mrp_area_views.xml +++ b/mrp_multi_level/views/product_mrp_area_views.xml @@ -5,7 +5,7 @@ product.mrp.area tree - + diff --git a/mrp_multi_level/wizards/mrp_inventory_procure.py b/mrp_multi_level/wizards/mrp_inventory_procure.py index ca84349ed..3eff433ff 100644 --- a/mrp_multi_level/wizards/mrp_inventory_procure.py +++ b/mrp_multi_level/wizards/mrp_inventory_procure.py @@ -1,4 +1,4 @@ -# Copyright 2018-19 ForgeFlow S.L. (https://www.forgeflow.com) +# Copyright 2018-21 ForgeFlow S.L. (https://www.forgeflow.com) # License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html). from odoo import _, api, fields, models @@ -34,11 +34,11 @@ class MrpInventoryProcure(models.TransientModel): ): if self.user_has_groups("mrp_multi_level.group_change_mrp_procure_qty"): view_id = self.env.ref( - "mrp_multi_level." "view_mrp_inventory_procure_wizard" + "mrp_multi_level.view_mrp_inventory_procure_wizard" ).id else: view_id = self.env.ref( - "mrp_multi_level." "view_mrp_inventory_procure_without_security" + "mrp_multi_level.view_mrp_inventory_procure_without_security" ).id return super(MrpInventoryProcure, self).fields_view_get( view_id=view_id, view_type=view_type, toolbar=toolbar, submenu=submenu @@ -122,7 +122,6 @@ class MrpInventoryProcureItem(models.TransientModel): warehouse_id = fields.Many2one(string="Warehouse", comodel_name="stock.warehouse") location_id = fields.Many2one(string="Location", comodel_name="stock.location") supply_method = fields.Selection( - string="Supply Method", selection=[ ("buy", "Buy"), ("none", "Undefined"), diff --git a/mrp_multi_level/wizards/mrp_inventory_procure_views.xml b/mrp_multi_level/wizards/mrp_inventory_procure_views.xml index d64dc18d0..0467530eb 100644 --- a/mrp_multi_level/wizards/mrp_inventory_procure_views.xml +++ b/mrp_multi_level/wizards/mrp_inventory_procure_views.xml @@ -14,7 +14,7 @@

- +