src/pyams_default_theme/features/sitemap/__init__.py
changeset 302 85fd0b442e2a
parent 200 0f13488cf469
child 309 cf5d41f5e210
equal deleted inserted replaced
301:93875f62e559 302:85fd0b442e2a
    20 from hypatia.query import Any, Eq
    20 from hypatia.query import Any, Eq
    21 from pyramid.view import view_config
    21 from pyramid.view import view_config
    22 from zope.intid import IIntIds
    22 from zope.intid import IIntIds
    23 
    23 
    24 from pyams_catalog.query import CatalogResultSet
    24 from pyams_catalog.query import CatalogResultSet
       
    25 from pyams_content.component.theme import ITagsManager
    25 from pyams_content.root import ISiteRoot, ISiteRootToolsConfiguration
    26 from pyams_content.root import ISiteRoot, ISiteRootToolsConfiguration
    26 from pyams_content.shared.common import CONTENT_TYPES, IBaseSharedTool
    27 from pyams_content.shared.common import CONTENT_TYPES, IBaseSharedTool
    27 from pyams_i18n.interfaces import II18nManager
    28 from pyams_i18n.interfaces import II18nManager
    28 from pyams_skin.layer import IPyAMSUserLayer
    29 from pyams_skin.layer import IPyAMSUserLayer
       
    30 from pyams_thesaurus.interfaces.thesaurus import IThesaurus
    29 from pyams_utils.list import unique_iter
    31 from pyams_utils.list import unique_iter
    30 from pyams_utils.registry import get_all_utilities_registered_for, get_utility
    32 from pyams_utils.registry import get_all_utilities_registered_for, get_utility, query_utility
    31 from pyams_workflow.interfaces import IWorkflow, IWorkflowPublicationInfo
    33 from pyams_workflow.interfaces import IWorkflow, IWorkflowPublicationInfo
    32 
    34 
    33 
    35 
    34 @view_config(name='robots.txt', context=ISiteRoot, request_type=IPyAMSUserLayer,
    36 @view_config(name='robots.txt', context=ISiteRoot, request_type=IPyAMSUserLayer,
    35              renderer='templates/robots.pt')
    37              renderer='templates/robots.pt')
    70             if not tool.shared_content_menu:
    72             if not tool.shared_content_menu:
    71                 continue
    73                 continue
    72             publication_info = IWorkflowPublicationInfo(tool, None)
    74             publication_info = IWorkflowPublicationInfo(tool, None)
    73             if (publication_info is None) or publication_info.is_visible(self.request):
    75             if (publication_info is None) or publication_info.is_visible(self.request):
    74                 yield timestamp, tool
    76                 yield timestamp, tool
       
    77         tags_manager = ITagsManager(self.request.root)
       
    78         if tags_manager.enable_glossary:
       
    79             thesaurus = query_utility(IThesaurus, name=tags_manager.glossary_thesaurus_name)
       
    80             if thesaurus is not None:
       
    81                 yield timestamp, thesaurus
    75 
    82 
    76 
    83 
    77 @view_config(name='sitemap.xml', context=IBaseSharedTool, request_type=IPyAMSUserLayer,
    84 @view_config(name='sitemap.xml', context=IBaseSharedTool, request_type=IPyAMSUserLayer,
    78              renderer='templates/tool-sitemap.pt')
    85              renderer='templates/tool-sitemap.pt')
    79 class SharedToolSitemapView(object):
    86 class SharedToolSitemapView(object):