diff -r cb27485ef5ae -r 4cc020ee70e2 web/facet.py --- a/web/facet.py Wed Mar 24 17:58:05 2010 +0100 +++ b/web/facet.py Wed Mar 24 18:04:59 2010 +0100 @@ -8,7 +8,6 @@ """ __docformat__ = "restructuredtext en" -from itertools import chain from copy import deepcopy from datetime import date, datetime, timedelta @@ -199,7 +198,7 @@ # add attribute variable to selection rqlst.add_selected(attrvar) # add is restriction if necessary - if not mainvar.stinfo['typerels']: + if mainvar.stinfo['typerel'] is None: etypes = frozenset(sol[mainvar.name] for sol in rqlst.solutions) rqlst.add_type_restriction(mainvar, etypes) return var @@ -228,12 +227,16 @@ for ovarname in linkedvars: vargraph[ovarname].remove(trvarname) # remove relation using this variable - for rel in chain(trvar.stinfo['relations'], trvar.stinfo['typerels']): + for rel in trvar.stinfo['relations']: if rel in removed: # already removed continue rqlst.remove_node(rel) removed.add(rel) + rel = trvar.stinfo['typerel'] + if rel is not None and not rel in removed: + rqlst.remove_node(rel) + removed.add(rel) # cleanup groupby clause if rqlst.groupby: for vref in rqlst.groupby[:]: