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:
gsinghpal
2026-06-05 00:16:19 -04:00
parent c9eb61ee0c
commit 8c76a16366
789 changed files with 4692 additions and 4692 deletions

View File

@@ -3,22 +3,22 @@
# License OPL-1 (Odoo Proprietary License v1.0)
# Part of the Fusion Plating product family.
#
# Phase 1 (Sub 11) relocated from fusion_plating_bridge_mrp.
# Phase 1 (Sub 11) - relocated from fusion_plating_bridge_mrp.
# This model never had MRP fields; the bridge module was just its
# initial home. Now lives under fusion_plating_jobs.
"""QC Checklist Template admin config for per-customer QC requirements.
"""QC Checklist Template - admin config for per-customer QC requirements.
Customers differ wildly in what they expect from quality control:
* commercial job-shop accounts often just want "did it plate?" one
* commercial job-shop accounts often just want "did it plate?" - one
visual check
* aerospace / Nadcap customers expect visual, dimensional,
adhesion, and Fischerscope thickness readings every part, every
adhesion, and Fischerscope thickness readings - every part, every
lot, signed off
* internal rework jobs may have no QC requirement at all
Rather than coding that policy into the shop, each customer gets their
own checklist template. On job confirm, the active template is cloned
into a fresh `fusion.plating.quality.check` the instance operators
into a fresh `fusion.plating.quality.check` - the instance operators
actually fill in.
"""
from odoo import api, fields, models, _
@@ -26,14 +26,14 @@ from odoo import api, fields, models, _
class FpQcChecklistTemplate(models.Model):
_name = 'fp.qc.checklist.template'
_description = 'Fusion Plating QC Checklist Template'
_description = 'Fusion Plating - QC Checklist Template'
_inherit = ['mail.thread']
_order = 'partner_id, sequence, name'
name = fields.Char(
string='Template Name', required=True, tracking=True,
help='e.g. "Standard Aerospace CoC + Thickness" or '
'"Commercial Visual Only".',
'"Commercial - Visual Only".',
)
sequence = fields.Integer(default=10)
active = fields.Boolean(default=True)
@@ -46,7 +46,7 @@ class FpQcChecklistTemplate(models.Model):
)
notes = fields.Html(
string='Notes',
help='Context for QC inspectors what this customer cares '
help='Context for QC inspectors - what this customer cares '
'about, common reject reasons, spec docs to reference.',
)
@@ -107,7 +107,7 @@ class FpQcChecklistTemplate(models.Model):
self.ensure_one()
return {
'type': 'ir.actions.act_window',
'name': _('QC Checks %s') % self.name,
'name': _('QC Checks - %s') % self.name,
'res_model': 'fusion.plating.quality.check',
'view_mode': 'list,form',
'domain': [('template_id', '=', self.id)],
@@ -117,7 +117,7 @@ class FpQcChecklistTemplate(models.Model):
class FpQcChecklistTemplateLine(models.Model):
_name = 'fp.qc.checklist.template.line'
_description = 'Fusion Plating QC Checklist Template Line'
_description = 'Fusion Plating - QC Checklist Template Line'
_order = 'sequence, id'
template_id = fields.Many2one(
@@ -128,7 +128,7 @@ class FpQcChecklistTemplateLine(models.Model):
name = fields.Char(
string='Check Item', required=True, translate=True,
help='The operator-facing question, e.g. "No visible pits or '
'blemishes on surface", "Thickness within 0.00050.0010".',
'blemishes on surface", "Thickness within 0.0005-0.0010".',
)
description = fields.Text(
string='Inspection Guidance',