From eb1fd50add38a38c5894ecd7f471d0c5ffcb1eb2 Mon Sep 17 00:00:00 2001 From: gsinghpal Date: Sat, 23 May 2026 21:14:33 -0400 Subject: [PATCH] fix(shopfloor): legacy client actions redirect to fp_plant_kanban MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The plant-view rollout left two legacy ir.actions.client data records still claiming tag='fp_shopfloor_landing': - action_fp_plant_overview (Plant Overview) - action_fp_shopfloor_tablet (Shop Floor — Tablet Station) The landing-action resolver dispatched the new view correctly when the user clicked the Plating root menu, but bookmarks / breadcrumbs / QR-scan landings / direct URLs still routed through these legacy actions and loaded the per-step kanban (OWL component is still registered for back-compat). Flipping their tag to fp_plant_kanban means every entry point now opens the new view. The legacy fp_shopfloor_landing OWL component stays registered (no code removed) but no XMLID points at it anymore — safe to delete in a future cleanup. Also documented this as a durable convention in CLAUDE.md under 'Legacy-action redirect (general rule for OWL component swaps)'. Verified on entech: - action 1129 (Shop Floor) tag: fp_shopfloor_landing → fp_plant_kanban - action 1133 (Plant Overview) tag: fp_shopfloor_landing → fp_plant_kanban - 3 stale asset bundles cleared - Module re-upgraded clean, registry rebuilt in 15.7s Co-Authored-By: Claude Opus 4.7 (1M context) --- fusion_plating/CLAUDE.md | 21 +++++++++++++++++++ .../views/fp_plant_overview_views.xml | 12 +++++------ .../views/fp_shopfloor_station_views.xml | 11 +++++----- 3 files changed, 33 insertions(+), 11 deletions(-) diff --git a/fusion_plating/CLAUDE.md b/fusion_plating/CLAUDE.md index b2053271..9cf97929 100644 --- a/fusion_plating/CLAUDE.md +++ b/fusion_plating/CLAUDE.md @@ -521,6 +521,27 @@ UPDATE ir_config_parameter SET value = 'legacy' Or use Settings → Fusion Plating → Shop Floor Layout. Both surfaces write the same `ir.config_parameter` key. +### Legacy-action redirect (general rule for OWL component swaps) + +When replacing an OWL client-action component with a new one, **don't +just register the new action's XMLID**. There are usually 2-5 legacy +`ir.actions.client` data records scattered across the module pointing +at the old tag (`action_fp_plant_overview`, `action_fp_shopfloor_tablet`, +etc. — every "old bookmarks keep working" record). The landing-action +resolver only sees one entry point. Bookmarks, breadcrumbs, QR-scan +landings, and "Plant Overview" / "Tablet Station" menu items go +through the OTHER actions and load the old component. + +**Fix: change every legacy data record's `tag` to the new tag.** Grep +the views/ and data/ dirs for the old tag, and update each `` to the new one. The old OWL component stays registered +(no code removed), but no `ir.actions.client` row points at it +anymore. Caught 2026-05-23 when the plant-view rollout dispatched +the resolver correctly but a user clicking via the legacy "Shop Floor" +menu still saw the per-step kanban — `action_fp_shopfloor_tablet` +and `action_fp_plant_overview` were both still hard-coded to +`fp_shopfloor_landing` tag. + ## Deployment ### odoo-entech (LXC 111 on pve-worker5) diff --git a/fusion_plating/fusion_plating_shopfloor/views/fp_plant_overview_views.xml b/fusion_plating/fusion_plating_shopfloor/views/fp_plant_overview_views.xml index 0d838433..935c8bd4 100644 --- a/fusion_plating/fusion_plating_shopfloor/views/fp_plant_overview_views.xml +++ b/fusion_plating/fusion_plating_shopfloor/views/fp_plant_overview_views.xml @@ -8,15 +8,15 @@ - - - - - + + + + + Plant Overview - fp_shopfloor_landing + fp_plant_kanban diff --git a/fusion_plating/fusion_plating_shopfloor/views/fp_shopfloor_station_views.xml b/fusion_plating/fusion_plating_shopfloor/views/fp_shopfloor_station_views.xml index fba61866..46460f06 100644 --- a/fusion_plating/fusion_plating_shopfloor/views/fp_shopfloor_station_views.xml +++ b/fusion_plating/fusion_plating_shopfloor/views/fp_shopfloor_station_views.xml @@ -97,14 +97,15 @@ - - - - + + + + + Shop Floor - fp_shopfloor_landing + fp_plant_kanban