an additional setParents() method for concepts and other minor improvements

git-svn-id: svn://svn.cy55.de/Zope3/src/loops/trunk@2398 fd906abe-77d9-0310-91a1-e0d9ade77398
This commit is contained in:
helmutm 2008-02-14 13:22:54 +00:00
parent 13e1aa0a4b
commit 7a1c885fcd
3 changed files with 14 additions and 3 deletions

View file

@ -126,6 +126,7 @@ class NodeView(BaseView):
if target is not None: if target is not None:
basicView = component.getMultiAdapter((target, self.request), name=viewName) basicView = component.getMultiAdapter((target, self.request), name=viewName)
# xxx: obsolete when self.targetObject is virtual target: # xxx: obsolete when self.targetObject is virtual target:
if hasattr(basicView, 'view'):
return basicView.view return basicView.view
return self.page return self.page
@ -325,6 +326,7 @@ class NodeView(BaseView):
basicView = component.getMultiAdapter((obj, self.request)) basicView = component.getMultiAdapter((obj, self.request))
if obj == self.targetObject: if obj == self.targetObject:
basicView._viewName = self.context.viewName basicView._viewName = self.context.viewName
if hasattr(basicView, 'view'):
return basicView.view return basicView.view
@Lazy @Lazy

View file

@ -217,6 +217,15 @@ class Concept(Contained, Persistent):
def assignParent(self, concept, predicate=None, order=0, relevance=1.0): def assignParent(self, concept, predicate=None, order=0, relevance=1.0):
concept.assignChild(self, predicate, order, relevance) concept.assignChild(self, predicate, order, relevance)
def setParents(self, predicate, concepts):
existing = self.getParents([predicate])
for c in existing:
if c not in concepts:
self.deassignParent(c, [predicate])
for c in concepts:
if c not in existing:
self.assignParent(c, predicate)
def deassignChild(self, child, predicates=None, order=None): def deassignChild(self, child, predicates=None, order=None):
registry = component.getUtility(IRelationRegistry) registry = component.getUtility(IRelationRegistry)
for rel in self.getChildRelations(predicates, child): for rel in self.getChildRelations(predicates, child):