diff --git a/trytond/tests/test_tools.py b/trytond/tests/test_tools.py index 696e605d0e..95fd2108a2 100644 --- a/trytond/tests/test_tools.py +++ b/trytond/tests/test_tools.py @@ -367,7 +367,7 @@ class DomainInversionTestCase(unittest.TestCase): self.assertEqual( domain_inversion(domain, 'z', {'x': 5}), [['z', '=', 3]]) self.assertEqual( - domain_inversion(domain, 'z', {'x': 5, 'y': 5}), False) + domain_inversion(domain, 'z', {'x': 5, 'y': 5}), [['z', '=', 3]]) self.assertEqual( domain_inversion(domain, 'z', {'x': 5, 'y': 7}), [['z', '=', 3]]) @@ -376,7 +376,8 @@ class DomainInversionTestCase(unittest.TestCase): self.assertEqual(domain_inversion(domain, 'z'), [['z', '=', 3]]) self.assertEqual( domain_inversion(domain, 'z', {'x': 5}), [['z', '=', 3]]) - self.assertEqual(domain_inversion(domain, 'z', {'y': 5}), False) + self.assertEqual( + domain_inversion(domain, 'z', {'y': 5}), [['z', '=', 3]]) self.assertEqual( domain_inversion(domain, 'z', {'x': 4, 'y': 7}), [['z', '=', 3]]) diff --git a/trytond/tools/domain_inversion.py b/trytond/tools/domain_inversion.py index 620ed8d35e..0f3fa4956c 100644 --- a/trytond/tools/domain_inversion.py +++ b/trytond/tools/domain_inversion.py @@ -340,6 +340,8 @@ class And(object): if isinstance(part, And): part_inversion = part.inverse(symbol, context) evaluated = isinstance(part_inversion, bool) + if symbol not in part.variables: + continue if not evaluated: result.append(part_inversion) elif part_inversion: