From 4a4ba3fedfb87e26ca4b4f4bf55f2b049086418b Mon Sep 17 00:00:00 2001
From: Sebastien Robin <seb@nexedi.com>
Date: Thu, 26 Jun 2008 14:23:28 +0000
Subject: [PATCH] add more brackets

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@21976 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5/Tool/DomainTool.py | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)

diff --git a/product/ERP5/Tool/DomainTool.py b/product/ERP5/Tool/DomainTool.py
index cfbb9698c4..0c95be3d79 100644
--- a/product/ERP5/Tool/DomainTool.py
+++ b/product/ERP5/Tool/DomainTool.py
@@ -109,22 +109,22 @@ class DomainTool(BaseTool):
 #                 context.getProperty(property))
             value = context.getProperty(property)
             format_dict = {'base_name': base_name}
-            expression = "(%(base_name)s is NULL) AND " \
+            expression = "((%(base_name)s is NULL) AND " \
                          "(%(base_name)s_range_min is NULL) AND " \
-                         "(%(base_name)s_range_max is NULL)" % format_dict
+                         "(%(base_name)s_range_max is NULL))" % format_dict
             if value is not None:
               # Handle Mysql datetime correctly
               if isinstance(value, DateTime):
                 value = value.toZone('UTC').ISO()
               format_dict['value'] = value
               # Generate expression
-              expression += "OR (%(base_name)s = '%(value)s') " \
-                          "OR (%(base_name)s_range_min <= '%(value)s') AND " \
-                              "(%(base_name)s_range_max is NULL) " \
-                          "OR (%(base_name)s_range_min is NULL) AND " \
-                              "%(base_name)s_range_max > '%(value)s' " \
-                          "OR (%(base_name)s_range_min <= '%(value)s') AND " \
-                              "%(base_name)s_range_max > '%(value)s' " \
+              expression += " OR (%(base_name)s = '%(value)s') " \
+                          "OR ((%(base_name)s_range_min <= '%(value)s') AND " \
+                              "(%(base_name)s_range_max is NULL)) " \
+                          "OR ((%(base_name)s_range_min is NULL) AND " \
+                              "%(base_name)s_range_max > '%(value)s)' " \
+                          "OR ((%(base_name)s_range_min <= '%(value)s') AND " \
+                              "%(base_name)s_range_max > '%(value)s)' " \
                             % format_dict
             expression = '( %s )' % expression
             expression_list.append(expression)
-- 
2.30.9