summaryrefslogtreecommitdiff
path: root/odoo/addons/test_testing_utilities
diff options
context:
space:
mode:
authorxmo-odoo <xmo@odoo.com>2018-02-01 15:24:38 +0100
committerGitHub <noreply@github.com>2018-02-01 15:24:38 +0100
commitc385f5f418c06801ed84bd8f6dbc57a94eaa537b (patch)
tree5cc6ea0608a2c1717f809db15064f02bf1048930 /odoo/addons/test_testing_utilities
parent373eb4bf42bb57c11a54c37704aca7a9e8ab3ef5 (diff)
[FIX] base: correctly handle non-normalised domains in SSF
Turns out I'd kinda skipped that bit. Fixes #22711
Diffstat (limited to 'odoo/addons/test_testing_utilities')
-rw-r--r--odoo/addons/test_testing_utilities/menu.xml13
-rw-r--r--odoo/addons/test_testing_utilities/tests/test_form_impl.py13
2 files changed, 26 insertions, 0 deletions
diff --git a/odoo/addons/test_testing_utilities/menu.xml b/odoo/addons/test_testing_utilities/menu.xml
index 72a4ba79157..0ca37f58658 100644
--- a/odoo/addons/test_testing_utilities/menu.xml
+++ b/odoo/addons/test_testing_utilities/menu.xml
@@ -91,4 +91,17 @@
</form>
</field>
</record>
+
+ <record id="non_normalized_attrs" model="ir.ui.view">
+ <field name="name">Non Normalised Domains</field>
+ <field name="model">test_testing_utilities.a</field>
+ <field name="arch" type="xml">
+ <form>
+ <field name="f1"/>
+ <field name="f2" attrs="{'readonly': [['f1', '=', 63], ['f3', '=', 5]]}"/>
+ <field name="f3"/>
+ <field name="f4"/>
+ </form>
+ </field>
+ </record>
</odoo>
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 19d192365a5..2806a972335 100644
--- a/odoo/addons/test_testing_utilities/tests/test_form_impl.py
+++ b/odoo/addons/test_testing_utilities/tests/test_form_impl.py
@@ -65,6 +65,19 @@ class TestBasic(TransactionCase):
with self.assertRaises(AssertionError):
f.f2 = 42
+ def test_attrs(self):
+ """ Checks that attrs/modifiers with non-normalized domains work
+ """
+ f = Form(self.env['test_testing_utilities.a'], view='test_testing_utilities.non_normalized_attrs')
+
+ # not readonly yet, should work
+ f.f2 = 5
+ # make f2 readonly
+ f.f1 = 63
+ f.f3 = 5
+ with self.assertRaises(AssertionError):
+ f.f2 = 6
+
class TestM2O(TransactionCase):
def test_default_and_onchange(self):
""" Checks defaults & onchanges impacting m2o fields