[Zope-Checkins]
SVN: Products.Five/branches/regebro-traversal_refactor/
DefaultVieable now makes index.html the default,
and therefore retains exactly the
Lennart Regebro
regebro at gmail.com
Thu Apr 27 09:49:20 EDT 2006
Log message for revision 67645:
DefaultVieable now makes index.html the default, and therefore retains exactly the
same behaviour as before.
Changed:
U Products.Five/branches/regebro-traversal_refactor/browser/configure.zcml
U Products.Five/branches/regebro-traversal_refactor/browser/tests/defaultview.zcml
U Products.Five/branches/regebro-traversal_refactor/browser/tests/test_defaultview.py
U Products.Five/branches/regebro-traversal_refactor/fiveconfigure.py
-=-
Modified: Products.Five/branches/regebro-traversal_refactor/browser/configure.zcml
===================================================================
--- Products.Five/branches/regebro-traversal_refactor/browser/configure.zcml 2006-04-27 13:45:51 UTC (rev 67644)
+++ Products.Five/branches/regebro-traversal_refactor/browser/configure.zcml 2006-04-27 13:49:19 UTC (rev 67645)
@@ -1,7 +1,8 @@
<configure xmlns="http://namespaces.zope.org/zope"
xmlns:browser="http://namespaces.zope.org/browser">
- <!--browser:defaultView name="index.html" /-->
+ <browser:defaultView for="Products.Five.interfaces.IBrowserDefault"
+ name="index.html" />
<interface
interface="zope.publisher.interfaces.browser.ILayer"
Modified: Products.Five/branches/regebro-traversal_refactor/browser/tests/defaultview.zcml
===================================================================
--- Products.Five/branches/regebro-traversal_refactor/browser/tests/defaultview.zcml 2006-04-27 13:45:51 UTC (rev 67644)
+++ Products.Five/branches/regebro-traversal_refactor/browser/tests/defaultview.zcml 2006-04-27 13:49:19 UTC (rev 67645)
@@ -2,17 +2,20 @@
xmlns:browser="http://namespaces.zope.org/browser"
xmlns:five="http://namespaces.zope.org/five">
- <!--five:defaultViewable
- class="Products.Five.tests.testing.simplecontent.SimpleContent" /-->
+ <five:defaultViewable
+ class="Products.Five.tests.testing.simplecontent.SimpleContent" />
- <browser:defaultView
+ <browser:page
for="Products.Five.tests.testing.simplecontent.ISimpleContent"
name="eagledefaultview.txt"
+ class=".pages.SimpleView"
+ attribute="mouse"
+ permission="zope2.Public"
/>
<browser:page
for="Products.Five.tests.testing.simplecontent.ISimpleContent"
- name="eagledefaultview.txt"
+ name="index.html"
class=".pages.SimpleView"
attribute="eagle"
permission="zope2.Public"
Modified: Products.Five/branches/regebro-traversal_refactor/browser/tests/test_defaultview.py
===================================================================
--- Products.Five/branches/regebro-traversal_refactor/browser/tests/test_defaultview.py 2006-04-27 13:45:51 UTC (rev 67644)
+++ Products.Five/branches/regebro-traversal_refactor/browser/tests/test_defaultview.py 2006-04-27 13:49:19 UTC (rev 67645)
@@ -46,8 +46,7 @@
>>> uf = self.folder.acl_users
>>> uf._doAddUser('manager', 'r00t', ['Manager'], [])
- Test a simple default view:
-
+ Test that index.html is still the default view:
>>> print http(r'''
... GET /test_folder_1_/testoid HTTP/1.1
... Authorization: Basic manager:r00t
@@ -56,6 +55,23 @@
...
The eagle has landed
+
+ But if we want to, we can specify another default view with
+ browser:defaultView:
+ >>> zcml.load_string('''
+ ... <configure xmlns:browser="http://namespaces.zope.org/browser">
+ ... <browser:defaultView
+ ... for="Products.Five.tests.testing.simplecontent.ISimpleContent"
+ ... name="eagledefaultview.txt" />
+ ... </configure>''')
+ >>> print http(r'''
+ ... GET /test_folder_1_/testoid HTTP/1.1
+ ... Authorization: Basic manager:r00t
+ ... ''')
+ HTTP/1.1 200 OK
+ ...
+ The mouse has been eaten by the eagle
+
This tests whether an existing ``index_html`` method is still
supported and called:
Modified: Products.Five/branches/regebro-traversal_refactor/fiveconfigure.py
===================================================================
--- Products.Five/branches/regebro-traversal_refactor/fiveconfigure.py 2006-04-27 13:45:51 UTC (rev 67644)
+++ Products.Five/branches/regebro-traversal_refactor/fiveconfigure.py 2006-04-27 13:49:19 UTC (rev 67645)
@@ -149,6 +149,7 @@
_defaultviewable_monkies = []
def classDefaultViewable(class_):
+ # XXX deprecated, can be removed
# If a class already has this attribute, it means it is either a
# subclass of DefaultViewable or was already processed with this
# directive; in either case, do nothing... except in the case were
@@ -175,16 +176,26 @@
# remember class for clean up
_defaultviewable_monkies.append(class_)
+from zope.component import getSiteManager, provideAdapter
+from zope.interface import providedBy
+from zope.publisher.interfaces.browser import IBrowserRequest
+from zope.component.interfaces import IDefaultViewName
+from interfaces import IBrowserDefault
+
def defaultViewable(_context, class_):
warnings.warn("The five:defaultViewable statement is no longer needed " \
- "and will be removed in Zope 2.12",
+ "and will be removed in Zope 2.12. \n If you rely on it " \
+ "to make 'index.html' the default view, replace it with " \
+ "<browser:defaultView name='index.html' />",
DeprecationWarning, 2)
+ implements(_context, class_, (IBrowserDefault,))
return
- _context.action(
- discriminator = None,
- callable = classDefaultViewable,
- args = (class_,)
- )
+ # XXX old code
+ #_context.action(
+ #discriminator = None,
+ #callable = classDefaultViewable,
+ #args = (class_,)
+ #)
def createZope2Bridge(zope2, package, name):
# Map a Zope 2 interface into a Zope3 interface, seated within 'package'
More information about the Zope-Checkins
mailing list