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:
@@ -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 ''
|
||||
|
||||
@@ -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(
|
||||
|
||||
@@ -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'
|
||||
|
||||
|
||||
@@ -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(
|
||||
|
||||
@@ -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',
|
||||
|
||||
@@ -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 1–5 likelihood and 1–5
|
||||
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 (1–25).',
|
||||
help='Likelihood × Impact (1-25).',
|
||||
)
|
||||
risk_level = fields.Selection(
|
||||
[
|
||||
|
||||
Reference in New Issue
Block a user