[z3-checkins] r5862 - z3/Flon/trunk
dreamcatcher at codespeak.net
dreamcatcher at codespeak.net
Tue Aug 3 21:05:09 MEST 2004
Author: dreamcatcher
Date: Tue Aug 3 21:05:08 2004
New Revision: 5862
Added:
z3/Flon/trunk/overrides.zcml
Modified:
z3/Flon/trunk/browser.py
Log:
Move the custom BrowserDefault here while i dont write a test for it *wink*
Modified: z3/Flon/trunk/browser.py
==============================================================================
--- z3/Flon/trunk/browser.py (original)
+++ z3/Flon/trunk/browser.py Tue Aug 3 21:05:08 2004
@@ -20,7 +20,9 @@
"""
from Products.Five.browser import BrowserView
+from Products.Five.viewable import BrowserDefault as BaseDefault, IBrowserDefault
from Products.CMFCore.utils import getToolByName
+from zope.component import getView, ComponentLookupError
from zope.app.apidoc.viewmodule.browser import SkinLayer as _SkinLayer
from zope.app.apidoc.viewmodule.browser import ViewsDetails as _ViewsDetails
@@ -38,3 +40,18 @@
def __call__(self):
it = getToolByName(self.context, 'portal_interface')
return it.getDirectlyProvidedNames(self.context)
+
+class BrowserDefault(BaseDefault):
+
+ def defaultView(self, request):
+ context, path = super(BrowserDefault, self).defaultView(request)
+ if path and len(path) == 1:
+ # Try to lookup a view with the name
+ # found, and if that fails, return None
+ try:
+ getView(context, path[0], request)
+ except ComponentLookupError:
+ pass
+ else:
+ return context, path
+ return context, None
Added: z3/Flon/trunk/overrides.zcml
==============================================================================
--- (empty file)
+++ z3/Flon/trunk/overrides.zcml Tue Aug 3 21:05:08 2004
@@ -0,0 +1,9 @@
+<configure xmlns="http://namespaces.zope.org/zope">
+
+ <adapter
+ for="*"
+ factory=".browser.BrowserDefault"
+ provides="Products.Five.interfaces.IBrowserDefault"
+ />
+
+</configure>
\ No newline at end of file
More information about the z3-checkins
mailing list