From 7714a67653724a83d7958e55e3af1696308dec54 Mon Sep 17 00:00:00 2001 From: Joan Sisquella Date: Tue, 7 Jan 2020 11:51:55 +0100 Subject: [PATCH] [IMP] mrp_bom_tracking: black, isort --- mrp_bom_tracking/__manifest__.py | 8 +- mrp_bom_tracking/models/mrp_bom.py | 84 +++++++------------ .../tests/test_mrp_bom_tracking.py | 52 ++++-------- 3 files changed, 52 insertions(+), 92 deletions(-) diff --git a/mrp_bom_tracking/__manifest__.py b/mrp_bom_tracking/__manifest__.py index 761ef5863..b6cd5c0bd 100644 --- a/mrp_bom_tracking/__manifest__.py +++ b/mrp_bom_tracking/__manifest__.py @@ -8,12 +8,8 @@ "summary": "Logs any change to a BoM in the chatter", "website": "https://github.com/OCA/manufacture", "category": "Manufacturing", - "depends": [ - "mrp", - ], - "data": [ - "views/bom_template.xml", - ], + "depends": ["mrp"], + "data": ["views/bom_template.xml"], "license": "LGPL-3", "installable": True, } diff --git a/mrp_bom_tracking/models/mrp_bom.py b/mrp_bom_tracking/models/mrp_bom.py index c600522a6..221cf5b02 100644 --- a/mrp_bom_tracking/models/mrp_bom.py +++ b/mrp_bom_tracking/models/mrp_bom.py @@ -7,54 +7,40 @@ from odoo import api, fields, models class MrpBom(models.Model): _inherit = "mrp.bom" - code = fields.Char( - track_visibility="onchange", - ) - product_tmpl_id = fields.Many2one( - track_visibility="always", - ) - product_qty = fields.Float( - track_visibility="onchange", - ) - picking_type_id = fields.Many2one( - track_visibility="onchange", - ) - type = fields.Selection( - track_visibility="onchange", - ) + code = fields.Char(track_visibility="onchange") + product_tmpl_id = fields.Many2one(track_visibility="always") + product_qty = fields.Float(track_visibility="onchange") + picking_type_id = fields.Many2one(track_visibility="onchange") + type = fields.Selection(track_visibility="onchange") @api.multi def write(self, values): bom_line_ids = {} - if 'bom_line_ids' in values: + if "bom_line_ids" in values: for bom in self: del_lines = [] - for line in values['bom_line_ids']: + for line in values["bom_line_ids"]: if line[0] == 2: del_lines.append(line[1]) if del_lines: bom.message_post_with_view( - 'mrp_bom_tracking.track_bom_template', + "mrp_bom_tracking.track_bom_template", values={ - 'lines': self.env["mrp.bom.line"].browse( - del_lines), - 'mode': 'Removed', + "lines": self.env["mrp.bom.line"].browse(del_lines), + "mode": "Removed", }, - subtype_id=self.env.ref('mail.mt_note').id, + subtype_id=self.env.ref("mail.mt_note").id, ) bom_line_ids[bom.id] = bom.bom_line_ids res = super(MrpBom, self).write(values) - if 'bom_line_ids' in values: + if "bom_line_ids" in values: for bom in self: new_lines = bom.bom_line_ids - bom_line_ids[bom.id] if new_lines: bom.message_post_with_view( - 'mrp_bom_tracking.track_bom_template', - values={ - 'lines': new_lines, - 'mode': 'New', - }, - subtype_id=self.env.ref('mail.mt_note').id, + "mrp_bom_tracking.track_bom_template", + values={"lines": new_lines, "mode": "New"}, + subtype_id=self.env.ref("mail.mt_note").id, ) return res @@ -64,41 +50,35 @@ class MrpBomLine(models.Model): @api.multi def write(self, values): - if 'product_id' in values: - for bom in self.mapped('bom_id'): + if "product_id" in values: + for bom in self.mapped("bom_id"): lines = self.filtered(lambda l: l.bom_id == bom) - product_id = values.get('product_id') + product_id = values.get("product_id") if product_id: - product_id = self.env["product.product"].browse( - product_id) + product_id = self.env["product.product"].browse(product_id) product_id = product_id or lines.product_id if lines: bom.message_post_with_view( - 'mrp_bom_tracking.track_bom_template_2', - values={ - 'lines': lines, - 'product_id': product_id, - }, - subtype_id=self.env.ref('mail.mt_note').id, + "mrp_bom_tracking.track_bom_template_2", + values={"lines": lines, "product_id": product_id}, + subtype_id=self.env.ref("mail.mt_note").id, ) - elif 'product_qty' in values or 'product_uom_id' in values: - for bom in self.mapped('bom_id'): + elif "product_qty" in values or "product_uom_id" in values: + for bom in self.mapped("bom_id"): lines = self.filtered(lambda l: l.bom_id == bom) if lines: - product_qty = values.get( - 'product_qty') or lines.product_qty - product_uom_id = values.get('product_uom_id') + product_qty = values.get("product_qty") or lines.product_qty + product_uom_id = values.get("product_uom_id") if product_uom_id: - product_uom_id = self.env["product.uom"].browse( - product_uom_id) + product_uom_id = self.env["product.uom"].browse(product_uom_id) product_uom_id = product_uom_id or lines.product_uom_id bom.message_post_with_view( - 'mrp_bom_tracking.track_bom_line_template', + "mrp_bom_tracking.track_bom_line_template", values={ - 'lines': lines, - 'product_qty': product_qty, - 'product_uom_id': product_uom_id, + "lines": lines, + "product_qty": product_qty, + "product_uom_id": product_uom_id, }, - subtype_id=self.env.ref('mail.mt_note').id, + subtype_id=self.env.ref("mail.mt_note").id, ) return super(MrpBomLine, self).write(values) diff --git a/mrp_bom_tracking/tests/test_mrp_bom_tracking.py b/mrp_bom_tracking/tests/test_mrp_bom_tracking.py index b1ca64340..163ab1757 100644 --- a/mrp_bom_tracking/tests/test_mrp_bom_tracking.py +++ b/mrp_bom_tracking/tests/test_mrp_bom_tracking.py @@ -6,49 +6,33 @@ from odoo.tests import common class TestBomTracking(common.SavepointCase): - @classmethod def setUpClass(cls): super().setUpClass() - cls.product_obj = cls.env['product.product'] - cls.bom_obj = cls.env['mrp.bom'] - cls.bom_line_obj = cls.env['mrp.bom.line'] + cls.product_obj = cls.env["product.product"] + cls.bom_obj = cls.env["mrp.bom"] + cls.bom_line_obj = cls.env["mrp.bom.line"] # Create products: - cls.product_1 = cls.product_obj.create({ - 'name': 'TEST 01', - 'type': 'product', - }) + cls.product_1 = cls.product_obj.create({"name": "TEST 01", "type": "product"}) - cls.component_1 = cls.product_obj.create({ - 'name': 'RM 01', - 'type': 'product', - }) - cls.component_2 = cls.product_obj.create({ - 'name': 'RM 02', - 'type': 'product', - }) - cls.component_2_alt = cls.product_obj.create({ - 'name': 'RM 02-B', - 'type': 'product', - }) + cls.component_1 = cls.product_obj.create({"name": "RM 01", "type": "product"}) + cls.component_2 = cls.product_obj.create({"name": "RM 02", "type": "product"}) + cls.component_2_alt = cls.product_obj.create( + {"name": "RM 02-B", "type": "product"} + ) # Create Bills of Materials: - cls.bom = cls.bom_obj.create({ - 'product_tmpl_id': cls.product_1.product_tmpl_id.id, - - }) - cls.line_1 = cls.bom_line_obj.create({ - 'product_id': cls.component_1.id, - 'bom_id': cls.bom.id, - 'product_qty': 2.0, - }) - cls.line_2 = cls.bom_line_obj.create({ - 'product_id': cls.component_2.id, - 'bom_id': cls.bom.id, - 'product_qty': 5.0, - }) + cls.bom = cls.bom_obj.create( + {"product_tmpl_id": cls.product_1.product_tmpl_id.id} + ) + cls.line_1 = cls.bom_line_obj.create( + {"product_id": cls.component_1.id, "bom_id": cls.bom.id, "product_qty": 2.0} + ) + cls.line_2 = cls.bom_line_obj.create( + {"product_id": cls.component_2.id, "bom_id": cls.bom.id, "product_qty": 5.0} + ) def test_01_change_bom_line_qty(self): before = self.bom.message_ids