put common code in base module; remove explicit node references from all views, the node is taken dynamically from request annotations

git-svn-id: svn://svn.cy55.de/Zope3/src/loops/trunk@3502 fd906abe-77d9-0310-91a1-e0d9ade77398
This commit is contained in:
helmutm 2009-08-14 09:46:34 +00:00
parent 5bf0b20494
commit e074f9b659
3 changed files with 10 additions and 36 deletions

View file

@ -64,7 +64,7 @@ class NodeLayoutInstance(LayoutInstance):
def targetView(self):
request = self.view.request
view = component.getMultiAdapter((self.target, request), name='layout')
view.node = self.context
#view.node = self.context
view.layoutInstance = self
return view

View file

@ -61,7 +61,7 @@ class BaseView(object):
@Lazy
def viewAnnotations(self):
return self.request.annotations.get('loops.view', {})
return self.request.annotations.setdefault('loops.view', {})
@Lazy
def virtualTarget(self):
@ -99,8 +99,7 @@ class BaseView(object):
def breadcrumbs(self):
return []
result = [dict(label=self.title, url=self.url)]
viewAnnotations = self.request.annotations.setdefault('loops.view', {})
pageName = viewAnnotations.get('pageName')
pageName = self.viewAnnotations.get('pageName')
if pageName:
result.append(dict(label=pageName.split('.')[0].title(),
url='%s/%s' % (self.url, pageName)))

View file

@ -25,32 +25,19 @@ $Id$
from zope.app.security.interfaces import IUnauthenticatedPrincipal
from zope.cachedescriptors.property import Lazy
from zope import component
from zope.security.proxy import removeSecurityProxy
from cybertools.composer.layout.browser.view import Page
from loops.common import adapted
from loops.layout.browser.base import BaseView
class LayoutNodeView(Page):
class LayoutNodeView(Page, BaseView):
@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()
def __init__(self, context, request):
super(LayoutNodeView, self).__init__(context, request)
#Page.__init__(self, context, request)
self.viewAnnotations.setdefault('node', removeSecurityProxy(context))
@Lazy
def layoutName(self):
@ -67,10 +54,6 @@ class LayoutNodeView(Page):
result.append('page')
return result
@Lazy
def viewAnnotations(self):
return self.request.annotations.get('loops.view', {})
@Lazy
def target(self):
target = self.viewAnnotations.get('target')
@ -86,11 +69,3 @@ class LayoutNodeView(Page):
return ' - '.join((self.context.title, targetView.title))
else:
return self.context.title
@Lazy
def authenticated(self):
return not IUnauthenticatedPrincipal.providedBy(self.request.principal)
def getMessage(self, id):
return self.request.form.get('loops.messages', {}).get(id, {})