Log message for revision 110780: Merge change from 2.12 branch Changed: U Zope/trunk/src/Zope2/App/startup.py U Zope/trunk/src/Zope2/App/tests/testExceptionHook.py
-=- Modified: Zope/trunk/src/Zope2/App/startup.py =================================================================== --- Zope/trunk/src/Zope2/App/startup.py 2010-04-13 12:13:26 UTC (rev 110779) +++ Zope/trunk/src/Zope2/App/startup.py 2010-04-13 12:16:42 UTC (rev 110780) @@ -24,6 +24,7 @@ from Acquisition import aq_base from Acquisition import aq_inner from Acquisition import aq_parent +from Acquisition.interfaces import IAcquirer from App.config import getConfiguration from time import asctime from zExceptions import upgradeException @@ -218,6 +219,8 @@ # zope.publisher uses as well. view = queryMultiAdapter((v, REQUEST), name=u'index.html') if view is not None: + if IAcquirer.providedBy(published): + view = view.__of__(published) v = view() response = REQUEST.RESPONSE response.setStatus(t) Modified: Zope/trunk/src/Zope2/App/tests/testExceptionHook.py =================================================================== --- Zope/trunk/src/Zope2/App/tests/testExceptionHook.py 2010-04-13 12:13:26 UTC (rev 110779) +++ Zope/trunk/src/Zope2/App/tests/testExceptionHook.py 2010-04-13 12:16:42 UTC (rev 110780) @@ -16,6 +16,7 @@ import unittest import logging +import Acquisition from zope.component.testing import PlacelessSetup from zope.interface.common.interfaces import IException from zope.publisher.skinnable import setDefaultSkin @@ -215,7 +216,7 @@ self.call_no_exc(hook, None, None, f) self.assertEquals(hook.unresolved_conflict_errors, 2) -class Client: +class Client(Acquisition.Explicit): def __init__(self): self.standard_error_message = True @@ -320,14 +321,16 @@ tb = client.messages[0] self.failUnless("ConflictError: database conflict error" in tb, tb) -class CustomExceptionView: +class CustomExceptionView(Acquisition.Explicit): def __init__(self, context, request): self.context = context self.request = request def __call__(self): - return "Exception View: %s" % self.context.__class__.__name__ + return "Exception View: %s\nContext: %s" % ( + self.context.__class__.__name__, + Acquisition.aq_parent(self).__class__.__name__) def registerExceptionView(for_): from zope.interface import Interface @@ -355,6 +358,7 @@ self.failUnless(isinstance(v, HTTPResponse), v) self.failUnless(v.status == 401, (v.status, 401)) self.failUnless("Exception View: Unauthorized" in str(v)) + self.failUnless("Context: StandardClient" in str(v)) def testCustomExceptionViewForbidden(self): from ZPublisher.HTTPResponse import HTTPResponse _______________________________________________ Zope-Checkins maillist - Zope-Checkins@zope.org https://mail.zope.org/mailman/listinfo/zope-checkins