# -*- coding: utf-8 -*- from odoo import models, fields, api class C2CBomOutputLine(models.Model): """Stores additional finished product outputs on a BOM.""" _name = 'c2c.bom.output.line' _description = 'C2C BOM Output Line' bom_id = fields.Many2one('mrp.bom', string='Bill of Materials', ondelete='cascade', required=True) product_id = fields.Many2one('product.product', string='Output Product', required=True) product_qty = fields.Float('Quantity', default=1.0, required=True) product_uom_id = fields.Many2one('uom.uom', string='Unit', related='product_id.uom_id', readonly=True, store=True) tracking = fields.Selection(related='product_id.tracking', readonly=True) quality_grade = fields.Selection(related='product_id.quality_grade', readonly=True) description = fields.Char(string='Notes') class MrpBom(models.Model): _inherit = 'mrp.bom' c2c_output_line_ids = fields.One2many( 'c2c.bom.output.line', 'bom_id', string='Additional Output Products' ) is_multi_output = fields.Boolean( string='Multi-Output BOM', compute='_compute_is_multi_output', store=True ) @api.depends('c2c_output_line_ids') def _compute_is_multi_output(self): for bom in self: bom.is_multi_output = bool(bom.c2c_output_line_ids)