fix(phase2): restructure fp_menu.xml so buckets defined before children
Within fp_menu.xml itself, the menu_fp_replenishment_rules entry referenced menu_fp_config_materials_tanks which was defined later in the same file. Odoo's data loader is strictly top-down within a file. Reorganized by section: 1) root, 2) Configuration + 7 buckets, 3) Compliance hub, 4) Operations parent, 5) all child menus (referencing parents already defined above). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -3,12 +3,20 @@
|
|||||||
Copyright 2026 Nexa Systems Inc.
|
Copyright 2026 Nexa Systems Inc.
|
||||||
License OPL-1 (Odoo Proprietary License v1.0)
|
License OPL-1 (Odoo Proprietary License v1.0)
|
||||||
Part of the Fusion Plating product family.
|
Part of the Fusion Plating product family.
|
||||||
|
|
||||||
|
Top-level menu structure for the Plating app. Order in this file
|
||||||
|
matters — Odoo's data loader is strictly sequential, so every
|
||||||
|
parent menu must be defined BEFORE any child that references it
|
||||||
|
by xmlid. Sections in declaration order:
|
||||||
|
1. Root (menu_fp_root) + landing-action wiring
|
||||||
|
2. Configuration parent (menu_fp_config) + the 7 Phase-2 buckets
|
||||||
|
3. Compliance hub
|
||||||
|
4. Operations parent
|
||||||
|
5. All children of all three roots above (in any order)
|
||||||
-->
|
-->
|
||||||
<odoo>
|
<odoo>
|
||||||
|
|
||||||
<!-- ===== ROOT APP MENU =====
|
<!-- ===== 1. ROOT APP MENU ===== -->
|
||||||
Landing action wired via the resolver server action below.
|
|
||||||
Per-user override > company default > Sale Orders fallback. -->
|
|
||||||
<menuitem id="menu_fp_root"
|
<menuitem id="menu_fp_root"
|
||||||
name="Plating"
|
name="Plating"
|
||||||
sequence="46"
|
sequence="46"
|
||||||
@@ -16,22 +24,64 @@
|
|||||||
action="action_fp_resolve_plating_landing"
|
action="action_fp_resolve_plating_landing"
|
||||||
groups="group_fusion_plating_operator"/>
|
groups="group_fusion_plating_operator"/>
|
||||||
|
|
||||||
<!-- ===== Compliance hub (Phase 1) =====
|
<!-- ===== 2. CONFIGURATION + 7 Phase-2 buckets ===== -->
|
||||||
Bundles General Compliance + Safety + Aerospace + Nuclear + CGP
|
<menuitem id="menu_fp_config"
|
||||||
under one top-level. Each vertical's existing root menu is
|
name="Configuration"
|
||||||
re-parented here in its own module. -->
|
parent="menu_fp_root"
|
||||||
|
sequence="90"
|
||||||
|
groups="group_fusion_plating_manager"/>
|
||||||
|
|
||||||
|
<menuitem id="menu_fp_config_shop_setup"
|
||||||
|
name="Shop Setup"
|
||||||
|
parent="menu_fp_config"
|
||||||
|
sequence="10"/>
|
||||||
|
|
||||||
|
<menuitem id="menu_fp_config_recipes_steps"
|
||||||
|
name="Recipes & Steps"
|
||||||
|
parent="menu_fp_config"
|
||||||
|
sequence="20"/>
|
||||||
|
|
||||||
|
<menuitem id="menu_fp_config_materials_tanks"
|
||||||
|
name="Materials & Tanks"
|
||||||
|
parent="menu_fp_config"
|
||||||
|
sequence="30"/>
|
||||||
|
|
||||||
|
<menuitem id="menu_fp_config_workforce"
|
||||||
|
name="Workforce"
|
||||||
|
parent="menu_fp_config"
|
||||||
|
sequence="40"/>
|
||||||
|
|
||||||
|
<menuitem id="menu_fp_config_quality_docs"
|
||||||
|
name="Quality & Documents"
|
||||||
|
parent="menu_fp_config"
|
||||||
|
sequence="50"/>
|
||||||
|
|
||||||
|
<menuitem id="menu_fp_config_pricing_billing"
|
||||||
|
name="Pricing & Billing"
|
||||||
|
parent="menu_fp_config"
|
||||||
|
sequence="60"/>
|
||||||
|
|
||||||
|
<menuitem id="menu_fp_config_reference_data"
|
||||||
|
name="Reference Data"
|
||||||
|
parent="menu_fp_config"
|
||||||
|
sequence="70"/>
|
||||||
|
|
||||||
|
<!-- ===== 3. COMPLIANCE HUB (Phase 1) ===== -->
|
||||||
<menuitem id="menu_fp_compliance_hub"
|
<menuitem id="menu_fp_compliance_hub"
|
||||||
name="Compliance"
|
name="Compliance"
|
||||||
parent="menu_fp_root"
|
parent="menu_fp_root"
|
||||||
sequence="50"
|
sequence="50"
|
||||||
groups="group_fusion_plating_supervisor"/>
|
groups="group_fusion_plating_supervisor"/>
|
||||||
|
|
||||||
<!-- ===== OPERATIONS ===== -->
|
<!-- ===== 4. OPERATIONS ===== -->
|
||||||
<menuitem id="menu_fp_operations"
|
<menuitem id="menu_fp_operations"
|
||||||
name="Operations"
|
name="Operations"
|
||||||
parent="menu_fp_root"
|
parent="menu_fp_root"
|
||||||
sequence="18"/>
|
sequence="18"/>
|
||||||
|
|
||||||
|
<!-- ===== 5. CHILD MENUS ===== -->
|
||||||
|
|
||||||
|
<!-- Operations children -->
|
||||||
<menuitem id="menu_fp_process_recipes"
|
<menuitem id="menu_fp_process_recipes"
|
||||||
name="Process Recipes"
|
name="Process Recipes"
|
||||||
parent="menu_fp_operations"
|
parent="menu_fp_operations"
|
||||||
@@ -68,6 +118,7 @@
|
|||||||
action="action_fp_replenishment_suggestion"
|
action="action_fp_replenishment_suggestion"
|
||||||
sequence="40"/>
|
sequence="40"/>
|
||||||
|
|
||||||
|
<!-- Configuration children (referencing the 7 buckets above) -->
|
||||||
<menuitem id="menu_fp_replenishment_rules"
|
<menuitem id="menu_fp_replenishment_rules"
|
||||||
name="Replenishment Rules"
|
name="Replenishment Rules"
|
||||||
parent="menu_fp_config_materials_tanks"
|
parent="menu_fp_config_materials_tanks"
|
||||||
@@ -80,53 +131,6 @@
|
|||||||
action="action_fp_operator_cert"
|
action="action_fp_operator_cert"
|
||||||
sequence="20"/>
|
sequence="20"/>
|
||||||
|
|
||||||
<!-- ===== CONFIGURATION ===== -->
|
|
||||||
<menuitem id="menu_fp_config"
|
|
||||||
name="Configuration"
|
|
||||||
parent="menu_fp_root"
|
|
||||||
sequence="90"
|
|
||||||
groups="group_fusion_plating_manager"/>
|
|
||||||
|
|
||||||
<!-- Phase 2 — group the ~36 flat configuration entries into 6
|
|
||||||
themed folders + Settings (sibling, stays at top). Existing
|
|
||||||
menu IDs are unchanged so bookmarks / data refs still work;
|
|
||||||
each child just moves to a new parent. -->
|
|
||||||
|
|
||||||
<menuitem id="menu_fp_config_shop_setup"
|
|
||||||
name="Shop Setup"
|
|
||||||
parent="menu_fp_config"
|
|
||||||
sequence="10"/>
|
|
||||||
|
|
||||||
<menuitem id="menu_fp_config_recipes_steps"
|
|
||||||
name="Recipes & Steps"
|
|
||||||
parent="menu_fp_config"
|
|
||||||
sequence="20"/>
|
|
||||||
|
|
||||||
<menuitem id="menu_fp_config_materials_tanks"
|
|
||||||
name="Materials & Tanks"
|
|
||||||
parent="menu_fp_config"
|
|
||||||
sequence="30"/>
|
|
||||||
|
|
||||||
<menuitem id="menu_fp_config_workforce"
|
|
||||||
name="Workforce"
|
|
||||||
parent="menu_fp_config"
|
|
||||||
sequence="40"/>
|
|
||||||
|
|
||||||
<menuitem id="menu_fp_config_quality_docs"
|
|
||||||
name="Quality & Documents"
|
|
||||||
parent="menu_fp_config"
|
|
||||||
sequence="50"/>
|
|
||||||
|
|
||||||
<menuitem id="menu_fp_config_pricing_billing"
|
|
||||||
name="Pricing & Billing"
|
|
||||||
parent="menu_fp_config"
|
|
||||||
sequence="60"/>
|
|
||||||
|
|
||||||
<menuitem id="menu_fp_config_reference_data"
|
|
||||||
name="Reference Data"
|
|
||||||
parent="menu_fp_config"
|
|
||||||
sequence="70"/>
|
|
||||||
|
|
||||||
<menuitem id="menu_fp_facilities"
|
<menuitem id="menu_fp_facilities"
|
||||||
name="Facilities"
|
name="Facilities"
|
||||||
parent="menu_fp_config_shop_setup"
|
parent="menu_fp_config_shop_setup"
|
||||||
|
|||||||
Reference in New Issue
Block a user