50 lines
1.7 KiB
Python
50 lines
1.7 KiB
Python
# -*- coding: utf-8 -*-
|
|
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
|
|
|
from odoo import api, fields, models
|
|
|
|
|
|
class QualityPoint(models.Model):
|
|
_inherit = "quality.point"
|
|
|
|
@api.model
|
|
def _get_domain_for_production(self, quality_points_domain):
|
|
return quality_points_domain
|
|
|
|
|
|
class QualityCheck(models.Model):
|
|
_inherit = "quality.check"
|
|
|
|
production_id = fields.Many2one(
|
|
'mrp.production', 'Production Order', check_company=True)
|
|
|
|
@api.depends('move_line_id.qty_done')
|
|
def _compute_qty_line(self):
|
|
record_without_production = self.env['quality.check']
|
|
for qc in self:
|
|
if qc.production_id:
|
|
qc.qty_line = qc.production_id.qty_producing
|
|
else:
|
|
record_without_production |= qc
|
|
return super(QualityCheck, record_without_production)._compute_qty_line()
|
|
|
|
@api.depends('production_id.lot_producing_id')
|
|
def _compute_lot_line_id(self):
|
|
op_level_comp_qc = self.env['quality.check']
|
|
for qc in self:
|
|
if qc.test_type in ('register_consumed_materials', 'register_byproducts'):
|
|
continue
|
|
if qc.product_id == qc.production_id.product_id and qc.production_id.lot_producing_id:
|
|
qc.lot_line_id = qc.production_id.lot_producing_id
|
|
qc.lot_id = qc.lot_line_id
|
|
continue
|
|
op_level_comp_qc |= qc
|
|
return super(QualityCheck, op_level_comp_qc)._compute_lot_line_id()
|
|
|
|
|
|
class QualityAlert(models.Model):
|
|
_inherit = "quality.alert"
|
|
|
|
production_id = fields.Many2one(
|
|
'mrp.production', "Production Order", check_company=True)
|