[FIX] agreement_legal: Change create_new_version() function in agreements

TT32359
This commit is contained in:
Víctor Martínez
2021-10-08 10:31:11 +02:00
parent b2d152d766
commit 911520e12c
3 changed files with 17 additions and 7 deletions

View File

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

View File

@@ -0,0 +1 @@
from . import test_agreement

View File

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