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

@@ -15,7 +15,7 @@ class FpAs9100Clause(models.Model):
the specific paragraph of the standard it satisfies.
"""
_name = 'fusion.plating.as9100.clause'
_description = 'Fusion Plating AS9100 Clause'
_description = 'Fusion Plating - AS9100 Clause'
_order = 'standard, code, id'
_parent_store = True
_rec_name = 'display_name'
@@ -93,4 +93,4 @@ class FpAs9100Clause(models.Model):
parts.append(rec.code)
if rec.name:
parts.append(rec.name)
rec.display_name = ' '.join(parts) if parts else ''
rec.display_name = ' - '.join(parts) if parts else ''

View File

@@ -15,7 +15,7 @@ class FpConfigItem(models.Model):
revision, and a change history log for traceability.
"""
_name = 'fusion.plating.config.item'
_description = 'Fusion Plating Configuration Management Item'
_description = 'Fusion Plating - Configuration Management Item'
_inherit = ['mail.thread', 'mail.activity.mixin']
_order = 'name, id'
@@ -37,7 +37,7 @@ class FpConfigItem(models.Model):
current_revision = fields.Char(
string='Current Revision',
tracking=True,
help='The revision currently in effect usually the most '
help='The revision currently in effect - usually the most '
'recently approved change.',
)
approved_by_id = fields.Many2one(

View File

@@ -14,7 +14,7 @@ class FpCounterfeitPrevention(models.Model):
chain. Required by AS9100 §8.1.4 Counterfeit Parts Prevention.
"""
_name = 'fusion.plating.counterfeit.prevention'
_description = 'Fusion Plating Counterfeit Parts Prevention Log'
_description = 'Fusion Plating - Counterfeit Parts Prevention Log'
_inherit = ['mail.thread', 'mail.activity.mixin']
_order = 'incident_date desc, id desc'

View File

@@ -17,21 +17,21 @@ class FpFair(models.Model):
x_fc_as9102_form1 = fields.Binary(
string='AS9102 Form 1 (Part Accountability)',
help='Scanned / generated copy of AS9102 Form 1 part '
help='Scanned / generated copy of AS9102 Form 1 - part '
'accountability header.',
)
x_fc_as9102_form1_filename = fields.Char(string='Form 1 Filename')
x_fc_as9102_form2 = fields.Binary(
string='AS9102 Form 2 (Product Accountability)',
help='Scanned / generated copy of AS9102 Form 2 product '
help='Scanned / generated copy of AS9102 Form 2 - product '
'accountability, raw material / process / inspection records.',
)
x_fc_as9102_form2_filename = fields.Char(string='Form 2 Filename')
x_fc_as9102_form3 = fields.Binary(
string='AS9102 Form 3 (Characteristic Accountability)',
help='Scanned / generated copy of AS9102 Form 3 characteristic '
help='Scanned / generated copy of AS9102 Form 3 - characteristic '
'accountability, verification, and compatibility evaluation.',
)
x_fc_as9102_form3_filename = fields.Char(string='Form 3 Filename')
@@ -39,7 +39,7 @@ class FpFair(models.Model):
x_fc_drawing_revision = fields.Char(
string='Drawing Revision',
tracking=True,
help='Customer drawing revision this FAIR is against must match '
help='Customer drawing revision this FAIR is against - must match '
'the revision shipped to the customer.',
)
x_fc_customer_approval_id = fields.Many2one(

View File

@@ -16,7 +16,7 @@ class FpNadcapAudit(models.Model):
merit/NCR tracking that don't map cleanly to the generic audit flow.
"""
_name = 'fusion.plating.nadcap.audit'
_description = 'Fusion Plating Nadcap AC7108 Audit'
_description = 'Fusion Plating - Nadcap AC7108 Audit'
_inherit = ['mail.thread', 'mail.activity.mixin']
_order = 'audit_date desc, id desc'
@@ -45,12 +45,12 @@ class FpNadcapAudit(models.Model):
)
checklist = fields.Selection(
[
('ac7108_base', 'AC7108 Base Checklist'),
('ac7108_10_electroless', 'AC7108/10 Electroless Nickel'),
('ac7108_11_brush', 'AC7108/11 Brush Plating'),
('ac7108_12_chrome', 'AC7108/12 Chromium Plating'),
('ac7108_13_anodize', 'AC7108/13 Anodize'),
('ac7108_14_conv', 'AC7108/14 Conversion Coating'),
('ac7108_base', 'AC7108 - Base Checklist'),
('ac7108_10_electroless', 'AC7108/10 - Electroless Nickel'),
('ac7108_11_brush', 'AC7108/11 - Brush Plating'),
('ac7108_12_chrome', 'AC7108/12 - Chromium Plating'),
('ac7108_13_anodize', 'AC7108/13 - Anodize'),
('ac7108_14_conv', 'AC7108/14 - Conversion Coating'),
],
string='Checklist',
default='ac7108_base',

View File

@@ -10,12 +10,12 @@ class FpRisk(models.Model):
"""Risk register entry.
Implements the operational risk management requirement from AS9100
Rev D §8.1.1. Each risk gets scored on a 15 likelihood and 15
Rev D §8.1.1. Each risk gets scored on a 1-5 likelihood and 1-5
impact scale; the multiplicative score drives the level classification
(low / medium / high / critical) used for escalation and reporting.
"""
_name = 'fusion.plating.risk'
_description = 'Fusion Plating Risk Register Entry'
_description = 'Fusion Plating - Risk Register Entry'
_inherit = ['mail.thread', 'mail.activity.mixin']
_order = 'risk_score desc, id desc'
@@ -53,11 +53,11 @@ class FpRisk(models.Model):
)
likelihood = fields.Selection(
[
('1', '1 Very Low'),
('2', '2 Low'),
('3', '3 Medium'),
('4', '4 High'),
('5', '5 Very High'),
('1', '1 - Very Low'),
('2', '2 - Low'),
('3', '3 - Medium'),
('4', '4 - High'),
('5', '5 - Very High'),
],
string='Likelihood',
default='3',
@@ -66,11 +66,11 @@ class FpRisk(models.Model):
)
impact = fields.Selection(
[
('1', '1 Very Low'),
('2', '2 Low'),
('3', '3 Medium'),
('4', '4 High'),
('5', '5 Very High'),
('1', '1 - Very Low'),
('2', '2 - Low'),
('3', '3 - Medium'),
('4', '4 - High'),
('5', '5 - Very High'),
],
string='Impact',
default='3',
@@ -81,7 +81,7 @@ class FpRisk(models.Model):
string='Score',
compute='_compute_risk_score',
store=True,
help='Likelihood × Impact (125).',
help='Likelihood × Impact (1-25).',
)
risk_level = fields.Selection(
[