bug fix on relation.registry: don't crash invalidateRelation when object is not registered in intIds

git-svn-id: svn://svn.cy55.de/Zope3/src/cybertools/trunk@1194 fd906abe-77d9-0310-91a1-e0d9ade77398
This commit is contained in:
helmutm 2006-05-02 15:17:05 +00:00
parent aa593f4b8e
commit d8de666f2f

View file

@ -253,13 +253,15 @@ def invalidateRelations(context, event):
# if not IRelatable.providedBy(event.object): # if not IRelatable.providedBy(event.object):
# return # return
relations = [] relations = []
#registry = zapi.queryUtility(IRelationRegistry)
registries = zapi.getAllUtilitiesRegisteredFor(IRelationRegistry) registries = zapi.getAllUtilitiesRegisteredFor(IRelationRegistry)
for registry in registries: for registry in registries:
for attr in ('first', 'second', 'third'): for attr in ('first', 'second', 'third'):
try:
relations = registry.query(**{attr: context}) relations = registry.query(**{attr: context})
for relation in relations: for relation in relations:
registry.unregister(relation) registry.unregister(relation)
except KeyError:
pass
def removeRelation(context, event): def removeRelation(context, event):
""" Handles IRelationInvalidatedEvent by removing the relation """ Handles IRelationInvalidatedEvent by removing the relation