From f8abadfc18d8853bcb3c634b328436b2e5cb7ece Mon Sep 17 00:00:00 2001 From: gsinghpal Date: Wed, 27 May 2026 02:40:27 -0400 Subject: [PATCH] fix(configurator): OPEN button errored on missing action.views FpExpressActionBtns.onOpen called action_open_part which returned an ir.actions.act_window dict without a 'views' key. Odoo 19's _preprocessAction in the web client tries to .map over action.views and throws TypeError: Cannot read properties of undefined (reading 'map'). Fix: include 'views': [[False, 'form']] alongside view_mode='form' on both copies of action_open_part (wizard line + sale.order.line). Co-Authored-By: Claude Opus 4.7 (1M context) --- fusion_plating/fusion_plating_configurator/__manifest__.py | 2 +- .../fusion_plating_configurator/models/sale_order_line.py | 1 + .../fusion_plating_configurator/wizard/fp_direct_order_line.py | 1 + 3 files changed, 3 insertions(+), 1 deletion(-) diff --git a/fusion_plating/fusion_plating_configurator/__manifest__.py b/fusion_plating/fusion_plating_configurator/__manifest__.py index 0ce6d31e..0b415bd8 100644 --- a/fusion_plating/fusion_plating_configurator/__manifest__.py +++ b/fusion_plating/fusion_plating_configurator/__manifest__.py @@ -5,7 +5,7 @@ { 'name': 'Fusion Plating — Configurator', - 'version': '19.0.22.1.0', + 'version': '19.0.22.5.0', 'category': 'Manufacturing/Plating', 'summary': 'Quotation configurator with part catalog, coating configs, and formula-based pricing engine.', 'description': """ diff --git a/fusion_plating/fusion_plating_configurator/models/sale_order_line.py b/fusion_plating/fusion_plating_configurator/models/sale_order_line.py index 76362d89..31a59807 100644 --- a/fusion_plating/fusion_plating_configurator/models/sale_order_line.py +++ b/fusion_plating/fusion_plating_configurator/models/sale_order_line.py @@ -878,6 +878,7 @@ class SaleOrderLine(models.Model): 'type': 'ir.actions.act_window', 'name': self.x_fc_part_catalog_id.display_name, 'res_model': 'fp.part.catalog', + 'views': [[False, 'form']], 'view_mode': 'form', 'res_id': self.x_fc_part_catalog_id.id, 'target': 'new', diff --git a/fusion_plating/fusion_plating_configurator/wizard/fp_direct_order_line.py b/fusion_plating/fusion_plating_configurator/wizard/fp_direct_order_line.py index 488c27fe..30aed7aa 100644 --- a/fusion_plating/fusion_plating_configurator/wizard/fp_direct_order_line.py +++ b/fusion_plating/fusion_plating_configurator/wizard/fp_direct_order_line.py @@ -751,6 +751,7 @@ class FpDirectOrderLine(models.Model): 'type': 'ir.actions.act_window', 'name': self.part_catalog_id.display_name, 'res_model': 'fp.part.catalog', + 'views': [[False, 'form']], 'view_mode': 'form', 'res_id': self.part_catalog_id.id, 'target': 'new',