def traverse(self, name, remaining):
     try:
         return self._traverse(name, remaining)
     except NotFound as e:
         logger.warning(e.message)
         resource_path = absolute_path(CONTENT_LAYOUT_DEFAULT_LAYOUT)
         return DisplayLayoutView(self.context, self.request, resource_path)
Example #2
0
 def traverse(self, name, remaining):
     try:
         return self._traverse(name, remaining)
     except NotFound as e:
         logger.warning(e.message)
         resource_path = absolute_path(CONTENT_LAYOUT_DEFAULT_LAYOUT)
         return DisplayLayoutView(self.context, self.request, resource_path)
    def _traverse(self, name, remaining):
        portal_type = getattr(self.context, 'portal_type', None)
        if not portal_type:
            raise NotFound(self.context, name, self.request)

        types_tool = api.portal.get_tool('portal_types')
        fti = getattr(types_tool, portal_type, None)
        if fti is None:
            raise NotFound(self.context, name, self.request)

        aliases = fti.getMethodAliases() or {}
        layout = '++layout++{0:s}'.format(name)
        resource_path = absolute_path(aliases.get(layout))

        if resource_path is None:
            raise NotFound(self.context, name, self.request)
        else:
            return DisplayLayoutView(self.context, self.request, resource_path)
Example #4
0
    def _traverse(self, name, remaining):
        portal_type = getattr(self.context, 'portal_type', None)
        if not portal_type:
            raise NotFound(self.context, name, self.request)

        types_tool = api.portal.get_tool('portal_types')
        fti = getattr(types_tool, portal_type, None)
        if fti is None:
            raise NotFound(self.context, name, self.request)

        aliases = fti.getMethodAliases() or {}
        layout = '++layout++{0:s}'.format(name)
        resource_path = absolute_path(aliases.get(layout))

        if resource_path is None:
            raise NotFound(self.context, name, self.request)
        else:
            return DisplayLayoutView(self.context, self.request, resource_path)