From f86d719d06eaeac390696605ddb88b889619c491 Mon Sep 17 00:00:00 2001 From: "Pedro M. Baeza" Date: Thu, 26 Nov 2015 19:12:34 +0100 Subject: [PATCH] [IMP] mrp_hook+mrp_operations_extension: Adaptation to OCA --- mrp_bom_version/models/mrp_bom.py | 22 ++++++++++++++++--- mrp_bom_version/tests/test_mrp_bom_version.py | 3 ++- 2 files changed, 21 insertions(+), 4 deletions(-) diff --git a/mrp_bom_version/models/mrp_bom.py b/mrp_bom_version/models/mrp_bom.py index 2298f8be2..dbc692a97 100644 --- a/mrp_bom_version/models/mrp_bom.py +++ b/mrp_bom_version/models/mrp_bom.py @@ -3,6 +3,7 @@ # License AGPL-3 - See http://www.gnu.org/licenses/agpl-3.0.html from openerp import models, fields, api +from openerp.tools import config class MrpBom(models.Model): @@ -24,14 +25,29 @@ class MrpBom(models.Model): parent = parent.parent_bom self.old_versions = old_version + def _default_active(self): + """Needed for preserving normal flow when testing other modules.""" + res = False + if config['test_enable']: + res = not bool(self.env.context.get('test_mrp_bom_version')) + return res + + def _default_state(self): + """Needed for preserving normal flow when testing other modules.""" + res = 'active' + if (config['test_enable'] and + self.env.context.get('test_mrp_bom_version')): + res = 'draft' + return res + active = fields.Boolean( - string='Active', default=False, readonly=True, - states={'draft': [('readonly', False)]}) + default=_default_active, + readonly=True, states={'draft': [('readonly', False)]}) historical_date = fields.Date(string='Historical Date', readonly=True) state = fields.Selection( selection=[('draft', 'Draft'), ('active', 'Active'), ('historical', 'Historical')], string='State', - index=True, readonly=True, default='draft', copy=False) + index=True, readonly=True, default=_default_state, copy=False) product_tmpl_id = fields.Many2one( readonly=True, states={'draft': [('readonly', False)]}) product_id = fields.Many2one( diff --git a/mrp_bom_version/tests/test_mrp_bom_version.py b/mrp_bom_version/tests/test_mrp_bom_version.py index 62a159284..6a9dd4d1c 100644 --- a/mrp_bom_version/tests/test_mrp_bom_version.py +++ b/mrp_bom_version/tests/test_mrp_bom_version.py @@ -10,7 +10,8 @@ class TestMrpBomVersion(common.TransactionCase): def setUp(self): super(TestMrpBomVersion, self).setUp() self.parameter_model = self.env['ir.config_parameter'] - self.bom_model = self.env['mrp.bom'] + self.bom_model = self.env['mrp.bom'].with_context( + test_mrp_bom_version=True) self.company = self.env.ref('base.main_company') vals = { 'company_id': self.company.id,