Reviewers: nicoe,


Please review this at http://codereview.tryton.org/21002/

Affected files:
  M tryton/common/domain_inversion.py


Index: tryton/common/domain_inversion.py
===================================================================
--- a/tryton/common/domain_inversion.py
+++ b/tryton/common/domain_inversion.py
@@ -82,6 +82,11 @@
     if domain in ('AND', 'OR', True, False):
         return domain
     elif is_leaf(domain):
+        if 'child_of' in domain[1]:
+            if len(domain) == 3:
+                return domain
+            else:
+                return [domain[3]] + domain[1:-1]
         return [locale_part(domain[0], field_name)] + domain[1:]
     else:
         return [localize_domain(part, field_name) for part in domain]
@@ -416,6 +421,12 @@
     assert localize_domain(domain, 'x') == \
['OR', ['AND', ['id', '>', 7], ['id', '<', 15]], ['code', '=', 8]]

+    domain = [['x', 'child_of', [1]]]
+    assert localize_domain(domain, 'x') == [['x', 'child_of', [1]]]
+
+    domain = [['x', 'child_of', [1], 'y']]
+    assert localize_domain(domain, 'x') == [['y', 'child_of', [1]]]
+
 if __name__ == '__main__':
     test_simple_inversion()
     test_and_inversion()


--
[email protected] mailing list

Reply via email to