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

@@ -7,7 +7,7 @@ from odoo import api, fields, models
class Fp10CFR21Report(models.Model):
"""10 CFR Part 21 Reporting of Defects and Noncompliance.
"""10 CFR Part 21 - Reporting of Defects and Noncompliance.
10 CFR Part 21 is the US Nuclear Regulatory Commission regulation
that requires suppliers of basic components to nuclear facilities
@@ -16,20 +16,20 @@ class Fp10CFR21Report(models.Model):
The typical workflow is:
1. discovery something is observed that might be a defect
2. evaluation determine whether it rises to the level of a
1. discovery - something is observed that might be a defect
2. evaluation - determine whether it rises to the level of a
"substantial safety hazard" (reportable)
3. reportable yes, it's reportable → file with NRC
3. reportable - yes, it's reportable → file with NRC
or
not_reportable evaluation closes with a documented basis
4. reported notice filed with NRC and affected customers
5. closed corrective action verified, record sealed
not_reportable - evaluation closes with a documented basis
4. reported - notice filed with NRC and affected customers
5. closed - corrective action verified, record sealed
The record has a due date that is 60 days after discovery, driven by
the `days_since_discovery` computed field.
"""
_name = 'fusion.plating.10cfr21.report'
_description = 'Fusion Plating 10 CFR Part 21 Defect Report'
_description = 'Fusion Plating - 10 CFR Part 21 Defect Report'
_inherit = ['mail.thread', 'mail.activity.mixin']
_order = 'discovery_date desc, id desc'

View File

@@ -11,7 +11,7 @@ class FpCnscLicence(models.Model):
The Canadian Nuclear Safety Commission (CNSC) regulates all nuclear
activities in Canada. A plating / finishing supplier that works on
nuclear items may hold or be listed under one or more CNSC
nuclear items may hold - or be listed under - one or more CNSC
licences:
* Class II nuclear facility licence (on-site sources,
@@ -24,7 +24,7 @@ class FpCnscLicence(models.Model):
compliance awareness.
"""
_name = 'fusion.plating.cnsc.licence'
_description = 'Fusion Plating CNSC Licence'
_description = 'Fusion Plating - CNSC Licence'
_inherit = ['mail.thread', 'mail.activity.mixin']
_order = 'expiry_date, name'

View File

@@ -39,7 +39,7 @@ class FpCustomerSpec(models.Model):
)
x_fc_nuclear_customer_type = fields.Selection(
[
('opg', 'OPG Ontario Power Generation'),
('opg', 'OPG - Ontario Power Generation'),
('bruce_power', 'Bruce Power'),
('aecl', 'AECL / CNL'),
('cameco', 'Cameco'),

View File

@@ -14,17 +14,17 @@ class FpN299Level(models.Model):
supplied to nuclear power plants. It defines four levels of quality
programs keyed to the safety classification of the supplied item:
Level 1 Safety-critical items (highest)
Level 2 Safety-related items
Level 3 Items important to safety
Level 4 Commercial grade (lowest)
Level 1 - Safety-critical items (highest)
Level 2 - Safety-related items
Level 3 - Items important to safety
Level 4 - Commercial grade (lowest)
The level drives how long nuclear quality records must be retained
(life-of-plant on the highest levels, commercial norms on the lowest)
and how rigorous the supplier's quality program must be.
"""
_name = 'fusion.plating.n299.level'
_description = 'Fusion Plating CSA N299 Quality Level'
_description = 'Fusion Plating - CSA N299 Quality Level'
_order = 'level_number, code'
name = fields.Char(
@@ -52,7 +52,7 @@ class FpN299Level(models.Model):
default=40,
help='Default records-retention period for this level. Canadian nuclear '
'quality records are typically retained for 40 years or longer at '
'the highest levels often "life of plant".',
'the highest levels - often "life of plant".',
)
safety_classification = fields.Selection(
[

View File

@@ -22,7 +22,7 @@ class FpNuclearItp(models.Model):
approved, any deviation needs a change record.
"""
_name = 'fusion.plating.nuclear.itp'
_description = 'Fusion Plating Nuclear Inspection and Test Plan'
_description = 'Fusion Plating - Nuclear Inspection and Test Plan'
_inherit = ['mail.thread', 'mail.activity.mixin']
_order = 'name desc'

View File

@@ -14,8 +14,8 @@ class FpNuclearPedigree(models.Model):
Nuclear pedigree is the unbroken chain of traceability from the raw
material a plated part was made from, through every processing
step, to the finished and shipped component. Nuclear operators use
pedigree records decades after shipment long after the original
work order has aged out of normal systems which is why the
pedigree records decades after shipment - long after the original
work order has aged out of normal systems - which is why the
retention clock is driven by the N299 level rather than a generic
document-retention rule.
@@ -24,7 +24,7 @@ class FpNuclearPedigree(models.Model):
the normal change-control process.
"""
_name = 'fusion.plating.nuclear.pedigree'
_description = 'Fusion Plating Nuclear Pedigree Record'
_description = 'Fusion Plating - Nuclear Pedigree Record'
_inherit = ['mail.thread', 'mail.activity.mixin']
_order = 'ship_date desc, id desc'

View File

@@ -16,11 +16,11 @@ class FpNuclearProgram(models.Model):
revision, the target N299 level, supplier certification status, and
the audit cadence (internal, customer, CNSC awareness).
A facility can have more than one nuclear program e.g. a Level 3
A facility can have more than one nuclear program - e.g. a Level 3
program for OPG work and a separate NQA-1 program for a US utility.
"""
_name = 'fusion.plating.nuclear.program'
_description = 'Fusion Plating Nuclear Quality Program'
_description = 'Fusion Plating - Nuclear Quality Program'
_inherit = ['mail.thread', 'mail.activity.mixin']
_order = 'facility_id, name'

View File

@@ -10,7 +10,7 @@ class ResCompany(models.Model):
"""Extend company with a default nuclear records retention policy.
Nuclear quality records typically have to be retained for 40 years
or longer far beyond the standard document-retention rule of a
or longer - far beyond the standard document-retention rule of a
commercial shop. This field sets the company-wide default used
when a pedigree record has no N299 level linked or when a higher
authority needs to be applied.