From 911520e12cee6f446d612dfb79da2e5f306c7ebd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADctor=20Mart=C3=ADnez?= Date: Fri, 8 Oct 2021 10:31:11 +0200 Subject: [PATCH] [FIX] agreement_legal: Change create_new_version() function in agreements TT32359 --- agreement_legal/models/agreement.py | 10 +++------- agreement_legal/tests/__init__.py | 1 + agreement_legal/tests/test_agreement.py | 13 +++++++++++++ 3 files changed, 17 insertions(+), 7 deletions(-) create mode 100644 agreement_legal/tests/__init__.py create mode 100644 agreement_legal/tests/test_agreement.py diff --git a/agreement_legal/models/agreement.py b/agreement_legal/models/agreement.py index 28febf41c..6a3855c22 100644 --- a/agreement_legal/models/agreement.py +++ b/agreement_legal/models/agreement.py @@ -256,7 +256,7 @@ class Agreement(models.Model): inverse_name="parent_agreement_id", string="Previous Versions", copy=False, - domain=[("active", "=", False)], + context={"active_test": False}, ) child_agreements_ids = fields.One2many( comodel_name="agreement", @@ -356,7 +356,7 @@ class Agreement(models.Model): ) # Create New Version Button - def create_new_version(self, vals): + def create_new_version(self): for rec in self: if not rec.state == "draft": # Make sure status is draft @@ -368,11 +368,7 @@ class Agreement(models.Model): } # Make a current copy and mark it as old rec.copy(default=default_vals) - # Increment the Version - rec.version = rec.version + 1 - # Reset revision to 0 since it's a new version - vals["revision"] = 0 - return super(Agreement, self).write(vals) + return super().write({"revision": 0}) def create_new_agreement(self): default_vals = { diff --git a/agreement_legal/tests/__init__.py b/agreement_legal/tests/__init__.py new file mode 100644 index 000000000..b636caa99 --- /dev/null +++ b/agreement_legal/tests/__init__.py @@ -0,0 +1 @@ +from . import test_agreement diff --git a/agreement_legal/tests/test_agreement.py b/agreement_legal/tests/test_agreement.py new file mode 100644 index 000000000..be3a56f3d --- /dev/null +++ b/agreement_legal/tests/test_agreement.py @@ -0,0 +1,13 @@ +# Copyright 2021 Tecnativa - Víctor Martínez +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html) +from odoo.addons.agreement.tests import test_agreement + + +class TestAgreement(test_agreement.TestAgreement): + def setUp(self): + super().setUp() + + def test_action_create_new_version(self): + self.agreement.create_new_version() + self.assertEqual(self.agreement.state, "draft") + self.assertEqual(len(self.agreement.previous_version_agreements_ids), 1)