From 83b051ba58bb8634066102fbeff436ded9e4a849 Mon Sep 17 00:00:00 2001 From: GuillemCForgeFlow Date: Thu, 28 Sep 2023 15:50:21 +0200 Subject: [PATCH] [FIX]hs_code_link: properly declare OCA hs_code field on product.template Before the change, the field was not being updated after the value of the H.S. Code was changed on a Product Template. The related stored field was not working fine with the company dependent field. As the `hs_code_id` field is company dependent, we can have the `hs_code` on the product.template as a computed non-stored to be computed based on the `force_company` value of the context, just as in the company_dependent fields. --- hs_code_link/__manifest__.py | 1 + hs_code_link/models/product.py | 11 +++++++++-- hs_code_link/readme/CONTRIBUTORS.rst | 1 + 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/hs_code_link/__manifest__.py b/hs_code_link/__manifest__.py index 6824b08e3..c4b53a5bc 100644 --- a/hs_code_link/__manifest__.py +++ b/hs_code_link/__manifest__.py @@ -1,4 +1,5 @@ # Copyright 2017 Camptocamp SA +# Copyright 2023 ForgeFlow # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). { "name": "HS Code Link", diff --git a/hs_code_link/models/product.py b/hs_code_link/models/product.py index d00049580..52128f8f2 100644 --- a/hs_code_link/models/product.py +++ b/hs_code_link/models/product.py @@ -1,10 +1,17 @@ # Copyright 2017 Camptocamp SA +# Copyright 2023 ForgeFlow # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). -from odoo import fields, models +from odoo import api, fields, models class ProductTemplate(models.Model): _inherit = "product.template" - hs_code = fields.Char(related="hs_code_id.hs_code", readonly=True, store=True) + # Make it compute non-stored as we will get the value from the bypassed company + hs_code = fields.Char(compute="_compute_hs_code") + + @api.depends_context("force_company") + def _compute_hs_code(self): + for template in self: + template.hs_code = template.hs_code_id.hs_code diff --git a/hs_code_link/readme/CONTRIBUTORS.rst b/hs_code_link/readme/CONTRIBUTORS.rst index fcb7aaa08..316ea709a 100644 --- a/hs_code_link/readme/CONTRIBUTORS.rst +++ b/hs_code_link/readme/CONTRIBUTORS.rst @@ -1 +1,2 @@ * Denis Leemann +* Guillem Casassas