From eccff52bb0f08e4f8ffd61044e4c234d30e25715 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20P=C3=A9ters?= Date: Mon, 30 Jan 2012 17:28:47 +0100 Subject: [PATCH] add mailRelatedDocsTxt catalog content --- themis/search/indexer.py | 20 ++++++++++++++++++++ themis/search/profiles/default/catalog.xml | 1 + 2 files changed, 21 insertions(+) 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 @@ +