[IMP] quality_control_stock:

* added demo data
* replaced unlink method by ondelete="cascade"
* required changes
This commit is contained in:
oihane
2015-11-03 18:42:09 +01:00
parent 279deb08c1
commit b16c5d1212
7 changed files with 40 additions and 22 deletions

View File

@@ -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
===========

View File

@@ -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
===========

View File

@@ -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")

View File

@@ -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()

View File

@@ -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({

View File

@@ -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"

View File

@@ -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"