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>
Fusion Plating — Safety (EHS)
Part of the Fusion Plating product family by Nexa Systems Inc.
This add-on layers a process-agnostic Environmental, Health and Safety
workspace on top of fusion_plating. It gives a plating shop a single
place to manage day-to-day occupational health and safety obligations
without depending on any jurisdiction-specific regulatory pack.
Workspaces
| Workspace | Purpose |
|---|---|
| SDS Library | Safety Data Sheet repository with version, hazard class, GHS pictograms, language, expiry tracking, and PDF attachment. |
| Chemical Inventory | Physical chemical containers with storage location, on-hand quantity, reorder point, and incompatibility relations. |
| Training Records | Per-employee training completions with auto-computed expiry and current/expiring/expired status. |
| Training Types | Master catalogue of training courses (WHMIS, TDG, first-aid, LOTO, confined space, etc.) with validity windows. |
| Exposure Monitoring | Air, biological, noise, and vibration sampling events with OEL reference and percent-of-limit. |
| JHSC | Joint Health & Safety Committee with worker and management reps, plus a meeting register. |
| Incident Register | Injury, near-miss, first-aid, lost-time, medical, property-damage, and environmental events with investigation, root cause, corrective action, and WSIB Form 7 flagging. |
| PPE Issuance | Per-employee PPE issuance log with replacement scheduling. |
Installation
This module depends on fusion_plating, hr, and product.
docker exec odoo-dev-app odoo -d fusion-dev -u fusion_plating_safety --stop-after-init
Conventions
- All field names on extended base Odoo models use the
x_fc_prefix. - Security groups are reused from
fusion_plating(Operator / Supervisor / Manager). - All copy is Canadian English.
- Theme-aware SCSS uses CSS variables only — no hex colours.
Copyright (c) 2026 Nexa Systems Inc. All rights reserved. License: OPL-1 (Odoo Proprietary License v1.0)