src/pyams_default_theme/shared/site/folder.py
changeset 548 356a54a98a51
parent 224 d1189038613e
equal deleted inserted replaced
547:ac39aec467ea 548:356a54a98a51
    13 __docformat__ = 'restructuredtext'
    13 __docformat__ = 'restructuredtext'
    14 
    14 
    15 from pyramid.httpexceptions import HTTPSeeOther
    15 from pyramid.httpexceptions import HTTPSeeOther
    16 
    16 
    17 from pyams_content.shared.site import ISiteElementNavigation
    17 from pyams_content.shared.site import ISiteElementNavigation
    18 from pyams_content.shared.site.interfaces import FOLDER_REDIRECT_DISPLAY_MODE, ISiteFolder
    18 from pyams_content.shared.site.interfaces import SITE_CONTAINER_REDIRECT_MODE, ISiteFolder
    19 from pyams_default_theme.interfaces import IContentSummaryInfo
    19 from pyams_default_theme.interfaces import IContentSummaryInfo
    20 from pyams_i18n.interfaces import II18n
    20 from pyams_i18n.interfaces import II18n
    21 from pyams_pagelet.pagelet import pagelet_config
    21 from pyams_pagelet.pagelet import pagelet_config
    22 from pyams_portal.views import PortalContextIndexPage, PortalContextPreviewPage
    22 from pyams_portal.views import PortalContextIndexPage, PortalContextPreviewPage
    23 from pyams_skin.layer import IPyAMSUserLayer
    23 from pyams_skin.layer import IPyAMSUserLayer
    63 @pagelet_config(name='', context=ISiteFolder, layer=IPyAMSUserLayer)
    63 @pagelet_config(name='', context=ISiteFolder, layer=IPyAMSUserLayer)
    64 class SiteFolderIndexPage(PortalContextIndexPage):
    64 class SiteFolderIndexPage(PortalContextIndexPage):
    65     """Site folder index page"""
    65     """Site folder index page"""
    66 
    66 
    67     def __call__(self, **kwargs):
    67     def __call__(self, **kwargs):
    68         if self.context.navigation_mode == FOLDER_REDIRECT_DISPLAY_MODE:
    68         if self.context.navigation_mode == SITE_CONTAINER_REDIRECT_MODE:
    69             target = next(self.context.get_visible_items(self.request), None)
    69             target = next(self.context.get_visible_items(self.request), None)
    70             if target is not None:
    70             if target is not None:
    71                 return HTTPSeeOther(relative_url(target, request=self.request))
    71                 return HTTPSeeOther(relative_url(target, request=self.request))
    72         return super(SiteFolderIndexPage, self).__call__(**kwargs)
    72         return super().__call__(**kwargs)
    73 
    73 
    74 
    74 
    75 @pagelet_config(name='preview.html', context=ISiteFolder, layer=IPyAMSUserLayer, permission=VIEW_SYSTEM_PERMISSION)
    75 @pagelet_config(name='preview.html', context=ISiteFolder, layer=IPyAMSUserLayer,
       
    76                 permission=VIEW_SYSTEM_PERMISSION)
    76 class SiteFolderPreviewPage(PortalContextPreviewPage):
    77 class SiteFolderPreviewPage(PortalContextPreviewPage):
    77     """Site folder preview page"""
    78     """Site folder preview page"""
    78 
    79 
    79     def __call__(self, **kwargs):
    80     def __call__(self, **kwargs):
    80         if self.context.navigation_mode == FOLDER_REDIRECT_DISPLAY_MODE:
    81         if self.context.navigation_mode == SITE_CONTAINER_REDIRECT_MODE:
    81             target = next(self.context.get_visible_items(self.request), None)
    82             target = next(self.context.get_visible_items(self.request), None)
    82             if target is not None:
    83             if target is not None:
    83                 return HTTPSeeOther(relative_url(target, request=self.request, view_name='preview.html'))
    84                 return HTTPSeeOther(relative_url(target, request=self.request,
    84         return super(SiteFolderPreviewPage, self).__call__(**kwargs)
    85                                                  view_name='preview.html'))
       
    86         return super().__call__(**kwargs)