make more macro templates configurable by controller settings

git-svn-id: svn://svn.cy55.de/Zope3/src/loops/trunk@4060 fd906abe-77d9-0310-91a1-e0d9ade77398
This commit is contained in:
helmutm 2010-11-05 09:26:58 +00:00
parent e8404ee38b
commit 16f91fc165
5 changed files with 25 additions and 11 deletions

View file

@ -1,5 +1,5 @@
# #
# Copyright (c) 2007 Helmut Merz helmutm@cy55.de # Copyright (c) 2010 Helmut Merz helmutm@cy55.de
# #
# This program is free software; you can redistribute it and/or modify # This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by # it under the terms of the GNU General Public License as published by
@ -109,7 +109,6 @@ class MediaAssetEditForm(EditForm):
class ResourceView(BaseView): class ResourceView(BaseView):
#template = ViewPageTemplateFile('resource_macros.pt')
template = resource_macros template = resource_macros
@Lazy @Lazy

View file

@ -31,7 +31,7 @@ from cybertools.stateful.interfaces import IStateful, IStatesDefinition
from loops.browser.common import BaseView from loops.browser.common import BaseView
from loops.browser.concept import ConceptView from loops.browser.concept import ConceptView
from loops.expert.query import And, Or, State, Type, getObjects from loops.expert.query import And, Or, State, Type, getObjects
from loops.search.browser import template as search_template from loops.search.browser import search_template
from loops.util import _ from loops.util import _

View file

@ -1,5 +1,5 @@
# #
# Copyright (c) 2009 Helmut Merz helmutm@cy55.de # Copyright (c) 2010 Helmut Merz helmutm@cy55.de
# #
# This program is free software; you can redistribute it and/or modify # This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by # it under the terms of the GNU General Public License as published by
@ -41,18 +41,20 @@ from loops import util
from loops.util import _ from loops.util import _
template = ViewPageTemplateFile('search.pt') search_template = ViewPageTemplateFile('search.pt')
class Search(BaseView): class Search(BaseView):
maxRowNum = 0 maxRowNum = 0
template = template @Lazy
def search_macros(self):
return self.controller.getTemplateMacros('search', search_template)
@Lazy @Lazy
def macro(self): def macro(self):
return template.macros['search'] return self.search_macros['search']
@property @property
def rowNum(self): def rowNum(self):
@ -159,9 +161,13 @@ class Search(BaseView):
class SearchResults(NodeView): class SearchResults(NodeView):
""" Provides results as inner HTML """ """ Provides results as inner HTML """
@Lazy
def search_macros(self):
return self.controller.getTemplateMacros('search', search_template)
@Lazy @Lazy
def macro(self): def macro(self):
return template.macros['search_results'] return self.search_macros['search_results']
def __call__(self): def __call__(self):
return innerHtml(self) return innerHtml(self)

View file

@ -1,6 +1,6 @@
<metal:search define-macro="search"> <metal:search define-macro="search">
<div id="search" <div id="search"
tal:define="macros item/template/macros; tal:define="macros item/search_macros;
idPrefix string:${view/itemNum}.search; idPrefix string:${view/itemNum}.search;
formId string:$idPrefix.form; formId string:$idPrefix.form;
resultsId string:$idPrefix.results"> resultsId string:$idPrefix.results">

View file

@ -28,6 +28,7 @@ from zope.app.security.interfaces import IUnauthenticatedPrincipal
from zope.cachedescriptors.property import Lazy from zope.cachedescriptors.property import Lazy
from loops.browser.common import BaseView from loops.browser.common import BaseView
from loops.resource import Resource
from loops.versioning.interfaces import IVersionable from loops.versioning.interfaces import IVersionable
from loops.versioning.util import getVersion from loops.versioning.util import getVersion
@ -39,13 +40,21 @@ class ListVersions(BaseView):
template = version_macros template = version_macros
@Lazy
def version_macros(self):
return self.controller.getTemplateMacros('versions', version_macros)
@Lazy @Lazy
def macro(self): def macro(self):
return self.template.macros['versions'] return self.version_macros['versions']
def versions(self): def versions(self):
versionable = IVersionable(self.context) versionable = IVersionable(self.context)
versions = versionable.versions versions = versionable.versions
for v in sorted(versions): for v in sorted(versions):
if isinstance(versions[v], Resource):
from loops.browser.resource import ResourceView
yield ResourceView(versions[v], self.request)
else:
yield BaseView(versions[v], self.request) yield BaseView(versions[v], self.request)