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:
parent
79e225e054
commit
55b231e8f9
2 changed files with 30 additions and 5 deletions
|
@ -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', {})
|
||||
|
|
|
@ -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):
|
||||
|
|
Loading…
Add table
Reference in a new issue