From 5ab30d21297afd725ebb113189d0bfd497c84cf3 Mon Sep 17 00:00:00 2001 From: Unai Beristain Date: Mon, 17 Feb 2025 16:56:33 +0100 Subject: [PATCH 1/2] [IMP] mrp_bom_line_product_brand_info: Improve wrong commit error --- .../__manifest__.py | 1 + mrp_bom_line_product_brand_info/i18n/es.po | 43 ++------------ .../i18n/mrp_bom_line_product_brand_info.pot | 39 ++----------- .../models/mrp_bom_line.py | 56 ++++++++++++------- .../report/mrp_bom_report.xml | 38 +++---------- .../views/mrp_bom_line_views.xml | 8 +-- .../views/mrp_bom_views.xml | 8 +-- 7 files changed, 61 insertions(+), 132 deletions(-) diff --git a/mrp_bom_line_product_brand_info/__manifest__.py b/mrp_bom_line_product_brand_info/__manifest__.py index 34831d1c4..047ebe04e 100644 --- a/mrp_bom_line_product_brand_info/__manifest__.py +++ b/mrp_bom_line_product_brand_info/__manifest__.py @@ -9,6 +9,7 @@ "license": "AGPL-3", "website": "https://github.com/avanzosc/mrp-addons", "depends": [ + "mrp", "mrp_bom_report", "product_brand_supplierinfo", ], diff --git a/mrp_bom_line_product_brand_info/i18n/es.po b/mrp_bom_line_product_brand_info/i18n/es.po index 41cda476f..88756ae9e 100644 --- a/mrp_bom_line_product_brand_info/i18n/es.po +++ b/mrp_bom_line_product_brand_info/i18n/es.po @@ -6,8 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 16.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-12-17 12:33+0000\n" -"PO-Revision-Date: 2024-12-17 12:33+0000\n" +"POT-Creation-Date: 2024-06-03 08:34+0000\n" +"PO-Revision-Date: 2024-06-03 08:34+0000\n" "Last-Translator: \n" "Language-Team: \n" "MIME-Version: 1.0\n" @@ -20,43 +20,12 @@ msgstr "" msgid "Bill of Material Line" msgstr "Línea de Lista de Materiales" -#. module: mrp_bom_line_product_brand_info -#: model:ir.model.fields,field_description:mrp_bom_line_product_brand_info.field_mrp_bom_line__markings -msgid "Brand" -msgstr "Marcas" - #. module: mrp_bom_line_product_brand_info #: model:ir.model.fields,field_description:mrp_bom_line_product_brand_info.field_mrp_bom_line__manufacturer_codes -msgid "Brand Code" +msgid "Manufacturer codes" msgstr "Códigos fabricación" #. module: mrp_bom_line_product_brand_info -#: model:ir.model.fields,field_description:mrp_bom_line_product_brand_info.field_mrp_bom_line__seller_id -msgid "Seller" -msgstr "Tarifa de proveedor" - -#. module: mrp_bom_line_product_brand_info -#: model:ir.model.fields,help:mrp_bom_line_product_brand_info.field_mrp_bom_line__product_code -msgid "" -"This vendor's product code will be used when printing a request for " -"quotation. Keep empty to use the internal one." -msgstr "" -"El código de producto de este proveedor se utilizará al imprimir " -"una solicitud de presupuesto. Mantener vacío para utilizar el interno." -#. module: mrp_bom_line_product_brand_info -#: model:ir.model.fields,help:mrp_bom_line_product_brand_info.field_mrp_bom_line__product_name -msgid "" -"This vendor's product name will be used when printing a request for " -"quotation. Keep empty to use the internal one." -msgstr "" -"El nombre de producto de este proveedor se utilizará al imprimir " -"una solicitud de presupuesto. Mantener vacío para utilizar el interno." -#. module: mrp_bom_line_product_brand_info -#: model:ir.model.fields,field_description:mrp_bom_line_product_brand_info.field_mrp_bom_line__product_code -msgid "Vendor Product Code" -msgstr "Código producto proveedor" - -#. module: mrp_bom_line_product_brand_info -#: model:ir.model.fields,field_description:mrp_bom_line_product_brand_info.field_mrp_bom_line__product_name -msgid "Vendor Product Name" -msgstr "Nombre producto proveedor" +#: model:ir.model.fields,field_description:mrp_bom_line_product_brand_info.field_mrp_bom_line__markings +msgid "Markings" +msgstr "Marcas" diff --git a/mrp_bom_line_product_brand_info/i18n/mrp_bom_line_product_brand_info.pot b/mrp_bom_line_product_brand_info/i18n/mrp_bom_line_product_brand_info.pot index 9d2b07685..586bb6a22 100644 --- a/mrp_bom_line_product_brand_info/i18n/mrp_bom_line_product_brand_info.pot +++ b/mrp_bom_line_product_brand_info/i18n/mrp_bom_line_product_brand_info.pot @@ -6,8 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 16.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-12-17 12:33+0000\n" -"PO-Revision-Date: 2024-12-17 12:33+0000\n" +"POT-Creation-Date: 2024-06-03 08:34+0000\n" +"PO-Revision-Date: 2024-06-03 08:34+0000\n" "Last-Translator: \n" "Language-Team: \n" "MIME-Version: 1.0\n" @@ -20,41 +20,12 @@ msgstr "" msgid "Bill of Material Line" msgstr "" -#. module: mrp_bom_line_product_brand_info -#: model:ir.model.fields,field_description:mrp_bom_line_product_brand_info.field_mrp_bom_line__markings -msgid "Brand" -msgstr "" - #. module: mrp_bom_line_product_brand_info #: model:ir.model.fields,field_description:mrp_bom_line_product_brand_info.field_mrp_bom_line__manufacturer_codes -msgid "Brand Code" -msgstr "" - -#. module: mrp_bom_line_product_brand_info -#: model:ir.model.fields,field_description:mrp_bom_line_product_brand_info.field_mrp_bom_line__seller_id -msgid "Seller" +msgid "Manufacturer codes" msgstr "" #. module: mrp_bom_line_product_brand_info -#: model:ir.model.fields,help:mrp_bom_line_product_brand_info.field_mrp_bom_line__product_code -msgid "" -"This vendor's product code will be used when printing a request for " -"quotation. Keep empty to use the internal one." -msgstr "" - -#. module: mrp_bom_line_product_brand_info -#: model:ir.model.fields,help:mrp_bom_line_product_brand_info.field_mrp_bom_line__product_name -msgid "" -"This vendor's product name will be used when printing a request for " -"quotation. Keep empty to use the internal one." -msgstr "" - -#. module: mrp_bom_line_product_brand_info -#: model:ir.model.fields,field_description:mrp_bom_line_product_brand_info.field_mrp_bom_line__product_code -msgid "Vendor Product Code" -msgstr "" - -#. module: mrp_bom_line_product_brand_info -#: model:ir.model.fields,field_description:mrp_bom_line_product_brand_info.field_mrp_bom_line__product_name -msgid "Vendor Product Name" +#: model:ir.model.fields,field_description:mrp_bom_line_product_brand_info.field_mrp_bom_line__markings +msgid "Markings" msgstr "" diff --git a/mrp_bom_line_product_brand_info/models/mrp_bom_line.py b/mrp_bom_line_product_brand_info/models/mrp_bom_line.py index c1af298b3..5415fd229 100644 --- a/mrp_bom_line_product_brand_info/models/mrp_bom_line.py +++ b/mrp_bom_line_product_brand_info/models/mrp_bom_line.py @@ -6,23 +6,41 @@ class MrpBomLine(models.Model): _inherit = "mrp.bom.line" - seller_id = fields.Many2one( - comodel_name="product.supplierinfo", - domain="['|', ('product_id', '=', product_id), '&', " - "('product_tmpl_id', '=', product_tmpl_id), " - "('product_id', '=', False)]", - ) - product_name = fields.Char( - related="seller_id.product_name", - store=True, - ) - product_code = fields.Char( - related="seller_id.product_code", - store=True, - ) - manufacturer_codes = fields.Char(related="seller_id.brand_code", store=True) - markings = fields.Many2one( - comodel_name="product.brand", - related="seller_id.product_brand_id", - store=True, + manufacturer_codes = fields.Text( + string="Manufacturer codes", compute="_compute_product_brand_info" ) + markings = fields.Text(compute="_compute_product_brand_info") + + def _compute_product_brand_info(self): + for line in self.filtered(lambda c: c.product_tmpl_id): + texto = "" + markings = "" + for seller in line.product_tmpl_id.seller_ids: + partner_name = seller.partner_id.name + code = ( + "" + if not seller.product_brand_id.code + else seller.product_brand_id.code + ) + marking = ( + "" + if not seller.product_brand_id.marking + else seller.product_brand_id.marking + ) + if not texto: + texto = "{}: {} - {}".format(partner_name, code, marking) + else: + texto = "{} // {}: {} - {}".format( + texto, partner_name, code, marking + ) + if not markings: + markings = "{}: {}".format(partner_name, marking) + else: + markings = "{} // {}: {}".format(markings, partner_name, marking) + line.manufacturer_codes = texto + line.markings = markings + + def get_datas_to_print_bom(self): + result = super().get_datas_to_print_bom() + result["manufacturer_codes"] = self.manufacturer_codes + return result diff --git a/mrp_bom_line_product_brand_info/report/mrp_bom_report.xml b/mrp_bom_line_product_brand_info/report/mrp_bom_report.xml index c312856e4..a7862b05e 100644 --- a/mrp_bom_line_product_brand_info/report/mrp_bom_report.xml +++ b/mrp_bom_line_product_brand_info/report/mrp_bom_report.xml @@ -1,36 +1,14 @@ - + + +
+ + +
+
diff --git a/mrp_bom_line_product_brand_info/views/mrp_bom_line_views.xml b/mrp_bom_line_product_brand_info/views/mrp_bom_line_views.xml index 06c751109..d19f2956f 100644 --- a/mrp_bom_line_product_brand_info/views/mrp_bom_line_views.xml +++ b/mrp_bom_line_product_brand_info/views/mrp_bom_line_views.xml @@ -5,12 +5,8 @@ - - - - - - + + diff --git a/mrp_bom_line_product_brand_info/views/mrp_bom_views.xml b/mrp_bom_line_product_brand_info/views/mrp_bom_views.xml index 893ad8346..d93c2eb2a 100644 --- a/mrp_bom_line_product_brand_info/views/mrp_bom_views.xml +++ b/mrp_bom_line_product_brand_info/views/mrp_bom_views.xml @@ -8,12 +8,8 @@ expr="//field[@name='bom_line_ids']/tree/field[@name='attachments_count']" position="after" > - - - - - - + + From 5f0d277e6c6798939bd53c6dc53474cb82316661 Mon Sep 17 00:00:00 2001 From: Unai Beristain Date: Mon, 17 Feb 2025 16:59:07 +0100 Subject: [PATCH 2/2] [IMP] mrp_bom_line_product_brand_info: Improve code --- .../models/mrp_bom_line.py | 45 +++++++------------ .../report/mrp_bom_report.xml | 35 +++++++++++---- .../views/mrp_bom_line_views.xml | 1 - .../views/mrp_bom_views.xml | 1 - 4 files changed, 43 insertions(+), 39 deletions(-) diff --git a/mrp_bom_line_product_brand_info/models/mrp_bom_line.py b/mrp_bom_line_product_brand_info/models/mrp_bom_line.py index 5415fd229..7e172c507 100644 --- a/mrp_bom_line_product_brand_info/models/mrp_bom_line.py +++ b/mrp_bom_line_product_brand_info/models/mrp_bom_line.py @@ -1,46 +1,33 @@ -# Copyright 2024 Alfredo de la Fuente - AvanzOSC -# License AGPL-3 - See http://www.gnu.org/licenses/agpl-3.0.html from odoo import fields, models class MrpBomLine(models.Model): _inherit = "mrp.bom.line" - manufacturer_codes = fields.Text( - string="Manufacturer codes", compute="_compute_product_brand_info" - ) markings = fields.Text(compute="_compute_product_brand_info") def _compute_product_brand_info(self): for line in self.filtered(lambda c: c.product_tmpl_id): - texto = "" markings = "" - for seller in line.product_tmpl_id.seller_ids: - partner_name = seller.partner_id.name - code = ( - "" - if not seller.product_brand_id.code - else seller.product_brand_id.code - ) - marking = ( - "" - if not seller.product_brand_id.marking - else seller.product_brand_id.marking - ) - if not texto: - texto = "{}: {} - {}".format(partner_name, code, marking) - else: - texto = "{} // {}: {} - {}".format( - texto, partner_name, code, marking - ) - if not markings: - markings = "{}: {}".format(partner_name, marking) + for idx, seller in enumerate( + line.product_tmpl_id.seller_ids.filtered(lambda s: s.product_brand_id) + ): + marking = seller.product_brand_id + brand_code = seller.brand_code + + if brand_code: + marking_info = "[{}] {}".format(brand_code, marking.name) else: - markings = "{} // {}: {}".format(markings, partner_name, marking) - line.manufacturer_codes = texto + marking_info = "{}".format(marking.name) + + if idx > 0: + markings += "\n" + + markings += marking_info + line.markings = markings def get_datas_to_print_bom(self): result = super().get_datas_to_print_bom() - result["manufacturer_codes"] = self.manufacturer_codes + result["markings"] = self.markings return result diff --git a/mrp_bom_line_product_brand_info/report/mrp_bom_report.xml b/mrp_bom_line_product_brand_info/report/mrp_bom_report.xml index a7862b05e..33d1dcd27 100644 --- a/mrp_bom_line_product_brand_info/report/mrp_bom_report.xml +++ b/mrp_bom_line_product_brand_info/report/mrp_bom_report.xml @@ -1,14 +1,33 @@ - + + + + Brand + + + + + + +
+
+
+ + +
+
diff --git a/mrp_bom_line_product_brand_info/views/mrp_bom_line_views.xml b/mrp_bom_line_product_brand_info/views/mrp_bom_line_views.xml index d19f2956f..a0e99d89c 100644 --- a/mrp_bom_line_product_brand_info/views/mrp_bom_line_views.xml +++ b/mrp_bom_line_product_brand_info/views/mrp_bom_line_views.xml @@ -5,7 +5,6 @@ - diff --git a/mrp_bom_line_product_brand_info/views/mrp_bom_views.xml b/mrp_bom_line_product_brand_info/views/mrp_bom_views.xml index d93c2eb2a..4879d6bf8 100644 --- a/mrp_bom_line_product_brand_info/views/mrp_bom_views.xml +++ b/mrp_bom_line_product_brand_info/views/mrp_bom_views.xml @@ -8,7 +8,6 @@ expr="//field[@name='bom_line_ids']/tree/field[@name='attachments_count']" position="after" > -