From 21754c1660122d6dcc6b0a3dacae46af00a656ef Mon Sep 17 00:00:00 2001 From: gsinghpal Date: Fri, 15 May 2026 08:36:00 -0400 Subject: [PATCH] =?UTF-8?q?fix(specs):=20@api.depends=20on=20=5Fcompute=5F?= =?UTF-8?q?display=5Fname=20=E2=80=94=20fixes=20'Unnamed'=20dropdown?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The _compute_display_name method on fusion.plating.customer.spec was missing its @api.depends decorator. Without it, Odoo doesn't know when to fire the compute, so display_name stayed NULL on: - All seeded specs (created via XML data import) - Any spec created later (the field was never recomputed) Symptom: Specification dropdown on the SO line showed "Unnamed" for every option, making spec selection useless. Fix: - @api.depends('code', 'revision', 'name') on _compute_display_name - Imported `api` (was only `fields, models`) Companion entech-side action: forced recompute on the 15 existing specs via `env.add_to_compute(specs._fields['display_name'], specs)` so the stored column was backfilled. New specs created via UI will trigger the compute automatically going forward. Co-Authored-By: Claude Opus 4.7 (1M context) --- fusion_plating/fusion_plating_quality/__manifest__.py | 2 +- .../fusion_plating_quality/models/fp_customer_spec.py | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/fusion_plating/fusion_plating_quality/__manifest__.py b/fusion_plating/fusion_plating_quality/__manifest__.py index d2894528..334f5ea7 100644 --- a/fusion_plating/fusion_plating_quality/__manifest__.py +++ b/fusion_plating/fusion_plating_quality/__manifest__.py @@ -5,7 +5,7 @@ { 'name': 'Fusion Plating — Quality (QMS)', - 'version': '19.0.6.1.0', + 'version': '19.0.6.2.0', 'category': 'Manufacturing/Plating', 'summary': 'Native QMS for plating shops: NCR, CAPA, calibration, AVL, FAIR, ' 'internal audits, customer specs, document control. CE + EE compatible.', diff --git a/fusion_plating/fusion_plating_quality/models/fp_customer_spec.py b/fusion_plating/fusion_plating_quality/models/fp_customer_spec.py index f5b4057b..8bcd5e76 100644 --- a/fusion_plating/fusion_plating_quality/models/fp_customer_spec.py +++ b/fusion_plating/fusion_plating_quality/models/fp_customer_spec.py @@ -3,7 +3,7 @@ # License OPL-1 (Odoo Proprietary License v1.0) # Part of the Fusion Plating product family. -from odoo import fields, models +from odoo import api, fields, models class FpCustomerSpec(models.Model): @@ -105,6 +105,7 @@ class FpCustomerSpec(models.Model): ), ] + @api.depends('code', 'revision', 'name') def _compute_display_name(self): for rec in self: parts = [rec.code or '']