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.
|
||||
License OPL-1 (Odoo Proprietary License v1.0)
|
||||
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>
|
||||
|
||||
<!-- ===== ROOT APP MENU =====
|
||||
Landing action wired via the resolver server action below.
|
||||
Per-user override > company default > Sale Orders fallback. -->
|
||||
<!-- ===== 1. ROOT APP MENU ===== -->
|
||||
<menuitem id="menu_fp_root"
|
||||
name="Plating"
|
||||
sequence="46"
|
||||
@@ -16,22 +24,64 @@
|
||||
action="action_fp_resolve_plating_landing"
|
||||
groups="group_fusion_plating_operator"/>
|
||||
|
||||
<!-- ===== Compliance hub (Phase 1) =====
|
||||
Bundles General Compliance + Safety + Aerospace + Nuclear + CGP
|
||||
under one top-level. Each vertical's existing root menu is
|
||||
re-parented here in its own module. -->
|
||||
<!-- ===== 2. CONFIGURATION + 7 Phase-2 buckets ===== -->
|
||||
<menuitem id="menu_fp_config"
|
||||
name="Configuration"
|
||||
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"
|
||||
name="Compliance"
|
||||
parent="menu_fp_root"
|
||||
sequence="50"
|
||||
groups="group_fusion_plating_supervisor"/>
|
||||
|
||||
<!-- ===== OPERATIONS ===== -->
|
||||
<!-- ===== 4. OPERATIONS ===== -->
|
||||
<menuitem id="menu_fp_operations"
|
||||
name="Operations"
|
||||
parent="menu_fp_root"
|
||||
sequence="18"/>
|
||||
|
||||
<!-- ===== 5. CHILD MENUS ===== -->
|
||||
|
||||
<!-- Operations children -->
|
||||
<menuitem id="menu_fp_process_recipes"
|
||||
name="Process Recipes"
|
||||
parent="menu_fp_operations"
|
||||
@@ -68,6 +118,7 @@
|
||||
action="action_fp_replenishment_suggestion"
|
||||
sequence="40"/>
|
||||
|
||||
<!-- Configuration children (referencing the 7 buckets above) -->
|
||||
<menuitem id="menu_fp_replenishment_rules"
|
||||
name="Replenishment Rules"
|
||||
parent="menu_fp_config_materials_tanks"
|
||||
@@ -80,53 +131,6 @@
|
||||
action="action_fp_operator_cert"
|
||||
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"
|
||||
name="Facilities"
|
||||
parent="menu_fp_config_shop_setup"
|
||||
|
||||
Reference in New Issue
Block a user