diff --git a/procurement_auto_create_group/README.rst b/procurement_auto_create_group/README.rst index f745646dc..e5b3eead4 100644 --- a/procurement_auto_create_group/README.rst +++ b/procurement_auto_create_group/README.rst @@ -38,7 +38,7 @@ Usage .. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas :alt: Try me on Runbot - :target: https://runbot.odoo-community.org/runbot/153/9.0 + :target: https://runbot.odoo-community.org/runbot/153/10.0 Bug Tracker =========== diff --git a/procurement_auto_create_group/__init__.py b/procurement_auto_create_group/__init__.py index d21be936d..47f24cdb7 100644 --- a/procurement_auto_create_group/__init__.py +++ b/procurement_auto_create_group/__init__.py @@ -1,5 +1,4 @@ # # -*- coding: utf-8 -*- -# Copyright 2017 Eficent Business and IT Consulting Services, S.L. # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). from . import models diff --git a/procurement_auto_create_group/__openerp__.py b/procurement_auto_create_group/__manifest__.py similarity index 76% rename from procurement_auto_create_group/__openerp__.py rename to procurement_auto_create_group/__manifest__.py index c8adee87c..aebd594b4 100644 --- a/procurement_auto_create_group/__openerp__.py +++ b/procurement_auto_create_group/__manifest__.py @@ -3,7 +3,10 @@ # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). { "name": "Procurement Auto Create Group", - "version": "9.0.1.0.0", + "version": "10.0.1.0.0", + "license": "AGPL-3", + "summary": "Allows to configure the system to propose automatically new " + "procurement groups in procurement orders.", "depends": [ "procurement", ], @@ -15,5 +18,4 @@ 'views/procurement_view.xml', ], "installable": True, - "license": "AGPL-3", } diff --git a/procurement_auto_create_group/models/procurement.py b/procurement_auto_create_group/models/procurement.py index dcc782b33..6aa4a51a4 100644 --- a/procurement_auto_create_group/models/procurement.py +++ b/procurement_auto_create_group/models/procurement.py @@ -1,16 +1,16 @@ # -*- coding: utf-8 -*- -# -*- coding: utf-8 -*- # Copyright 2017 Eficent Business and IT Consulting Services, S.L. # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). -from openerp import api, models, _ -from openerp.exceptions import UserError + +from odoo import api, models, _ +from odoo.exceptions import UserError class ProcurementOrder(models.Model): _inherit = 'procurement.order' @api.model - def _prepare_auto_procurement_group_data(self, procurement): + def _prepare_auto_procurement_group_data(self): name = self.env['ir.sequence'].next_by_code( 'procurement.group') or False if not name: @@ -19,13 +19,12 @@ class ProcurementOrder(models.Model): 'name': name } - @api.model - def _assign(self, procurement): - res = super(ProcurementOrder, self)._assign(procurement) - - if (procurement.rule_id and not procurement.group_id and - procurement.rule_id.auto_create_group): - group_data = self._prepare_auto_procurement_group_data(procurement) + @api.multi + def _assign(self): + res = super(ProcurementOrder, self)._assign() + if (self.rule_id and not self.group_id and + self.rule_id.auto_create_group): + group_data = self._prepare_auto_procurement_group_data() group = self.env['procurement.group'].create(group_data) - procurement.group_id = group + self.group_id = group return res diff --git a/procurement_auto_create_group/models/procurement_rule.py b/procurement_auto_create_group/models/procurement_rule.py index 4bd4eccac..3a38a899d 100644 --- a/procurement_auto_create_group/models/procurement_rule.py +++ b/procurement_auto_create_group/models/procurement_rule.py @@ -1,7 +1,8 @@ # -*- coding: utf-8 -*- # Copyright 2017 Eficent Business and IT Consulting Services, S.L. # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). -from openerp import api, fields, models + +from odoo import api, fields, models class ProcurementRule(models.Model): diff --git a/procurement_auto_create_group/tests/__init__.py b/procurement_auto_create_group/tests/__init__.py index 9750f9643..e66ed1ed1 100644 --- a/procurement_auto_create_group/tests/__init__.py +++ b/procurement_auto_create_group/tests/__init__.py @@ -1,5 +1,4 @@ # -*- coding: utf-8 -*- -# © 2017 Eficent Business and IT Consulting Services S.L. # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). from . import test_auto_create diff --git a/procurement_auto_create_group/tests/test_auto_create.py b/procurement_auto_create_group/tests/test_auto_create.py index a2ca6ec72..d7a2ce6e2 100644 --- a/procurement_auto_create_group/tests/test_auto_create.py +++ b/procurement_auto_create_group/tests/test_auto_create.py @@ -2,7 +2,7 @@ # © 2017 Eficent Business and IT Consulting Services S.L. # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). -from openerp.tests.common import TransactionCase +from odoo.tests.common import TransactionCase class TestProcurementAutoCreateGroup(TransactionCase): @@ -11,17 +11,24 @@ class TestProcurementAutoCreateGroup(TransactionCase): self.po_model = self.env['procurement.order'] self.pr_model = self.env['procurement.rule'] self.product_12 = self.env.ref('product.product_product_12') + # Needed to avoid the dependency with stock: + if self.env.registry.models.get('stock.picking'): + picking_type_id = self.env.ref('stock.picking_type_internal').id + else: + picking_type_id = False # Create rules: self.no_auto_create = self.pr_model.create({ 'name': 'rule without autocreate', 'auto_create_group': False, 'action': [], + 'picking_type_id': picking_type_id, }) self.auto_create = self.pr_model.create({ 'name': 'rule with autocreate', 'auto_create_group': True, 'action': [], + 'picking_type_id': picking_type_id, }) def test_auto_create_group(self): @@ -44,3 +51,10 @@ class TestProcurementAutoCreateGroup(TransactionCase): }) self.assertTrue(proc2.group_id, "Procurement Group has not been assigned.") + + def test_onchange_method(self): + """Test onchange method for procurement rule.""" + proc_rule = self.auto_create + proc_rule.write({'group_propagation_option': 'none'}) + proc_rule._onchange_group_propagation_option() + self.assertFalse(proc_rule.auto_create_group)