provide filter setting as layout or request parameter

git-svn-id: svn://svn.cy55.de/Zope3/src/loops/trunk@3486 fd906abe-77d9-0310-91a1-e0d9ade77398
This commit is contained in:
helmutm 2009-08-01 13:42:56 +00:00
parent a9da7aa41f
commit 3b36e52ae4
3 changed files with 12 additions and 4 deletions

View file

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

View file

@ -47,10 +47,6 @@ class BaseView(object):
def loopsRoot(self):
return self.context.getLoopsRoot()
@Lazy
def defaultPredicate(self):
return self.loopsRoot.getConceptManager().getDefaultPredicate()
@Lazy
def conceptManager(self):
return self.loopsRoot.getConceptManager()
@ -110,6 +106,16 @@ class BaseView(object):
url='%s/%s' % (self.url, pageName)))
return result
@Lazy
def filter(self):
fname = self.request.form.get('filter')
if fname is None:
li = getattr(self, 'layoutInstance', None)
if li is not None:
fname = getattr(li.template, 'filter', '')
self.request.form['filter'] = fname
return fname
@Lazy
def authenticated(self):
return not IUnauthenticatedPrincipal.providedBy(self.request.principal)

View file

@ -41,6 +41,7 @@ class ConceptView(BaseView):
@property
def children(self):
for c in self.context.getChildren():
#for c in self.context.getChildren([self.defaultPredicate]):
a = adapted(c)
#view = component.getMultiAdapter((c, self.request), name='layout')
view = component.getMultiAdapter((a, self.request), name='layout')