Files
Odoo-Modules/fusion_plating/fusion_plating_nuclear/models/fp_customer_spec.py
2026-04-16 20:53:53 -04:00

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,
)