36 lines
1.3 KiB
Python

# -*- 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)