provide standard attributes in base view

git-svn-id: svn://svn.cy55.de/Zope3/src/loops/trunk@3316 fd906abe-77d9-0310-91a1-e0d9ade77398
This commit is contained in:
helmutm 2009-03-31 11:46:01 +00:00
parent 79e225e054
commit 55b231e8f9
2 changed files with 30 additions and 5 deletions

View file

@ -42,6 +42,26 @@ class BaseView(object):
self.context = removeSecurityProxy(context) # this is the adapted concept!
self.request = request
@Lazy
def loopsRoot(self):
return self.context.getLoopsRoot()
@Lazy
def defaultPredicate(self):
return self.loopsRoot.getConceptManager().getDefaultPredicate()
@Lazy
def conceptManager(self):
return self.loopsRoot.getConceptManager()
@Lazy
def resourceManager(self):
return self.loopsRoot.getResourceManager()
@Lazy
def defaultPredicate(self):
return self.conceptManager.getDefaultPredicate()
@Lazy
def viewAnnotations(self):
return self.request.annotations.get('loops.view', {})

View file

@ -62,11 +62,16 @@ class NodeTraverser(ItemTraverser):
tv = component.getMultiAdapter((target, request), name='layout')
viewAnnotations['targetView'] = tv
return self.context
try:
obj = super(NodeTraverser, self).publishTraverse(request, name)
except NotFound, e:
viewAnnotations['pageName'] = name
return self.context
obj = None
# for name, tr in component.getAdapters(self.context, IPublishTraverse):
# if name:
# obj = tr.publishTraverse(request, name)
if obj is None:
try:
obj = super(NodeTraverser, self).publishTraverse(request, name)
except NotFound, e:
viewAnnotations['pageName'] = name
return self.context
return obj
def cleanUpTraversalStack(self, request, name):