mirror of
https://github.com/OCA/manufacture.git
synced 2025-01-28 16:37:15 +02:00
[IMP] quality_control_stock:
* added demo data * replaced unlink method by ondelete="cascade" * required changes
This commit is contained in:
@@ -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
|
||||
===========
|
||||
|
||||
|
||||
@@ -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
|
||||
===========
|
||||
|
||||
|
||||
@@ -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")
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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({
|
||||
|
||||
@@ -34,6 +34,8 @@
|
||||
<field name="name">stock.picking.qc.view</field>
|
||||
<field name="model">stock.picking</field>
|
||||
<field name="inherit_id" ref="stock.view_picking_form" />
|
||||
<field name="groups_id"
|
||||
eval="[(4, ref('quality_control.group_quality_control_user'))]" />
|
||||
<field name="arch" type="xml">
|
||||
<div class="oe_right oe_button_box" position="inside">
|
||||
<button class="oe_inline oe_stat_button"
|
||||
|
||||
@@ -34,6 +34,8 @@
|
||||
<field name="name">stock.production.lot.qc.view</field>
|
||||
<field name="model">stock.production.lot</field>
|
||||
<field name="inherit_id" ref="stock.view_production_lot_form" />
|
||||
<field name="groups_id"
|
||||
eval="[(4, ref('quality_control.group_quality_control_user'))]" />
|
||||
<field name="arch" type="xml">
|
||||
<div class="oe_button_box oe_right" position="inside">
|
||||
<button class="oe_inline oe_stat_button"
|
||||
|
||||
Reference in New Issue
Block a user