web/facet.py
changeset 5174 78438ad513ca
parent 5016 b3b0b808a0ed
child 5238 31c12863fd9d
equal deleted inserted replaced
5173:73760bbb66bd 5174:78438ad513ca
   330         raise NotImplementedError
   330         raise NotImplementedError
   331 
   331 
   332     def support_and(self):
   332     def support_and(self):
   333         return False
   333         return False
   334 
   334 
   335     def rqlexec(self, rql, args=None, cachekey=None):
   335     def rqlexec(self, rql, args=None):
   336         try:
   336         try:
   337             return self._cw.execute(rql, args, cachekey)
   337             return self._cw.execute(rql, args)
   338         except Unauthorized:
   338         except Unauthorized:
   339             return []
   339             return []
   340 
   340 
   341 
   341 
   342 class RelationFacet(VocabularyFacet):
   342 class RelationFacet(VocabularyFacet):
   373                 rqlst, mainvar, self.rtype, self.role, self.target_attr,
   373                 rqlst, mainvar, self.rtype, self.role, self.target_attr,
   374                 self.sortfunc, sort)
   374                 self.sortfunc, sort)
   375             if self.target_type is not None:
   375             if self.target_type is not None:
   376                 rqlst.add_type_restriction(var, self.target_type)
   376                 rqlst.add_type_restriction(var, self.target_type)
   377             try:
   377             try:
   378                 rset = self.rqlexec(rqlst.as_string(), self.cw_rset.args, self.cw_rset.cachekey)
   378                 rset = self.rqlexec(rqlst.as_string(), self.cw_rset.args)
   379             except:
   379             except:
   380                 self.exception('error while getting vocabulary for %s, rql: %s',
   380                 self.exception('error while getting vocabulary for %s, rql: %s',
   381                                self, rqlst.as_string())
   381                                self, rqlst.as_string())
   382                 return ()
   382                 return ()
   383         finally:
   383         finally:
   462             mainvar = self.filtered_variable
   462             mainvar = self.filtered_variable
   463             _cleanup_rqlst(rqlst, mainvar)
   463             _cleanup_rqlst(rqlst, mainvar)
   464             newvar = _prepare_vocabulary_rqlst(rqlst, mainvar, self.rtype, self.role)
   464             newvar = _prepare_vocabulary_rqlst(rqlst, mainvar, self.rtype, self.role)
   465             _set_orderby(rqlst, newvar, self.sortasc, self.sortfunc)
   465             _set_orderby(rqlst, newvar, self.sortasc, self.sortfunc)
   466             try:
   466             try:
   467                 rset = self.rqlexec(rqlst.as_string(), self.cw_rset.args, self.cw_rset.cachekey)
   467                 rset = self.rqlexec(rqlst.as_string(), self.cw_rset.args)
   468             except:
   468             except:
   469                 self.exception('error while getting vocabulary for %s, rql: %s',
   469                 self.exception('error while getting vocabulary for %s, rql: %s',
   470                                self, rqlst.as_string())
   470                                self, rqlst.as_string())
   471                 return ()
   471                 return ()
   472         finally:
   472         finally: