Replace em-dashes and en-dashes with hyphens across 789 shipped source files (py/xml/js/scss) so the delivered module reads as human-written; em-dashes had become a recognizable AI-generated tell. Internal .md dev notes are excluded. The WO-sticker mojibake strippers keep their dash search targets (now written — / –). No logic changes: comments and display strings only; validated with py_compile + lxml parse. Rewrite the 7 customer notification emails to be intake-neutral (ship-in / drop-off / pickup) and repair-aware, and fix the Shipped email documents line (packing slip vs bill of lading; certificate only when issued). Subjects use a hyphen separator. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
73 lines
2.4 KiB
XML
73 lines
2.4 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_safety_root"
|
|
name="Safety / WHMIS"
|
|
parent="fusion_plating.menu_fp_compliance_hub"
|
|
sequence="20"
|
|
groups="fusion_plating.group_fp_quality_manager"/>
|
|
|
|
<menuitem id="menu_fp_safety_sds"
|
|
name="SDS Library"
|
|
parent="menu_fp_safety_root"
|
|
action="action_fp_sds"
|
|
sequence="10"/>
|
|
|
|
<menuitem id="menu_fp_safety_training"
|
|
name="Training Records"
|
|
parent="menu_fp_safety_root"
|
|
action="action_fp_training_record"
|
|
sequence="20"/>
|
|
|
|
<menuitem id="menu_fp_safety_exposure"
|
|
name="Exposure Monitoring"
|
|
parent="menu_fp_safety_root"
|
|
action="action_fp_exposure_monitoring"
|
|
sequence="30"/>
|
|
|
|
<menuitem id="menu_fp_safety_jhsc"
|
|
name="H&S Committee (JHSC)"
|
|
parent="menu_fp_safety_root"
|
|
action="action_fp_jhsc"
|
|
sequence="40"/>
|
|
|
|
<menuitem id="menu_fp_safety_jhsc_meetings"
|
|
name="H&S Committee Meetings"
|
|
parent="menu_fp_safety_root"
|
|
action="action_fp_jhsc_meeting"
|
|
sequence="45"/>
|
|
|
|
<menuitem id="menu_fp_safety_incidents"
|
|
name="Incident Register"
|
|
parent="menu_fp_safety_root"
|
|
action="action_fp_incident"
|
|
sequence="50"/>
|
|
|
|
<menuitem id="menu_fp_safety_ppe"
|
|
name="PPE Issuance"
|
|
parent="menu_fp_safety_root"
|
|
action="action_fp_ppe_issuance"
|
|
sequence="60"/>
|
|
|
|
<!-- Phase 2 - Training Types → Workforce; Chemicals → Materials & Tanks -->
|
|
<menuitem id="menu_fp_safety_training_types"
|
|
name="Training Types"
|
|
parent="fusion_plating.menu_fp_config_workforce"
|
|
action="action_fp_training_type"
|
|
sequence="30"/>
|
|
|
|
<menuitem id="menu_fp_safety_chemicals"
|
|
name="Chemicals"
|
|
parent="fusion_plating.menu_fp_config_materials_tanks"
|
|
action="action_fp_chemical"
|
|
sequence="40"/>
|
|
|
|
</odoo>
|