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>
22 lines
2.1 KiB
XML
22 lines
2.1 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<odoo>
|
|
<!-- Phase 1 — re-parented under fusion_plating.menu_fp_compliance_hub
|
|
and renamed to 'General' since the hub is now the top-level Compliance. -->
|
|
<menuitem id="menu_fp_compliance_root" name="General"
|
|
parent="fusion_plating.menu_fp_compliance_hub" sequence="10"
|
|
groups="fusion_plating.group_fp_quality_manager"/>
|
|
|
|
<menuitem id="menu_fp_compliance_permit" name="Permits" parent="menu_fp_compliance_root" action="action_fp_permit" sequence="10"/>
|
|
<menuitem id="menu_fp_compliance_discharge_sample" name="Discharge Samples" parent="menu_fp_compliance_root" action="action_fp_discharge_sample" sequence="20"/>
|
|
<menuitem id="menu_fp_compliance_waste_manifest" name="Waste Manifests" parent="menu_fp_compliance_root" action="action_fp_waste_manifest" sequence="30"/>
|
|
<menuitem id="menu_fp_compliance_calendar" name="Compliance Calendar" parent="menu_fp_compliance_root" action="action_fp_compliance_event" sequence="40"/>
|
|
<menuitem id="menu_fp_compliance_spill_register" name="Spill Register" parent="menu_fp_compliance_root" action="action_fp_spill_register" sequence="50"/>
|
|
|
|
<menuitem id="menu_fp_compliance_config" name="Reference Data" parent="menu_fp_compliance_root" sequence="100"/>
|
|
<menuitem id="menu_fp_compliance_jurisdiction" name="Jurisdictions" parent="menu_fp_compliance_config" action="action_fp_jurisdiction" sequence="10"/>
|
|
<menuitem id="menu_fp_compliance_regulator" name="Regulators" parent="menu_fp_compliance_config" action="action_fp_regulator" sequence="20"/>
|
|
<menuitem id="menu_fp_compliance_discharge_limit" name="Discharge Limits" parent="menu_fp_compliance_config" action="action_fp_discharge_limit" sequence="30"/>
|
|
<menuitem id="menu_fp_compliance_waste_stream" name="Waste Streams" parent="menu_fp_compliance_config" action="action_fp_waste_stream" sequence="40"/>
|
|
<menuitem id="menu_fp_compliance_pollutant_inventory" name="Pollutant Inventory" parent="menu_fp_compliance_config" action="action_fp_pollutant_inventory" sequence="50"/>
|
|
</odoo>
|