53 lines
1.8 KiB
Python
53 lines
1.8 KiB
Python
# -*- coding: utf-8 -*-
|
|
# Copyright 2026 Nexa Systems Inc.
|
|
# License OPL-1 (Odoo Proprietary License v1.0)
|
|
# Part of the Fusion Plating product family.
|
|
|
|
from odoo import fields, models
|
|
|
|
|
|
class FpCustomerSpec(models.Model):
|
|
"""Extend the quality customer-spec library with nuclear flags.
|
|
|
|
When a customer spec is flagged `x_fc_is_nuclear`, the system will
|
|
surface the N299 level, NQA-1 applicability and nuclear customer
|
|
type so that jobs referencing the spec can inherit the correct
|
|
retention and traceability rules.
|
|
"""
|
|
_inherit = 'fusion.plating.customer.spec'
|
|
|
|
x_fc_is_nuclear = fields.Boolean(
|
|
string='Nuclear Spec',
|
|
tracking=True,
|
|
help='Tick when this specification applies to nuclear work.',
|
|
)
|
|
x_fc_n299_level_id = fields.Many2one(
|
|
'fusion.plating.n299.level',
|
|
string='CSA N299 Level',
|
|
tracking=True,
|
|
)
|
|
x_fc_nqa1_applicable = fields.Boolean(
|
|
string='NQA-1 Applicable',
|
|
tracking=True,
|
|
help='Tick when this specification covers work subject to ASME NQA-1.',
|
|
)
|
|
x_fc_extended_retention_years = fields.Integer(
|
|
string='Extended Retention (Years)',
|
|
help='Override the default document-retention period for records '
|
|
'tied to this specification. Leave 0 to inherit the N299 level '
|
|
'default or the company default.',
|
|
)
|
|
x_fc_nuclear_customer_type = fields.Selection(
|
|
[
|
|
('opg', 'OPG — Ontario Power Generation'),
|
|
('bruce_power', 'Bruce Power'),
|
|
('aecl', 'AECL / CNL'),
|
|
('cameco', 'Cameco'),
|
|
('candu_energy', 'Candu Energy'),
|
|
('us_utility', 'US Nuclear Utility'),
|
|
('other', 'Other'),
|
|
],
|
|
string='Nuclear Customer Type',
|
|
tracking=True,
|
|
)
|