fix indexing of comments (#12437)

This commit is contained in:
Paul J Stevens 2011-12-21 15:07:33 +01:00
parent 7e19a43555
commit 6eb38ace08

View File

@ -1,13 +1,14 @@
from Acquisition import aq_inner, aq_base, aq_parent from zope.component import queryUtility
from Acquisition import aq_inner, aq_parent
from zope.annotation.interfaces import IAnnotations from zope.annotation.interfaces import IAnnotations
from Products.CMFPlone.utils import base_hasattr from Products.CMFPlone.utils import base_hasattr
from Products.CMFPlone.utils import safe_callable from Products.CMFPlone.utils import safe_callable
from Products.CMFCore.utils import getToolByName
from plone.app.discussion.conversation import ANNOTATION_KEY from plone.app.discussion.conversation import ANNOTATION_KEY
from plone.app.discussion.interfaces import ICommentingTool
# security.declareProtected(ManageZCatalogEntries, 'clearFindAndRebuild') # security.declareProtected(ManageZCatalogEntries, 'clearFindAndRebuild')
def patchedClearFindAndRebuild(self): def patchedClearFindAndRebuild(self):
@ -25,14 +26,14 @@ def patchedClearFindAndRebuild(self):
obj.indexObject() obj.indexObject()
annotions = IAnnotations(obj) annotions = IAnnotations(obj)
catalog = getToolByName(obj, 'portal_catalog', None) discussion = queryUtility(ICommentingTool)
if ANNOTATION_KEY in annotions: if ANNOTATION_KEY in annotions:
conversation = annotions[ANNOTATION_KEY] conversation = annotions[ANNOTATION_KEY]
conversation = conversation.__of__(obj) conversation = conversation.__of__(obj)
for comment in conversation.getComments(): for comment in conversation.getComments():
try: try:
if catalog: if discussion:
catalog.indexObject(aq_base(comment)) discussion.indexObject(comment)
except StopIteration: # pragma: no cover except StopIteration: # pragma: no cover
pass pass