diff --git a/fusion_plating/fusion_plating_configurator/models/fp_part_catalog.py b/fusion_plating/fusion_plating_configurator/models/fp_part_catalog.py index 8884cc0d..bc46d079 100644 --- a/fusion_plating/fusion_plating_configurator/models/fp_part_catalog.py +++ b/fusion_plating/fusion_plating_configurator/models/fp_part_catalog.py @@ -359,12 +359,19 @@ class FpPartCatalog(models.Model): Used by m2o pickers, breadcrumbs, kanban cards. Falls back to name-only when part_number is missing (legacy / in-progress records). + + Defensive: some legacy rows stored revision as "Rev 1" (with the + prefix baked in). Strip any leading "rev " so the wrapper doesn't + render "(Rev Rev 1)". """ for rec in self: if rec.part_number: core = f"{rec.part_number}" if rec.revision: - core += f" (Rev {rec.revision})" + rev = rec.revision.strip() + if rev.lower().startswith('rev '): + rev = rev[4:].strip() + core += f" (Rev {rev})" if rec.name: core += f" — {rec.name}" rec.display_name = core