From 6aab28a004023289378e14ecc7f6f17f8a42730e Mon Sep 17 00:00:00 2001 From: Helmut Merz Date: Wed, 6 Feb 2013 12:20:41 +0100 Subject: [PATCH] tune relation registry: fix for getChild- and getResourceRelations() --- concept.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/concept.py b/concept.py index 8fbc8c3..acee49d 100644 --- a/concept.py +++ b/concept.py @@ -48,6 +48,7 @@ from loops.base import ParentInfo from loops.common import adapted, AdapterBase from loops.i18n.common import I18NValue from loops.interfaces import IConcept, IConceptRelation, IConceptView +from loops.interfaces import IResource from loops.interfaces import IConceptManager, IConceptManagerContained from loops.interfaces import ILoopsContained from loops.interfaces import IIndexAttributes @@ -199,7 +200,8 @@ class Concept(Contained, Persistent): if sort == 'default': sort = lambda x: (x.order, (x.second.title and x.second.title.lower())) rels = (r for r in getRelations(self, child, relationships=relationships) - if canListObject(r.second, noSecurityCheck)) + if canListObject(r.second, noSecurityCheck) and + IConcept.providedBy(r.second)) return sorted(rels, key=sort) def getChildren(self, predicates=None, sort='default', noSecurityCheck=False): @@ -294,7 +296,8 @@ class Concept(Contained, Persistent): if sort == 'default': sort = lambda x: (x.order, x.second.title.lower()) rels = (r for r in getRelations(self, resource, relationships=relationships) - if canListObject(r.second, noSecurityCheck)) + if canListObject(r.second, noSecurityCheck) and + IResource.providedBy(r.second)) return sorted(rels, key=sort) def getResources(self, predicates=None, sort='default', noSecurityCheck=False):