From b16c5d1212e7368ba5580854dfedff04597c66d5 Mon Sep 17 00:00:00 2001 From: oihane Date: Tue, 3 Nov 2015 18:42:09 +0100 Subject: [PATCH] [IMP] quality_control_stock: * added demo data * replaced unlink method by ondelete="cascade" * required changes --- quality_control/README.rst | 6 ++++ quality_control_stock/README.rst | 6 ++++ quality_control_stock/models/qc_trigger.py | 2 +- .../models/stock_picking_type.py | 7 ---- .../tests/test_quality_control_stock.py | 35 ++++++++++++------- .../views/stock_picking_view.xml | 4 ++- .../views/stock_production_lot_view.xml | 2 ++ 7 files changed, 40 insertions(+), 22 deletions(-) diff --git a/quality_control/README.rst b/quality_control/README.rst index 5726462b0..62770fc46 100644 --- a/quality_control/README.rst +++ b/quality_control/README.rst @@ -51,6 +51,12 @@ Usage :target: https://runbot.odoo-community.org/runbot/129/8.0 +Known issues / Roadmap +====================== + +* Make translatable the trigger name. + + Bug Tracker =========== diff --git a/quality_control_stock/README.rst b/quality_control_stock/README.rst index 2814c7592..116962b20 100644 --- a/quality_control_stock/README.rst +++ b/quality_control_stock/README.rst @@ -19,6 +19,12 @@ Usage :target: https://runbot.odoo-community.org/runbot/129/8.0 +Known issues / Roadmap +====================== + +* Put trigger in all languages. + + Bug Tracker =========== diff --git a/quality_control_stock/models/qc_trigger.py b/quality_control_stock/models/qc_trigger.py index 013e9311c..5c0d7816e 100644 --- a/quality_control_stock/models/qc_trigger.py +++ b/quality_control_stock/models/qc_trigger.py @@ -9,4 +9,4 @@ class QcTrigger(models.Model): _inherit = 'qc.trigger' picking_type = fields.Many2one( - comodel_name="stock.picking.type", readonly=True) + comodel_name="stock.picking.type", readonly=True, ondelete="cascade") diff --git a/quality_control_stock/models/stock_picking_type.py b/quality_control_stock/models/stock_picking_type.py index e12d9d95e..7010cf3ba 100644 --- a/quality_control_stock/models/stock_picking_type.py +++ b/quality_control_stock/models/stock_picking_type.py @@ -11,7 +11,6 @@ class StockPickingType(models.Model): @api.multi def _create_qc_trigger(self): qc_trigger = { - # Synchronize all translations 'name': self.complete_name, 'company_id': self.warehouse_id.company_id.id, 'picking_type': self.id, @@ -34,9 +33,3 @@ class StockPickingType(models.Model): [('picking_type', '=', self.id)]) qc_trigger.name = self.complete_name return res - - @api.multi - def unlink(self): - self.env['qc.trigger'].sudo().search( - [('picking_type', '=', self.id)]).unlink() - return super(StockPickingType, self).unlink() diff --git a/quality_control_stock/tests/test_quality_control_stock.py b/quality_control_stock/tests/test_quality_control_stock.py index 995fc18c9..000dcf43c 100644 --- a/quality_control_stock/tests/test_quality_control_stock.py +++ b/quality_control_stock/tests/test_quality_control_stock.py @@ -10,8 +10,6 @@ class TestQualityControl(TransactionCase): def setUp(self): super(TestQualityControl, self).setUp() self.picking_model = self.env['stock.picking'] -# self.operation_model = self.env['stock.pack.operation'] -# self.transfer_details_model = self.env['stock.transfer_details'] self.inspection_model = self.env['qc.inspection'] self.qc_trigger_model = self.env['qc.trigger'] self.picking_type_model = self.env['stock.picking.type'] @@ -62,6 +60,8 @@ class TestQualityControl(TransactionCase): self.picking1.do_transfer() self.assertEqual(self.picking1.created_inspections, 1, 'Only one inspection must be created') + self.assertEqual(self.picking1.qc_inspections[:1].test, self.test, + 'Wrong test picked when creating inspection.') def test_inspection_create_for_template(self): self.product.product_tmpl_id.qc_triggers = [( @@ -73,6 +73,8 @@ class TestQualityControl(TransactionCase): self.picking1.do_transfer() self.assertEqual(self.picking1.created_inspections, 1, 'Only one inspection must be created') + self.assertEqual(self.picking1.qc_inspections[:1].test, self.test, + 'Wrong test picked when creating inspection.') def test_inspection_create_for_category(self): self.product.categ_id.qc_triggers = [( @@ -84,49 +86,57 @@ class TestQualityControl(TransactionCase): self.picking1.do_transfer() self.assertEqual(self.picking1.created_inspections, 1, 'Only one inspection must be created') + self.assertEqual(self.picking1.qc_inspections[:1].test, self.test, + 'Wrong test picked when creating inspection.') def test_inspection_create_for_product_partner(self): self.product.qc_triggers = [( 0, 0, { 'trigger': self.trigger.id, 'test': self.test.id, - 'partners': [(6, 0, [self.partner1.id])], + 'partners': [(6, 0, self.partner1.ids)], } )] self.picking1.do_transfer() self.assertEqual(self.picking1.created_inspections, 1, 'Only one inspection must be created') + self.assertEqual(self.picking1.qc_inspections[:1].test, self.test, + 'Wrong test picked when creating inspection.') def test_inspection_create_for_template_partner(self): self.product.product_tmpl_id.qc_triggers = [( 0, 0, { 'trigger': self.trigger.id, 'test': self.test.id, - 'partners': [(6, 0, [self.partner1.id])], + 'partners': [(6, 0, self.partner1.ids)], } )] self.picking1.do_transfer() self.assertEqual(self.picking1.created_inspections, 1, 'Only one inspection must be created') + self.assertEqual(self.picking1.qc_inspections[:1].test, self.test, + 'Wrong test picked when creating inspection.') def test_inspection_create_for_category_partner(self): self.product.categ_id.qc_triggers = [( 0, 0, { 'trigger': self.trigger.id, 'test': self.test.id, - 'partners': [(6, 0, [self.partner1.id])], + 'partners': [(6, 0, self.partner1.ids)], } )] self.picking1.do_transfer() self.assertEqual(self.picking1.created_inspections, 1, 'Only one inspection must be created') + self.assertEqual(self.picking1.qc_inspections[:1].test, self.test, + 'Wrong test picked when creating inspection.') def test_inspection_create_for_product_wrong_partner(self): self.product.qc_triggers = [( 0, 0, { 'trigger': self.trigger.id, 'test': self.test.id, - 'partners': [(6, 0, [self.partner2.id])], + 'partners': [(6, 0, self.partner2.ids)], } )] self.picking1.do_transfer() @@ -138,7 +148,7 @@ class TestQualityControl(TransactionCase): 0, 0, { 'trigger': self.trigger.id, 'test': self.test.id, - 'partners': [(6, 0, [self.partner2.id])], + 'partners': [(6, 0, self.partner2.ids)], } )] self.picking1.do_transfer() @@ -150,7 +160,7 @@ class TestQualityControl(TransactionCase): 0, 0, { 'trigger': self.trigger.id, 'test': self.test.id, - 'partners': [(6, 0, [self.partner2.id])], + 'partners': [(6, 0, self.partner2.ids)], } )] self.picking1.do_transfer() @@ -173,8 +183,12 @@ class TestQualityControl(TransactionCase): self.picking1.do_transfer() self.assertEqual(self.picking1.created_inspections, 1, 'Only one inspection must be created') + self.assertEqual(self.picking1.qc_inspections[:1].test, self.test, + 'Wrong test picked when creating inspection.') self.assertEqual(self.lot.created_inspections, 1, 'Only one inspection must be created') + self.assertEqual(self.lot.qc_inspections[:1].test, self.test, + 'Wrong test picked when creating inspection.') def test_picking_type(self): picking_type = self.picking_type_model.create({ @@ -193,11 +207,6 @@ class TestQualityControl(TransactionCase): }) self.assertEqual(trigger.name, picking_type.complete_name, 'Trigger name must match picking type name.') - picking_type.unlink() - trigger = self.qc_trigger_model.search( - [('picking_type', '=', picking_type.id)]) - self.assertEqual(len(trigger), 0, - 'Trigger must have been deleted.') def test_qc_inspection_picking(self): self.inspection1.write({ diff --git a/quality_control_stock/views/stock_picking_view.xml b/quality_control_stock/views/stock_picking_view.xml index 1c53c4d06..1ebb16078 100644 --- a/quality_control_stock/views/stock_picking_view.xml +++ b/quality_control_stock/views/stock_picking_view.xml @@ -34,6 +34,8 @@ stock.picking.qc.view stock.picking +