55 lines
1.9 KiB
Python
55 lines
1.9 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):
|
|
"""Aerospace extension to the quality customer-spec model.
|
|
|
|
Adds the small set of aerospace-specific flags and linkages the
|
|
quality module deliberately keeps out of its generic implementation.
|
|
"""
|
|
_inherit = 'fusion.plating.customer.spec'
|
|
|
|
x_fc_is_aerospace = fields.Boolean(
|
|
string='Aerospace Spec',
|
|
tracking=True,
|
|
help='Check to mark this specification as aerospace-relevant so '
|
|
'it shows up in aerospace filters and dashboards.',
|
|
)
|
|
x_fc_as9100_clause_ids = fields.Many2many(
|
|
'fusion.plating.as9100.clause',
|
|
'fp_customer_spec_as9100_clause_rel',
|
|
'spec_id',
|
|
'clause_id',
|
|
string='Related AS9100 Clauses',
|
|
help='AS9100 Rev D clauses this specification maps to.',
|
|
)
|
|
x_fc_nadcap_required = fields.Boolean(
|
|
string='Nadcap Required',
|
|
tracking=True,
|
|
help='This specification can only be satisfied by a Nadcap-accredited '
|
|
'supplier.',
|
|
)
|
|
x_fc_requires_first_article = fields.Boolean(
|
|
string='Requires First Article',
|
|
tracking=True,
|
|
help='Running this specification on a new part number or revision '
|
|
'requires a full FAIR on file.',
|
|
)
|
|
x_fc_pri_file_code = fields.Char(
|
|
string='PRI File Code',
|
|
tracking=True,
|
|
help='Performance Review Institute file code assigned to this '
|
|
'specification, when known.',
|
|
)
|
|
x_fc_customer_approval_required = fields.Boolean(
|
|
string='Customer Approval Required',
|
|
tracking=True,
|
|
help='Each job against this spec requires explicit customer '
|
|
'approval before shipping.',
|
|
)
|