Ugly hack that works around a "ContentProviderLookupError: plone.htmlhead" error caused by Zope 2 permissions. See https://bugs.launchpad.net/zope2/+bug/176566 for further details. This error occured on Plone 3.3.x only.
svn path=/plone.app.discussion/trunk/; revision=33275
This commit is contained in:
parent
1a1c903086
commit
0b530a0a75
@ -2,6 +2,7 @@ from Acquisition import aq_inner, aq_parent
|
||||
|
||||
from Products.Five.browser import BrowserView
|
||||
from Products.Five.browser.pagetemplatefile import ViewPageTemplateFile
|
||||
from Products.Five.browser.pagetemplatefile import ZopeTwoPageTemplateFile
|
||||
|
||||
from Products.CMFCore.utils import getToolByName
|
||||
|
||||
@ -11,6 +12,23 @@ from Products.statusmessages.interfaces import IStatusMessage
|
||||
|
||||
from plone.app.discussion.interfaces import IComment
|
||||
|
||||
# Begin ugly hack. It works around a ContentProviderLookupError: plone.htmlhead error caused by Zope 2 permissions.
|
||||
# This error occured on Plone 3.3.x only!
|
||||
#
|
||||
# Source: http://athenageek.wordpress.com/2008/01/08/contentproviderlookuperror-plonehtmlhead/
|
||||
# Bug report: https://bugs.launchpad.net/zope2/+bug/176566
|
||||
#
|
||||
|
||||
def _getContext(self):
|
||||
self = self.aq_parent
|
||||
while getattr(self, '_is_wrapperish', None):
|
||||
self = self.aq_parent
|
||||
return self
|
||||
|
||||
ZopeTwoPageTemplateFile._getContext = _getContext
|
||||
# End ugly hack.
|
||||
|
||||
|
||||
class View(BrowserView):
|
||||
"""Moderation View
|
||||
"""
|
||||
|
@ -42,6 +42,7 @@ class ModerationViewTest(PloneTestCase):
|
||||
request = self.app.REQUEST
|
||||
context = getattr(self.portal, 'doc1')
|
||||
self.view = View(context, request)
|
||||
self.view.__of__(context)
|
||||
self.portal.portal_workflow.setChainForPortalTypes(
|
||||
('Discussion Item',), 'comment_review_workflow')
|
||||
self.wf_tool = self.portal.portal_workflow
|
||||
|
Loading…
Reference in New Issue
Block a user