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:
parent
5bf0b20494
commit
e074f9b659
3 changed files with 10 additions and 36 deletions
|
@ -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
|
||||
|
||||
|
|
|
@ -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)))
|
||||
|
|
|
@ -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, {})
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue