diff --git a/odoo/addons/test_testing_utilities/menu.xml b/odoo/addons/test_testing_utilities/menu.xml index 0bf87b6d5f5..e20c740e8c8 100644 --- a/odoo/addons/test_testing_utilities/menu.xml +++ b/odoo/addons/test_testing_utilities/menu.xml @@ -152,6 +152,30 @@ + + M2M Change View + test_testing_utilities.f + +
+ + + + + + + + + + + + + + + + + +
+ Recursive Relation Test View test_testing_utilities.recursive diff --git a/odoo/addons/test_testing_utilities/models.py b/odoo/addons/test_testing_utilities/models.py index 8796526653a..aa79117e0b0 100644 --- a/odoo/addons/test_testing_utilities/models.py +++ b/odoo/addons/test_testing_utilities/models.py @@ -103,6 +103,7 @@ class M2MSub(models.Model): _description = 'Testing Utilities Subtraction 2' name = fields.Char() + m2o_ids = fields.Many2many('test_testing_utilities.m2o') class M2MChange2(models.Model): _name = 'test_testing_utilities.f' diff --git a/odoo/addons/test_testing_utilities/tests/test_form_impl.py b/odoo/addons/test_testing_utilities/tests/test_form_impl.py index ab846bda87e..d43051637f7 100644 --- a/odoo/addons/test_testing_utilities/tests/test_form_impl.py +++ b/odoo/addons/test_testing_utilities/tests/test_form_impl.py @@ -227,10 +227,13 @@ class TestM2M(TransactionCase): self.assertEqual(f.count, 1) def test_m2m_changed(self): + r1 = self.env['test_testing_utilities.m2o'].create({'name': "A"}) + r2 = self.env['test_testing_utilities.m2o'].create({'name': "B"}) + Sub = self.env['test_testing_utilities.sub2'] a = Sub.create({'name': 'a'}) b = Sub.create({'name': 'b'}) - c = Sub.create({'name': 'c'}) + c = Sub.create({'name': 'c', 'm2o_ids': [(6, 0, [r1.id, r2.id])]}) d = Sub.create({'name': 'd'}) f = Form(self.env['test_testing_utilities.f']) diff --git a/odoo/tests/common.py b/odoo/tests/common.py index 1074b116554..df1b5409232 100644 --- a/odoo/tests/common.py +++ b/odoo/tests/common.py @@ -2108,7 +2108,9 @@ class Form(object): else: ids = list(current[0][2]) for command in value: - if command[0] == 3: + if command[0] == 1: + ids.append(command[1]) + elif command[0] == 3: ids.remove(command[1]) elif command[0] == 4: ids.append(command[1])