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:
@@ -35,7 +35,7 @@
|
||||
<field name="arch" type="xml">
|
||||
<form string="Audit">
|
||||
<header>
|
||||
<!-- Phase D5 — Audit is QM-only per spec section 2.C
|
||||
<!-- Phase D5 - Audit is QM-only per spec section 2.C
|
||||
(Manager has read; QM owns CRUD + close). -->
|
||||
<button name="action_start" string="Start Audit" type="object"
|
||||
class="oe_highlight" invisible="state != 'planned'"
|
||||
|
||||
@@ -38,7 +38,7 @@
|
||||
<field name="arch" type="xml">
|
||||
<form string="Approved Vendor">
|
||||
<header>
|
||||
<!-- Phase D5 — AVL state transitions are QM-only per spec
|
||||
<!-- Phase D5 - AVL state transitions are QM-only per spec
|
||||
section 2.C (Manager has read; QM owns Add/Approve/
|
||||
Disqualify). Spec lists "Approve / Disqualify"; this
|
||||
model uses Approve + Suspend + Reinstate + Remove,
|
||||
|
||||
@@ -107,7 +107,7 @@
|
||||
<t t-name="card">
|
||||
<div class="o_fp_card" t-att-data-state="record.state.raw_value">
|
||||
<strong class="o_fp_card_title">
|
||||
<field name="code"/> — <field name="name"/>
|
||||
<field name="code"/> - <field name="name"/>
|
||||
</strong>
|
||||
<div class="small text-muted"><field name="equipment_type"/></div>
|
||||
<div class="small mt-2">
|
||||
|
||||
@@ -35,7 +35,7 @@
|
||||
<field name="arch" type="xml">
|
||||
<form string="CAPA">
|
||||
<header>
|
||||
<!-- Phase D5 — every state-transition button is QM-only.
|
||||
<!-- Phase D5 - every state-transition button is QM-only.
|
||||
Per spec section 2.C, Manager has read+comment only;
|
||||
QM owns CRUD + close + effectiveness verification. -->
|
||||
<button name="action_start_analysis" string="Start Analysis" type="object"
|
||||
@@ -67,7 +67,7 @@
|
||||
<label for="name"/>
|
||||
<h1><field name="name" readonly="1"/></h1>
|
||||
</div>
|
||||
<!-- Phase D5 — editable fields readonly for non-QM. Per
|
||||
<!-- Phase D5 - editable fields readonly for non-QM. Per
|
||||
spec section 2.C, Manager retains read+comment only;
|
||||
QM owns CRUD. Form stays visible (Manager needs to
|
||||
read + chatter); only the inputs lock for non-QM. -->
|
||||
|
||||
@@ -3,12 +3,12 @@
|
||||
Copyright 2026 Nexa Systems Inc.
|
||||
License OPL-1 (Odoo Proprietary License v1.0)
|
||||
Part of the Fusion Plating product family.
|
||||
Sub 4 — Contract Review (QA-005 1:1 reproduction).
|
||||
Sub 4 - Contract Review (QA-005 1:1 reproduction).
|
||||
-->
|
||||
<odoo>
|
||||
|
||||
<!-- ================================================================== -->
|
||||
<!-- FORM VIEW — laid out to mirror QA-005 Rev. 0 as closely as Odoo -->
|
||||
<!-- FORM VIEW - laid out to mirror QA-005 Rev. 0 as closely as Odoo -->
|
||||
<!-- backend forms permit. Printed PDF is the 1:1 artefact; this form -->
|
||||
<!-- is the data-entry counterpart. -->
|
||||
<!-- ================================================================== -->
|
||||
@@ -63,7 +63,7 @@
|
||||
</group>
|
||||
|
||||
<notebook>
|
||||
<!-- ========= SECTION 2.0 — Planning / Production Review ========= -->
|
||||
<!-- ========= SECTION 2.0 - Planning / Production Review ========= -->
|
||||
<page string="2.0 Planning / Production Review"
|
||||
name="section_20">
|
||||
<group>
|
||||
@@ -118,7 +118,7 @@
|
||||
</group>
|
||||
</page>
|
||||
|
||||
<!-- ========= SECTION 3.0 — Quality Review ========= -->
|
||||
<!-- ========= SECTION 3.0 - Quality Review ========= -->
|
||||
<page string="3.0 Quality Review" name="section_30">
|
||||
<group>
|
||||
<field name="s30_locked" invisible="1"/>
|
||||
|
||||
@@ -32,10 +32,10 @@
|
||||
<form string="Customer Specification">
|
||||
<sheet>
|
||||
<div class="oe_title">
|
||||
<!-- Phase D5 — Customer Spec is QM-only for edits per
|
||||
<!-- Phase D5 - Customer Spec is QM-only for edits per
|
||||
spec section 2.C (Manager has read + attach to
|
||||
parts; QM owns CRUD as library curator). Form
|
||||
stays visible — only inputs lock for non-QM. -->
|
||||
stays visible - only inputs lock for non-QM. -->
|
||||
<label for="name"/>
|
||||
<h1><field name="name"
|
||||
/></h1>
|
||||
@@ -116,7 +116,7 @@
|
||||
</p>
|
||||
<p>
|
||||
The Specifications library holds every standard your
|
||||
customers cite on POs — industry standards (AMS 2404,
|
||||
customers cite on POs - industry standards (AMS 2404,
|
||||
ASTM B733, MIL-C-26074), prime-specific codes (Boeing
|
||||
BAC 5680, Lockheed LMS-3045), and your own internal
|
||||
references.
|
||||
@@ -130,7 +130,7 @@
|
||||
</p>
|
||||
<p>
|
||||
Add a new Specification the moment a new code shows up
|
||||
on a customer PO — there's no need to wait for a
|
||||
on a customer PO - there's no need to wait for a
|
||||
manager. Set the document URL so the controlled copy
|
||||
is one click away during audits.
|
||||
</p>
|
||||
|
||||
@@ -38,7 +38,7 @@
|
||||
<field name="arch" type="xml">
|
||||
<form string="First Article Inspection Report">
|
||||
<header>
|
||||
<!-- Phase D5 — FAIR Approve/Reject = sign-off equivalent;
|
||||
<!-- Phase D5 - FAIR Approve/Reject = sign-off equivalent;
|
||||
QM-only per spec section 2.C (FAIR/Nadcap signing is
|
||||
restricted to Quality Manager regardless of who can
|
||||
see / create the FAIR record). Submit-for-review and
|
||||
|
||||
@@ -56,7 +56,7 @@
|
||||
action="action_fp_doc_control"
|
||||
sequence="50"/>
|
||||
|
||||
<!-- Phase 2 — calibration into Materials & Tanks; specs+AVL into Quality & Documents. -->
|
||||
<!-- Phase 2 - calibration into Materials & Tanks; specs+AVL into Quality & Documents. -->
|
||||
<menuitem id="menu_fp_config_cal_equipment"
|
||||
name="Calibration Equipment"
|
||||
parent="fusion_plating.menu_fp_config_materials_tanks"
|
||||
@@ -69,7 +69,7 @@
|
||||
action="action_fp_cal_event"
|
||||
sequence="60"/>
|
||||
|
||||
<!-- Promote-Customer-Spec (Phase F) — Specifications is now central
|
||||
<!-- Promote-Customer-Spec (Phase F) - Specifications is now central
|
||||
to order entry (estimators add new BAC / AMS / customer codes
|
||||
when they hit them). Moved out of Configuration (manager-only)
|
||||
into Quality where the workflow lives. Single menu, accessible
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
Copyright 2026 Nexa Systems Inc.
|
||||
License OPL-1 (Odoo Proprietary License v1.0)
|
||||
Part of the Fusion Plating product family.
|
||||
Sub 4 — Contract Review banner + tab on fp.part.catalog.
|
||||
Sub 4 - Contract Review banner + tab on fp.part.catalog.
|
||||
-->
|
||||
<odoo>
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
<field name="inherit_id" ref="fusion_plating_configurator.view_fp_part_catalog_form"/>
|
||||
<field name="arch" type="xml">
|
||||
|
||||
<!-- ===== Smart button — Contract Review ===== -->
|
||||
<!-- ===== Smart button - Contract Review ===== -->
|
||||
<xpath expr="//div[@name='button_box']" position="inside">
|
||||
<button name="action_start_contract_review"
|
||||
type="object"
|
||||
@@ -22,7 +22,7 @@
|
||||
<div class="o_stat_info">
|
||||
<span class="o_stat_value"
|
||||
invisible="x_fc_contract_review_id">
|
||||
—
|
||||
-
|
||||
</span>
|
||||
<field name="x_fc_contract_review_state"
|
||||
widget="badge"
|
||||
@@ -48,7 +48,7 @@
|
||||
<i class="fa fa-info-circle me-2"/>
|
||||
<strong>New part created.</strong>
|
||||
Please complete the Contract Review (QA-005) if applicable.
|
||||
This is optional — it can be dismissed and never blocks production.
|
||||
This is optional - it can be dismissed and never blocks production.
|
||||
<div class="mt-2">
|
||||
<button name="action_start_contract_review"
|
||||
type="object"
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
License OPL-1 (Odoo Proprietary License v1.0)
|
||||
Part of the Fusion Plating product family.
|
||||
|
||||
Sub 12 Phase B — back-office views for the four categorisation models
|
||||
Sub 12 Phase B - back-office views for the four categorisation models
|
||||
(tag / reason / team / stage). All sit under Configuration → Quality.
|
||||
-->
|
||||
<odoo>
|
||||
@@ -134,12 +134,12 @@
|
||||
<field name="help" type="html">
|
||||
<p>Shared kanban-stage namespace for NCR + RMA. Codes are
|
||||
referenced by the state ↔ stage_id sync in
|
||||
fp_quality_categorisation_links.py — don't rename codes
|
||||
fp_quality_categorisation_links.py - don't rename codes
|
||||
without checking that file.</p>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<!-- Phase 2 — categorisation goes into Quality & Documents;
|
||||
<!-- Phase 2 - categorisation goes into Quality & Documents;
|
||||
Quality Teams goes into Workforce. -->
|
||||
<menuitem id="menu_fp_config_quality_tag"
|
||||
name="Quality Tags"
|
||||
|
||||
@@ -149,7 +149,7 @@
|
||||
<group>
|
||||
<field name="thickness_report_pdf_id"
|
||||
widget="many2one_binary"
|
||||
help="Upload the Fischerscope / XDAL 600 PDF — readings will be auto-extracted."/>
|
||||
help="Upload the Fischerscope / XDAL 600 PDF - readings will be auto-extracted."/>
|
||||
<field name="thickness_reading_count" readonly="1"/>
|
||||
<field name="require_thickness_readings" readonly="1"/>
|
||||
<field name="require_thickness_report_pdf" readonly="1"/>
|
||||
@@ -218,7 +218,7 @@
|
||||
<field name="search_view_id" ref="fp_quality_check_search"/>
|
||||
</record>
|
||||
|
||||
<!-- ===== Menu — add QC Checks + QC Templates under Quality ===== -->
|
||||
<!-- ===== Menu - add QC Checks + QC Templates under Quality ===== -->
|
||||
<menuitem id="menu_fp_quality_check"
|
||||
name="Quality Checks"
|
||||
parent="fusion_plating_quality.menu_fp_quality"
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
License OPL-1 (Odoo Proprietary License v1.0)
|
||||
Part of the Fusion Plating product family.
|
||||
|
||||
Sub 12 Phase D — client action + menu for the Unified Quality Dashboard.
|
||||
Sub 12 Phase D - client action + menu for the Unified Quality Dashboard.
|
||||
-->
|
||||
<odoo>
|
||||
|
||||
|
||||
@@ -117,7 +117,7 @@
|
||||
<t t-name="card">
|
||||
<field name="name" class="fw-bold"/>
|
||||
<div>
|
||||
<field name="part_ref"/> —
|
||||
<field name="part_ref"/> -
|
||||
<field name="qty_on_hold"/> pcs
|
||||
</div>
|
||||
<div>
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
License OPL-1 (Odoo Proprietary License v1.0)
|
||||
Part of the Fusion Plating product family.
|
||||
|
||||
Sub 12 Phase C — back-office views for fp.quality.point.
|
||||
Sub 12 Phase C - back-office views for fp.quality.point.
|
||||
-->
|
||||
<odoo>
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
License OPL-1 (Odoo Proprietary License v1.0)
|
||||
Part of the Fusion Plating product family.
|
||||
|
||||
Sub 12 Phase D — surface the new smart-button counts on:
|
||||
Sub 12 Phase D - surface the new smart-button counts on:
|
||||
- fp.job form
|
||||
- sale.order form
|
||||
- res.partner form
|
||||
@@ -15,7 +15,7 @@
|
||||
<odoo>
|
||||
|
||||
<!-- fp.job smart-button row lives in fusion_plating_jobs because the
|
||||
button_box is added by that module (see Phase D notes — quality
|
||||
button_box is added by that module (see Phase D notes - quality
|
||||
can't depend on jobs without creating a cycle). -->
|
||||
|
||||
<!-- =============================================== sale.order ===== -->
|
||||
@@ -73,7 +73,7 @@
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<!-- ====================================== NCR — Spawn CAPA ===== -->
|
||||
<!-- ====================================== NCR - Spawn CAPA ===== -->
|
||||
<record id="view_fp_ncr_form_spawn_capa" model="ir.ui.view">
|
||||
<field name="name">fp.ncr.form.spawn.capa</field>
|
||||
<field name="model">fusion.plating.ncr</field>
|
||||
@@ -89,7 +89,7 @@
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<!-- ============================ CAPA — Verify Effectiveness ===== -->
|
||||
<!-- ============================ CAPA - Verify Effectiveness ===== -->
|
||||
<record id="view_fp_capa_form_verify" model="ir.ui.view">
|
||||
<field name="name">fp.capa.form.verify</field>
|
||||
<field name="model">fusion.plating.capa</field>
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
License OPL-1 (Odoo Proprietary License v1.0)
|
||||
Part of the Fusion Plating product family.
|
||||
|
||||
Sub 12 Phase A — RMA list / form / kanban / search + window action.
|
||||
Sub 12 Phase A - RMA list / form / kanban / search + window action.
|
||||
-->
|
||||
<odoo>
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
Copyright 2026 Nexa Systems Inc.
|
||||
License OPL-1 (Odoo Proprietary License v1.0)
|
||||
Part of the Fusion Plating product family.
|
||||
Sub 4 — Contract Review signer rosters in Fusion Plating settings.
|
||||
Sub 4 - Contract Review signer rosters in Fusion Plating settings.
|
||||
-->
|
||||
<odoo>
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
name="fp_contract_review_settings"
|
||||
help="Choose which users are authorised to sign each
|
||||
section of a Contract Review. Users on these
|
||||
lists gain only the right to sign — no other
|
||||
lists gain only the right to sign - no other
|
||||
permissions are affected. Plating Managers can
|
||||
always sign regardless of these lists.">
|
||||
<setting id="fp_qa_assistant_signers"
|
||||
@@ -26,7 +26,7 @@
|
||||
help="Users authorised to sign Section 2.0
|
||||
(Planning / Production Review). Typically
|
||||
one or two people. Leave empty if any
|
||||
user should be able to sign — in that
|
||||
user should be able to sign - in that
|
||||
case a Plating Manager is the only
|
||||
required approver.">
|
||||
<field name="x_fc_qa_assistant_user_ids"
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
Copyright 2026 Nexa Systems Inc.
|
||||
License OPL-1 (Odoo Proprietary License v1.0)
|
||||
Part of the Fusion Plating product family.
|
||||
Sub 4 — Contract Review toggle on customer.
|
||||
Sub 4 - Contract Review toggle on customer.
|
||||
-->
|
||||
<odoo>
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
Toggle this on so QA sees a Contract Review
|
||||
reminder banner whenever a new part is created
|
||||
under this customer. The reminder is always
|
||||
optional — it can be dismissed and never blocks
|
||||
optional - it can be dismissed and never blocks
|
||||
production. Once the part reaches a confirmed
|
||||
manufacturing order, the banner disappears on
|
||||
its own.
|
||||
|
||||
@@ -40,7 +40,7 @@
|
||||
|
||||
<!-- The SO list's coating column is on sale.order itself (header
|
||||
field). Adding a parallel spec column on the order header is
|
||||
a Phase B+ enhancement — for now, the line tree (above) is
|
||||
a Phase B+ enhancement - for now, the line tree (above) is
|
||||
sufficient for the operator. -->
|
||||
|
||||
</odoo>
|
||||
|
||||
Reference in New Issue
Block a user