web/facet.py
changeset 10307 4b8253fb3125
parent 10074 ab956b780d4e
child 10495 5bd914ebf3ae
--- a/web/facet.py	Wed Apr 01 13:39:30 2015 +0200
+++ b/web/facet.py	Mon Feb 23 09:02:41 2015 +0100
@@ -1465,15 +1465,17 @@
 
     def add_rql_restrictions(self):
         """add restriction for this facet into the rql syntax tree"""
-        self.select.set_distinct(True) # XXX
         value = self._cw.form.get(self.__regid__)
         if not value: # no value sent for this facet
             return
+        exists = nodes.Exists()
+        self.select.add_restriction(exists)
         var = self.select.make_variable()
         if self.role == 'subject':
-            self.select.add_relation(self.filtered_variable, self.rtype, var)
+            subj, obj = self.filtered_variable, var
         else:
-            self.select.add_relation(var, self.rtype, self.filtered_variable)
+            subj, obj = var, self.filtered_variable
+        exists.add_relation(subj, self.rtype, obj)
 
 
 class BitFieldFacet(AttributeFacet):