[Checkins] SVN: z3c.traverser/trunk/src/z3c/traverser/viewlet/
default view for viewlets is now the index.html view
Bernd Dorn
bernd.dorn at lovelysystems.com
Fri May 4 02:03:02 EDT 2007
Log message for revision 75254:
default view for viewlets is now the index.html view
Changed:
U z3c.traverser/trunk/src/z3c/traverser/viewlet/configure.zcml
U z3c.traverser/trunk/src/z3c/traverser/viewlet/namespace.py
-=-
Modified: z3c.traverser/trunk/src/z3c/traverser/viewlet/configure.zcml
===================================================================
--- z3c.traverser/trunk/src/z3c/traverser/viewlet/configure.zcml 2007-05-04 05:36:31 UTC (rev 75253)
+++ z3c.traverser/trunk/src/z3c/traverser/viewlet/configure.zcml 2007-05-04 06:03:01 UTC (rev 75254)
@@ -101,11 +101,4 @@
provides="zope.publisher.interfaces.browser.IBrowserView"
factory=".browser.ViewletView"/>
- <!--
- <browser:page
- for="zope.viewlet.interfaces.IViewlet"
- name="index.html"
- class=".browser.ViewletView"
- permission="zope.Public"/>
- -->
</configure>
\ No newline at end of file
Modified: z3c.traverser/trunk/src/z3c/traverser/viewlet/namespace.py
===================================================================
--- z3c.traverser/trunk/src/z3c/traverser/viewlet/namespace.py 2007-05-04 05:36:31 UTC (rev 75253)
+++ z3c.traverser/trunk/src/z3c/traverser/viewlet/namespace.py 2007-05-04 06:03:01 UTC (rev 75254)
@@ -2,8 +2,8 @@
from zope import component
from zope.publisher.interfaces import NotFound
from zope.viewlet.interfaces import IViewletManager
+from zope.security.proxy import removeSecurityProxy
-
class ViewletViewletManagerHandler(SimpleHandler):
def __init__(self, context, request=None):
@@ -44,8 +44,15 @@
self.request = request
def traverse(self, name, ignored):
- # Try to look up the provider.
+ # Try to look up the viewlet
viewlet = self.context.get(name)
if viewlet is None:
raise NotFound(self.context, name, self.request)
+ viewlet = removeSecurityProxy(viewlet)
+ # hack: somehow in the viewlet metaconfigure it makes the
+ # viewlet class a IBrowserPublisher, which assumes that we
+ # have a call in browserdefault, so we have to replace this
+ # method.
+ viewlet.browserDefault = lambda r: (viewlet, ('index.html',))
return viewlet
+
More information about the Checkins
mailing list