diff --git a/themis/search/indexer.py b/themis/search/indexer.py index 4e24f3c..af45226 100644 --- a/themis/search/indexer.py +++ b/themis/search/indexer.py @@ -60,6 +60,26 @@ def mailCategoryTxtIndexer(obj): grok.global_adapter(mailCategoryTxtIndexer, name="mailCategoryTxt") +@indexer(plone.dexterity.interfaces.IDexterityItem) +def mailRelatedDocsTxtIndexer(obj): + if obj.portal_type not in ('courrier_entrant', 'courrier_sortant'): + return None + values = [] + for attr in ('docs_related',): + if not hasattr(obj, attr): + continue + if getattr(obj, attr): + for relationvalue in getattr(obj, attr): + values.append(relationvalue.to_object.Title()) + if values: + return ', '.join(values) + else: + return None + +grok.global_adapter(mailRelatedDocsTxtIndexer, name="mailRelatedDocsTxt") + + + @indexer(plone.dexterity.interfaces.IDexterityItem) def docSessionIndexer(obj): if not '(D)' in obj.Type(): diff --git a/themis/search/profiles/default/catalog.xml b/themis/search/profiles/default/catalog.xml index 8efc433..efba80e 100644 --- a/themis/search/profiles/default/catalog.xml +++ b/themis/search/profiles/default/catalog.xml @@ -66,6 +66,7 @@ +