src/pyams_thesaurus/thesaurus.py
changeset 13 5717572bf2a8
parent 7 6a22cec2899b
child 23 9885b9c88b2e
--- a/src/pyams_thesaurus/thesaurus.py	Wed Jul 22 17:23:33 2015 +0200
+++ b/src/pyams_thesaurus/thesaurus.py	Wed Jul 22 17:24:28 2015 +0200
@@ -22,7 +22,7 @@
 from pyams_thesaurus.interfaces.loader import IThesaurusLoader
 from pyams_thesaurus.interfaces.term import IThesaurusTermsContainer, IThesaurusTerm, IThesaurusLoaderTerm
 from pyams_thesaurus.interfaces.thesaurus import IThesaurus, IThesaurusExtract, IThesaurusExtractRoles, \
-    IThesaurusRoles, IThesaurusExtracts
+    IThesaurusRoles, IThesaurusExtracts, IThesaurusContextManagerTarget, IThesaurusContextManager
 from pyams_utils.interfaces.site import IOptionalUtility
 from pyams_utils.interfaces.tree import ITree
 from transaction.interfaces import ITransactionManager
@@ -376,6 +376,10 @@
         terms = []
         if context is not None:
             thesaurus = get_parent(context, IThesaurus)
+            if thesaurus is None:
+                context_manager = IThesaurusContextManager(context, None)
+                if context_manager is not None:
+                    thesaurus = query_utility(IThesaurus, name=context_manager.thesaurus_name)
             if thesaurus is not None:
                 extracts = IThesaurusExtracts(thesaurus)
                 terms = [SimpleTerm(extract.__name__, title=extract.name) for extract in extracts.values()]