fix WHERE pour statut si on a un JOIN
authorOlivier Larchevêque <olivier.larcheveque@auf.org>
Thu, 20 Sep 2012 15:07:40 +0000 (11:07 -0400)
committerOlivier Larchevêque <olivier.larcheveque@auf.org>
Thu, 20 Sep 2012 15:07:40 +0000 (11:07 -0400)
src/qbe/django_qbe/forms.py

index 8381dca..d926cbb 100644 (file)
@@ -206,6 +206,7 @@ class BaseQueryByExampleFormSet(BaseFormSet):
                 sorts.append((db_field, sort))
             if status:
                 statuses.append((model, status))
+            
             if all(criteria):
                 if is_join:
                     over_split = over.lower().rsplit(".", 1)
@@ -268,9 +269,9 @@ class BaseQueryByExampleFormSet(BaseFormSet):
                     _my_wheres.append("%s.date_fin < DATE(NOW())" % m)
                 if s == "active":
                     _my_wheres.append(
-                        "((%s.`date_debut` <= DATE(NOW()) OR %s.`date_debut` IS NULL) AND %s.`date_fin` >= DATE(NOW())) OR "
+                        "(((%s.`date_debut` <= DATE(NOW()) OR %s.`date_debut` IS NULL) AND %s.`date_fin` >= DATE(NOW())) OR "
                         "((%s.`date_fin` >= DATE(NOW()) OR %s.`date_fin` IS NULL) AND %s.`date_debut` <= DATE(NOW())) OR "
-                        "(%s.`date_debut` <= DATE(NOW()) AND %s.`date_fin` >= DATE(NOW()))"
+                        "(%s.`date_debut` <= DATE(NOW()) AND %s.`date_fin` >= DATE(NOW())))"
                         % (m, m, m, m, m, m, m, m))
                 if s == "futur":
                     _my_wheres.append("%s.date_debut > DATE(NOW())" % m)