diff --git a/layout/base.py b/layout/base.py index df17c1e..da47969 100644 --- a/layout/base.py +++ b/layout/base.py @@ -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 diff --git a/layout/browser/base.py b/layout/browser/base.py index a36fe7f..c4b5ffa 100644 --- a/layout/browser/base.py +++ b/layout/browser/base.py @@ -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))) diff --git a/layout/browser/node.py b/layout/browser/node.py index 6e04488..e2a7167 100644 --- a/layout/browser/node.py +++ b/layout/browser/node.py @@ -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, {}) -