Phase D Tasks D1-D4 of permissions overhaul. Adds explicit groups= attributes to: - 9 top-level Plating menus (matrix per spec Section 2.E) - Quality submenus: Audits, Customer Specs, AVL → QM-only - Compliance hub child submenus (CGP, General, Safety, Aerospace, Nuclear) → QM-only - Operations submenus: Maintenance, Move Log, Labor History → Shop Manager+; Replenishment Suggestions → Manager+ Replaces fragile inheritance + action-ACL-based visibility with explicit per-menu gates. Now every role's menu tree is deterministic. Also adds fusion_plating/tests/test_menu_visibility.py — per-role matrix tests using ir.ui.menu.search_count with the test user. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
66 lines
2.1 KiB
XML
66 lines
2.1 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<!--
|
|
Copyright 2026 Nexa Systems Inc.
|
|
License OPL-1 (Odoo Proprietary License v1.0)
|
|
Part of the Fusion Plating product family.
|
|
-->
|
|
<odoo>
|
|
|
|
<!-- Phase 1 — re-parented under Plating → Compliance hub. -->
|
|
<!-- Phase D (perms v2) — QM-only under compliance hub. -->
|
|
<menuitem id="menu_fp_cgp"
|
|
name="Controlled Goods (CGP)"
|
|
parent="fusion_plating.menu_fp_compliance_hub"
|
|
sequence="50"
|
|
groups="fusion_plating.group_fp_quality_manager"/>
|
|
|
|
<menuitem id="menu_fp_cgp_registration"
|
|
name="Registration"
|
|
parent="menu_fp_cgp"
|
|
action="action_fp_cgp_registration"
|
|
sequence="10"/>
|
|
|
|
<menuitem id="menu_fp_cgp_ai"
|
|
name="Authorized Individuals"
|
|
parent="menu_fp_cgp"
|
|
action="action_fp_cgp_ai"
|
|
sequence="20"/>
|
|
|
|
<menuitem id="menu_fp_cgp_psa"
|
|
name="Personnel Security Assessments"
|
|
parent="menu_fp_cgp"
|
|
action="action_fp_cgp_psa"
|
|
sequence="30"/>
|
|
|
|
<menuitem id="menu_fp_cgp_visitor"
|
|
name="Visitors"
|
|
parent="menu_fp_cgp"
|
|
action="action_fp_cgp_visitor"
|
|
sequence="40"/>
|
|
|
|
<menuitem id="menu_fp_cgp_controlled_good"
|
|
name="Controlled Goods"
|
|
parent="menu_fp_cgp"
|
|
action="action_fp_cgp_controlled_good"
|
|
sequence="50"/>
|
|
|
|
<menuitem id="menu_fp_cgp_receipt_shipment"
|
|
name="Receipts & Shipments"
|
|
parent="menu_fp_cgp"
|
|
action="action_fp_cgp_receipt_shipment"
|
|
sequence="60"/>
|
|
|
|
<menuitem id="menu_fp_cgp_security_incident"
|
|
name="Security Incidents"
|
|
parent="menu_fp_cgp"
|
|
action="action_fp_cgp_security_incident"
|
|
sequence="70"/>
|
|
|
|
<menuitem id="menu_fp_cgp_access_log"
|
|
name="Access Log"
|
|
parent="menu_fp_cgp"
|
|
action="action_fp_cgp_access_log"
|
|
sequence="80"/>
|
|
|
|
</odoo>
|