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:
@@ -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'
|
||||
|
||||
|
||||
@@ -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'
|
||||
|
||||
|
||||
@@ -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'),
|
||||
|
||||
@@ -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(
|
||||
[
|
||||
|
||||
@@ -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'
|
||||
|
||||
|
||||
@@ -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'
|
||||
|
||||
|
||||
@@ -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'
|
||||
|
||||
|
||||
@@ -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.
|
||||
|
||||
Reference in New Issue
Block a user