Esempio n. 1
0
 def test_is_view_template_alias(self):
     browserDefault = IBrowserDefault(self.folder, None)
     fti = browserDefault.getTypeInfo()
     aliases = fti.getMethodAliases()
     aliases["foo_alias"] = "(Default)"
     fti.setMethodAliases(aliases)
     self.app.REQUEST["ACTUAL_URL"] = self.folder.absolute_url() + "/foo_alias"
     self.assertEquals(self.fview.is_view_template(), True)
     self.assertEquals(self.dview.is_view_template(), False)
 def test_is_view_template_alias(self):
     browserDefault = IBrowserDefault(self.folder, None)
     fti = browserDefault.getTypeInfo()
     aliases = fti.getMethodAliases()
     aliases['foo_alias'] = '(Default)'
     fti.setMethodAliases(aliases)
     self.app.REQUEST[
         'ACTUAL_URL'] = self.folder.absolute_url() + '/foo_alias'
     self.assertEqual(self.fview.is_view_template(), True)
     self.assertEqual(self.dview.is_view_template(), False)
Esempio n. 3
0
    def is_view_template(self):
        current_url = self.current_base_url()
        canonical_url = self.canonical_object_url()
        object_url = self.object_url()

        if current_url.endswith('/'):
            current_url = current_url[:-1]

        if current_url == canonical_url or current_url == object_url:
            return True
        if not current_url.startswith(object_url):
            # Cut short.
            return False
        # Get the part of the current_url minus the object_url.
        last_part = current_url.split(object_url)[-1]
        if not last_part.startswith('/'):
            # Unexpected
            return False
        # Remove the slash from the front:
        last_part = last_part[1:]
        if last_part == 'view':
            return True
        context = aq_inner(self.context)
        browserDefault = IBrowserDefault(context, None)
        if browserDefault is not None:
            fti = browserDefault.getTypeInfo()
            if fti.getMethodAliases().get(last_part) == '(Default)':
                return True

        template_id = self.view_template_id()
        if last_part == template_id:
            return True
        elif last_part == '@@%s' % template_id:
            return True

        return False
Esempio n. 4
0
    def is_view_template(self):
        current_url = self.current_base_url()
        canonical_url = self.canonical_object_url()
        object_url = self.object_url()

        if current_url.endswith('/'):
            current_url = current_url[:-1]

        if current_url == canonical_url or current_url == object_url:
            return True
        if not current_url.startswith(object_url):
            # Cut short.
            return False
        # Get the part of the current_url minus the object_url.
        last_part = current_url.split(object_url)[-1]
        if not last_part.startswith('/'):
            # Unexpected
            return False
        # Remove the slash from the front:
        last_part = last_part[1:]
        if last_part == 'view':
            return True
        context = aq_inner(self.context)
        browserDefault = IBrowserDefault(context, None)
        if browserDefault is not None:
            fti = browserDefault.getTypeInfo()
            if fti.getMethodAliases().get(last_part) == '(Default)':
                return True

        template_id = self.view_template_id()
        if last_part == template_id:
            return True
        elif last_part == '@@%s' % template_id:
            return True

        return False