handle views correctly that are directly provided by a specialized traverser
git-svn-id: svn://svn.cy55.de/Zope3/src/loops/trunk@3419 fd906abe-77d9-0310-91a1-e0d9ade77398
This commit is contained in:
parent
634e0f78d0
commit
cfde11670a
2 changed files with 4 additions and 4 deletions
|
@ -104,7 +104,7 @@ class Classifier(AdapterBase):
|
||||||
message = u'Assigning: %s %s %s'
|
message = u'Assigning: %s %s %s'
|
||||||
else:
|
else:
|
||||||
message = u'Already assigned: %s %s %s'
|
message = u'Already assigned: %s %s %s'
|
||||||
self.log(message % (resource.title, predicate.title, concept.title), 5)
|
self.log(message % (resource.title, predicate.title, concept.title), 4)
|
||||||
|
|
||||||
def log(self, message, level=5):
|
def log(self, message, level=5):
|
||||||
if level >= self.logLevel:
|
if level >= self.logLevel:
|
||||||
|
|
|
@ -26,6 +26,7 @@ from zope.app.container.traversal import ItemTraverser
|
||||||
from zope.cachedescriptors.property import Lazy
|
from zope.cachedescriptors.property import Lazy
|
||||||
from zope import component
|
from zope import component
|
||||||
from zope.component import adapts
|
from zope.component import adapts
|
||||||
|
from zope.publisher.browser import BrowserView
|
||||||
from zope.publisher.interfaces import NotFound, IPublishTraverse
|
from zope.publisher.interfaces import NotFound, IPublishTraverse
|
||||||
|
|
||||||
from loops.common import adapted
|
from loops.common import adapted
|
||||||
|
@ -67,15 +68,14 @@ class NodeTraverser(ItemTraverser):
|
||||||
traverser = IPublishTraverse(adapted(self.context.target), None)
|
traverser = IPublishTraverse(adapted(self.context.target), None)
|
||||||
if traverser is not None:
|
if traverser is not None:
|
||||||
target = traverser.publishTraverse(request, name)
|
target = traverser.publishTraverse(request, name)
|
||||||
|
if isinstance(target, BrowserView):
|
||||||
|
return target
|
||||||
if target is not None:
|
if target is not None:
|
||||||
viewAnnotations['target'] = target
|
viewAnnotations['target'] = target
|
||||||
tv = component.getMultiAdapter((target, request), name='layout')
|
tv = component.getMultiAdapter((target, request), name='layout')
|
||||||
viewAnnotations['targetView'] = tv
|
viewAnnotations['targetView'] = tv
|
||||||
return self.context
|
return self.context
|
||||||
obj = None
|
obj = None
|
||||||
# for name, tr in component.getAdapters(self.context, IPublishTraverse):
|
|
||||||
# if name:
|
|
||||||
# obj = tr.publishTraverse(request, name)
|
|
||||||
if obj is None:
|
if obj is None:
|
||||||
try:
|
try:
|
||||||
obj = super(NodeTraverser, self).publishTraverse(request, name)
|
obj = super(NodeTraverser, self).publishTraverse(request, name)
|
||||||
|
|
Loading…
Add table
Reference in a new issue