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):
|
def targetView(self):
|
||||||
request = self.view.request
|
request = self.view.request
|
||||||
view = component.getMultiAdapter((self.target, request), name='layout')
|
view = component.getMultiAdapter((self.target, request), name='layout')
|
||||||
view.node = self.context
|
#view.node = self.context
|
||||||
view.layoutInstance = self
|
view.layoutInstance = self
|
||||||
return view
|
return view
|
||||||
|
|
||||||
|
|
|
@ -61,7 +61,7 @@ class BaseView(object):
|
||||||
|
|
||||||
@Lazy
|
@Lazy
|
||||||
def viewAnnotations(self):
|
def viewAnnotations(self):
|
||||||
return self.request.annotations.get('loops.view', {})
|
return self.request.annotations.setdefault('loops.view', {})
|
||||||
|
|
||||||
@Lazy
|
@Lazy
|
||||||
def virtualTarget(self):
|
def virtualTarget(self):
|
||||||
|
@ -99,8 +99,7 @@ class BaseView(object):
|
||||||
def breadcrumbs(self):
|
def breadcrumbs(self):
|
||||||
return []
|
return []
|
||||||
result = [dict(label=self.title, url=self.url)]
|
result = [dict(label=self.title, url=self.url)]
|
||||||
viewAnnotations = self.request.annotations.setdefault('loops.view', {})
|
pageName = self.viewAnnotations.get('pageName')
|
||||||
pageName = viewAnnotations.get('pageName')
|
|
||||||
if pageName:
|
if pageName:
|
||||||
result.append(dict(label=pageName.split('.')[0].title(),
|
result.append(dict(label=pageName.split('.')[0].title(),
|
||||||
url='%s/%s' % (self.url, pageName)))
|
url='%s/%s' % (self.url, pageName)))
|
||||||
|
|
|
@ -25,32 +25,19 @@ $Id$
|
||||||
from zope.app.security.interfaces import IUnauthenticatedPrincipal
|
from zope.app.security.interfaces import IUnauthenticatedPrincipal
|
||||||
from zope.cachedescriptors.property import Lazy
|
from zope.cachedescriptors.property import Lazy
|
||||||
from zope import component
|
from zope import component
|
||||||
|
from zope.security.proxy import removeSecurityProxy
|
||||||
|
|
||||||
from cybertools.composer.layout.browser.view import Page
|
from cybertools.composer.layout.browser.view import Page
|
||||||
from loops.common import adapted
|
from loops.common import adapted
|
||||||
|
from loops.layout.browser.base import BaseView
|
||||||
|
|
||||||
|
|
||||||
class LayoutNodeView(Page):
|
class LayoutNodeView(Page, BaseView):
|
||||||
|
|
||||||
@Lazy
|
def __init__(self, context, request):
|
||||||
def loopsRoot(self):
|
super(LayoutNodeView, self).__init__(context, request)
|
||||||
return self.context.getLoopsRoot()
|
#Page.__init__(self, context, request)
|
||||||
|
self.viewAnnotations.setdefault('node', removeSecurityProxy(context))
|
||||||
@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
|
@Lazy
|
||||||
def layoutName(self):
|
def layoutName(self):
|
||||||
|
@ -67,10 +54,6 @@ class LayoutNodeView(Page):
|
||||||
result.append('page')
|
result.append('page')
|
||||||
return result
|
return result
|
||||||
|
|
||||||
@Lazy
|
|
||||||
def viewAnnotations(self):
|
|
||||||
return self.request.annotations.get('loops.view', {})
|
|
||||||
|
|
||||||
@Lazy
|
@Lazy
|
||||||
def target(self):
|
def target(self):
|
||||||
target = self.viewAnnotations.get('target')
|
target = self.viewAnnotations.get('target')
|
||||||
|
@ -86,11 +69,3 @@ class LayoutNodeView(Page):
|
||||||
return ' - '.join((self.context.title, targetView.title))
|
return ' - '.join((self.context.title, targetView.title))
|
||||||
else:
|
else:
|
||||||
return self.context.title
|
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