# -*- coding: utf-8 -*- # Copyright 2026 Nexa Systems Inc. # License OPL-1 (Odoo Proprietary License v1.0) # Part of the Fusion Plating product family. # # Sub 12 Phase B — quality reason (root-cause classification library). from odoo import fields, models class FpQualityReason(models.Model): _name = 'fp.quality.reason' _description = 'Fusion Plating — Quality Reason' _order = 'category, name' name = fields.Char(required=True, translate=True) description = fields.Text(translate=True) category = fields.Selection( [ ('process', 'Process'), ('supplier', 'Supplier / Material Inbound'), ('equipment', 'Equipment / Calibration'), ('human', 'Human Error / Training'), ('material', 'Material Defect'), ('other', 'Other'), ], string='Category', default='process', required=True, ) active = fields.Boolean(default=True) _sql_constraints = [ ('name_category_uniq', 'unique(name, category)', 'A reason with that name + category combination already exists.'), ]