From 0568d8ae8766adf24b8b78b02256ba31f044b14d Mon Sep 17 00:00:00 2001 From: gsinghpal Date: Sun, 24 May 2026 10:11:40 -0400 Subject: [PATCH] fix(plating-perms): widen settings landing field to ir.actions.actions res.config.settings.x_fc_default_landing_action_id is related= to res.company.x_fc_default_landing_action_id, which was widened from ir.actions.act_window to ir.actions.actions in the Phase I post-deploy fixes (so the picker accepts both window AND client actions). The settings field's comodel was left at the old type and tripped on opening Settings: 'Wrong value for ...: ir.actions.actions()' when the related compute tried to write the client-action value into the narrower settings field. Module version: 19.0.21.1.2 -> 19.0.21.1.3 Co-Authored-By: Claude Opus 4.7 (1M context) --- fusion_plating/fusion_plating/__manifest__.py | 2 +- fusion_plating/fusion_plating/models/res_config_settings.py | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/fusion_plating/fusion_plating/__manifest__.py b/fusion_plating/fusion_plating/__manifest__.py index e6ba92f7..fac84e44 100644 --- a/fusion_plating/fusion_plating/__manifest__.py +++ b/fusion_plating/fusion_plating/__manifest__.py @@ -5,7 +5,7 @@ { 'name': 'Fusion Plating', - 'version': '19.0.21.1.2', + 'version': '19.0.21.1.3', 'category': 'Manufacturing/Plating', 'summary': 'Core plating / metal finishing ERP: facilities, processes, tanks, baths, jobs, operators.', 'description': """ diff --git a/fusion_plating/fusion_plating/models/res_config_settings.py b/fusion_plating/fusion_plating/models/res_config_settings.py index 4562a37c..1116ed9a 100644 --- a/fusion_plating/fusion_plating/models/res_config_settings.py +++ b/fusion_plating/fusion_plating/models/res_config_settings.py @@ -64,8 +64,12 @@ class ResConfigSettings(models.TransientModel): ) # ----- Phase 1 — Plating landing page default ----------------------- + # Comodel MUST match res.company.x_fc_default_landing_action_id, which + # was widened to ir.actions.actions in the post-deploy fixes so the + # picker accepts both window AND client actions (Manager Desk, Plant + # Kanban, Quality Dashboard are all client actions). x_fc_default_landing_action_id = fields.Many2one( - 'ir.actions.act_window', + 'ir.actions.actions', related='company_id.x_fc_default_landing_action_id', readonly=False, string='Default Plating Landing Page',