diff --git a/quality_control_stock/models/qc_inspection.py b/quality_control_stock/models/qc_inspection.py index 385adb92b..ba7382b6f 100644 --- a/quality_control_stock/models/qc_inspection.py +++ b/quality_control_stock/models/qc_inspection.py @@ -29,6 +29,8 @@ class QcInspection(models.Model): self.lot = self.object_id.lot_id elif self.object_id._name == 'stock.move': self.lot = self.object_id.lot_ids[:1] + elif self.object_id._name == 'stock.production.lot': + self.lot = self.object_id @api.one @api.depends('object_id') @@ -40,6 +42,8 @@ class QcInspection(models.Model): self.product = self.object_id.product_id elif self.object_id._name == 'stock.pack.operation': self.product = self.object_id.product_id + elif self.object_id._name == 'stock.production.lot': + self.product = self.object_id.product_id @api.onchange('object_id') def onchange_object_id(self): diff --git a/quality_control_stock/tests/test_quality_control_stock.py b/quality_control_stock/tests/test_quality_control_stock.py index ee8d8267b..bdb78bbc6 100644 --- a/quality_control_stock/tests/test_quality_control_stock.py +++ b/quality_control_stock/tests/test_quality_control_stock.py @@ -237,3 +237,14 @@ class TestQualityControl(TransactionCase): self.picking1.move_lines[:1].product_id) self.assertEquals(self.inspection1.qty, self.picking1.move_lines[:1].product_qty) + + def test_qc_inspection_lot(self): + self.inspection1.write({ + 'object_id': '%s,%d' % (self.lot._model, + self.lot.id), + }) + self.inspection1.onchange_object_id() + self.assertEquals(self.inspection1.lot, + self.lot) + self.assertEquals(self.inspection1.product, + self.lot.product_id) diff --git a/quality_control_stock/views/qc_inspection_view.xml b/quality_control_stock/views/qc_inspection_view.xml index 3e3d949dc..bc4780e4d 100644 --- a/quality_control_stock/views/qc_inspection_view.xml +++ b/quality_control_stock/views/qc_inspection_view.xml @@ -31,6 +31,10 @@ qc.inspection + + + +