chore(plating): de-dash shipped code + intake-neutral customer emails
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>
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
Copyright 2026 Nexa Systems Inc. — DEMO DATA (temporary)
|
||||
Copyright 2026 Nexa Systems Inc. - DEMO DATA (temporary)
|
||||
Remove this file and its manifest entry before production release.
|
||||
-->
|
||||
<odoo noupdate="1">
|
||||
@@ -45,7 +45,7 @@
|
||||
|
||||
<!-- ========== BAKE OVENS ========== -->
|
||||
<record id="demo_oven_1" model="fusion.plating.bake.oven">
|
||||
<field name="name">Bake Oven A — EN Post-Plate</field>
|
||||
<field name="name">Bake Oven A - EN Post-Plate</field>
|
||||
<field name="code">OVEN-A</field>
|
||||
<field name="facility_id" ref="fusion_plating.demo_facility_main"/>
|
||||
<field name="work_center_id" ref="fusion_plating.demo_wc_en_line"/>
|
||||
@@ -55,7 +55,7 @@
|
||||
</record>
|
||||
|
||||
<record id="demo_oven_2" model="fusion.plating.bake.oven">
|
||||
<field name="name">Bake Oven B — Chrome Stress Relief</field>
|
||||
<field name="name">Bake Oven B - Chrome Stress Relief</field>
|
||||
<field name="code">OVEN-B</field>
|
||||
<field name="facility_id" ref="fusion_plating.demo_facility_main"/>
|
||||
<field name="work_center_id" ref="fusion_plating.demo_wc_chrome_line"/>
|
||||
@@ -67,7 +67,7 @@
|
||||
<!-- ========== BAKE WINDOWS ========== -->
|
||||
<record id="demo_bake_1" model="fusion.plating.bake.window">
|
||||
<field name="bath_id" ref="fusion_plating.demo_bath_en_mp"/>
|
||||
<field name="part_ref">P/N 4422-B — Hydraulic Cylinder Rod</field>
|
||||
<field name="part_ref">P/N 4422-B - Hydraulic Cylinder Rod</field>
|
||||
<field name="lot_ref">LOT-2026-0415</field>
|
||||
<field name="customer_ref">WO-8841</field>
|
||||
<field name="quantity">25</field>
|
||||
@@ -79,7 +79,7 @@
|
||||
|
||||
<record id="demo_bake_2" model="fusion.plating.bake.window">
|
||||
<field name="bath_id" ref="fusion_plating.demo_bath_cr_hard"/>
|
||||
<field name="part_ref">P/N 7810-A — Landing Gear Pin</field>
|
||||
<field name="part_ref">P/N 7810-A - Landing Gear Pin</field>
|
||||
<field name="lot_ref">LOT-2026-0413</field>
|
||||
<field name="customer_ref">WO-8835</field>
|
||||
<field name="quantity">6</field>
|
||||
@@ -94,7 +94,7 @@
|
||||
|
||||
<record id="demo_bake_3" model="fusion.plating.bake.window">
|
||||
<field name="bath_id" ref="fusion_plating.demo_bath_en_hp"/>
|
||||
<field name="part_ref">P/N 2290-D — Valve Body</field>
|
||||
<field name="part_ref">P/N 2290-D - Valve Body</field>
|
||||
<field name="lot_ref">LOT-2026-0410</field>
|
||||
<field name="customer_ref">WO-8820</field>
|
||||
<field name="quantity">12</field>
|
||||
@@ -110,14 +110,14 @@
|
||||
|
||||
<record id="demo_bake_4" model="fusion.plating.bake.window">
|
||||
<field name="bath_id" ref="fusion_plating.demo_bath_en_mp"/>
|
||||
<field name="part_ref">P/N 5500-E — Piston Rod</field>
|
||||
<field name="part_ref">P/N 5500-E - Piston Rod</field>
|
||||
<field name="lot_ref">LOT-2026-0408</field>
|
||||
<field name="customer_ref">WO-8810</field>
|
||||
<field name="quantity">8</field>
|
||||
<field name="plate_exit_time" eval="(DateTime.now() - timedelta(hours=10)).strftime('%Y-%m-%d %H:%M:%S')"/>
|
||||
<field name="window_hours">4.0</field>
|
||||
<field name="state">missed_window</field>
|
||||
<field name="notes" type="html"><p>Window missed — operator shift change, parts left on rack. Flagged for quality review.</p></field>
|
||||
<field name="notes" type="html"><p>Window missed - operator shift change, parts left on rack. Flagged for quality review.</p></field>
|
||||
</record>
|
||||
|
||||
<!-- First-piece gate demo records retired with the fp.first.piece.gate
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
Copyright 2026 Nexa Systems Inc.
|
||||
License OPL-1 (Odoo Proprietary License v1.0)
|
||||
|
||||
Phase 6 tablet PIN gate — default knobs.
|
||||
Phase 6 tablet PIN gate - default knobs.
|
||||
All overridable via Settings → Technical → Parameters → System Parameters.
|
||||
-->
|
||||
<odoo noupdate="1">
|
||||
|
||||
@@ -18,11 +18,11 @@
|
||||
<!-- ===== Mail template ============================================
|
||||
email_from is computed at send time (see _fp_resolve_from_header
|
||||
on res.users) so it ALWAYS matches the active mail server's
|
||||
from_filter — eliminates the "No mail server matches the
|
||||
from_filter - eliminates the "No mail server matches the
|
||||
from_filter" warning and the DMARC misalignment that warning
|
||||
signals. Without this alignment, M365 (nexasystems.ca's host)
|
||||
greylists cross-provider mail with mismatched From for 5–15 min
|
||||
before delivering. Subject dropped the 🔒 emoji — emojis in
|
||||
greylists cross-provider mail with mismatched From for 5-15 min
|
||||
before delivering. Subject dropped the 🔒 emoji - emojis in
|
||||
subject lines bump M365 spam scoring and slow delivery on
|
||||
cross-provider mail.
|
||||
-->
|
||||
@@ -50,7 +50,7 @@
|
||||
</div>
|
||||
<p style="margin: 16px 0; font-size: 13px; opacity: 0.65;">
|
||||
This code expires in 72 hours. If you didn't request it, ignore
|
||||
this email — no action needed. The previous PIN (if any) stays
|
||||
this email - no action needed. The previous PIN (if any) stays
|
||||
valid until you successfully complete the reset on the tablet.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user