mirror of
https://github.com/OCA/contract.git
synced 2025-02-13 17:57:24 +02:00
[FIX] agreement_legal: Change create_new_version() function in agreements
TT32359
This commit is contained in:
@@ -256,7 +256,7 @@ class Agreement(models.Model):
|
|||||||
inverse_name="parent_agreement_id",
|
inverse_name="parent_agreement_id",
|
||||||
string="Previous Versions",
|
string="Previous Versions",
|
||||||
copy=False,
|
copy=False,
|
||||||
domain=[("active", "=", False)],
|
context={"active_test": False},
|
||||||
)
|
)
|
||||||
child_agreements_ids = fields.One2many(
|
child_agreements_ids = fields.One2many(
|
||||||
comodel_name="agreement",
|
comodel_name="agreement",
|
||||||
@@ -356,7 +356,7 @@ class Agreement(models.Model):
|
|||||||
)
|
)
|
||||||
|
|
||||||
# Create New Version Button
|
# Create New Version Button
|
||||||
def create_new_version(self, vals):
|
def create_new_version(self):
|
||||||
for rec in self:
|
for rec in self:
|
||||||
if not rec.state == "draft":
|
if not rec.state == "draft":
|
||||||
# Make sure status is draft
|
# Make sure status is draft
|
||||||
@@ -368,11 +368,7 @@ class Agreement(models.Model):
|
|||||||
}
|
}
|
||||||
# Make a current copy and mark it as old
|
# Make a current copy and mark it as old
|
||||||
rec.copy(default=default_vals)
|
rec.copy(default=default_vals)
|
||||||
# Increment the Version
|
return super().write({"revision": 0})
|
||||||
rec.version = rec.version + 1
|
|
||||||
# Reset revision to 0 since it's a new version
|
|
||||||
vals["revision"] = 0
|
|
||||||
return super(Agreement, self).write(vals)
|
|
||||||
|
|
||||||
def create_new_agreement(self):
|
def create_new_agreement(self):
|
||||||
default_vals = {
|
default_vals = {
|
||||||
|
|||||||
1
agreement_legal/tests/__init__.py
Normal file
1
agreement_legal/tests/__init__.py
Normal file
@@ -0,0 +1 @@
|
|||||||
|
from . import test_agreement
|
||||||
13
agreement_legal/tests/test_agreement.py
Normal file
13
agreement_legal/tests/test_agreement.py
Normal 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)
|
||||||
Reference in New Issue
Block a user