summaryrefslogtreecommitdiff
path: root/odoo/addons/test_testing_utilities
diff options
context:
space:
mode:
authorXavier ALT <xal@odoo.com>2020-09-21 13:21:30 +0000
committerXavier ALT <xal@odoo.com>2020-10-14 07:07:12 +0000
commita29837f01a567e09ea389ad4adaf96943448c43d (patch)
treedba3ea401170453f538743cf6dd13452f96ae93b /odoo/addons/test_testing_utilities
parentb20bb5b6685d28e5675e92ee4b61e3cd9bf7dea7 (diff)
[FIX] core: add UPDATE as valid many2many command in SSF
This commit fix the "Unsupported M2M command 1" raised `Form` helper. The `onchange()` method will in fact emit UPDATE command for many2many fields when the value submitted an the one in database has changed (this is the case for example for nested m2m in form views) OPW-2044631 closes odoo/odoo#59937 X-original-commit: 76bd8208a416cefab6becff9f2d7204c7d196201 Signed-off-by: Xavier Morel (xmo) <xmo@odoo.com> Signed-off-by: Xavier ALT <xavieralt@users.noreply.github.com>
Diffstat (limited to 'odoo/addons/test_testing_utilities')
-rw-r--r--odoo/addons/test_testing_utilities/menu.xml24
-rw-r--r--odoo/addons/test_testing_utilities/models.py1
-rw-r--r--odoo/addons/test_testing_utilities/tests/test_form_impl.py5
3 files changed, 29 insertions, 1 deletions
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 @@
</field>
</record>
+ <record id="m2m_change_view" model="ir.ui.view">
+ <field name="name">M2M Change View</field>
+ <field name="model">test_testing_utilities.f</field>
+ <field name="arch" type="xml">
+ <form>
+ <field name="m2o"/>
+ <field name="m2m" nolabel="1">
+ <tree>
+ <field name="name"/>
+ <field name="m2o_ids" widget="many2many_tags"/>
+ </tree>
+ <form>
+ <field name="name"/>
+ <field name="m2o_ids">
+ <tree>
+ <field name="name"/>
+ </tree>
+ </field>
+ </form>
+ </field>
+ </form>
+ </field>
+ </record>
+
<record id="o2m_recursive_relation_view" model="ir.ui.view">
<field name="name">Recursive Relation Test View</field>
<field name="model">test_testing_utilities.recursive</field>
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'])