diff --git a/src/OFS/browser/__init__.py b/src/OFS/browser/__init__.py index 39e26e052d..1810a7ff79 100644 --- a/src/OFS/browser/__init__.py +++ b/src/OFS/browser/__init__.py @@ -11,6 +11,7 @@ # ############################################################################## +from Acquisition import aq_parent from Products.Five import BrowserView @@ -21,7 +22,13 @@ class StandardErrorMessageView(BrowserView): """ def __call__(self): - root = self.request['PARENTS'][0] + published = getattr(self.request, 'PUBLISHED', None) + if published is not None: + root = aq_parent(published) + else: + root = self.request['PARENTS'][0] + return root.standard_error_message( + client=root, error_type=self.context.__class__.__name__, error_value=str(self.context)) diff --git a/src/Testing/utils.py b/src/Testing/utils.py index 9f3ca7da46..9e6bdff494 100644 --- a/src/Testing/utils.py +++ b/src/Testing/utils.py @@ -15,6 +15,7 @@ import contextlib import sys + @contextlib.contextmanager def capture_stdout(file): old_out = sys.stdout