示例#1
0
    def test_two_sites(self):
        site = SiteFactory.create(
            root_page=PageFactory.create(title='mypage', path='00010002')
        )

        site_b = SiteFactory.create(
            root_page=PageFactory.create(title='mypage', path='00010003')
        )

        SystemStringFactory.create(
            identifier='headline',
            string='headline a',
            site=site,
            modified=True,
        )

        SystemStringFactory.create(
            identifier='headline',
            string='headline b',
            site=site_b,
            modified=True,
        )

        fill_cache(site)
        fill_cache(site_b)

        preload(site)
        preload(site_b)

        set_site(site)
        self.assertEquals(systemtext('headline'), 'headline a')

        set_site(site_b)
        self.assertEquals(systemtext('headline'), 'headline b')
示例#2
0
    def test_empty_but_modified_setting_override(self):
        app_settings.SYSTEMTEXT_USE_DEFAULT_ON_EMPTY = True

        site = SiteFactory.create(
            root_page=PageFactory.create(title='mypage', path='00010002')
        )

        SystemStringFactory.create(
            identifier='title',
            string='',
            site=site,
            modified=True,
        )

        set_site(site)
        fill_cache(site)
        preload(site)

        self.assertEquals(systemtext('title', default='Default title'), 'Default title')
        self.assertEquals(systemtext('title'), '')
示例#3
0
    def test_empty_use_default(self):
        site = SiteFactory.create(
            root_page=PageFactory.create(title='mypage', path='00010002')
        )

        SystemStringFactory.create(
            identifier='title',
            string='',
            site=site,
            modified=False,
        )

        set_site(site)
        fill_cache(site)
        preload(site)

        self.assertEquals(systemtext('title', default='Default title'), 'Default title')
示例#4
0
    def test_replace(self):
        site = SiteFactory.create(
            root_page=PageFactory.create(title='mypage', path='00010002')
        )

        SystemStringFactory.create(
            identifier='headline',
            string='Headline!',
            site=site,
            modified=True,
        )

        set_site(site)
        fill_cache(site)
        preload(site)

        self.assertEquals(systemtext('headline'), 'Headline!')
示例#5
0
    def render(self, context):
        self.filter_expression.var.translate = not self.noop
        if self.message_context:
            self.filter_expression.var.message_context = (
                self.message_context.resolve(context))
        output = self.filter_expression.resolve(context)

        value = render_value_in_context(output, context)

        # Restore percent signs. Percent signs in template text are doubled
        # so they are not interpreted as string format flags.
        is_safe = isinstance(value, SafeData)
        value = value.replace('%%', '%')
        value = systemtext(value, group=self.group, default=self.default)
        value = mark_safe(value) if is_safe else value
        if self.asvar:
            context[self.asvar] = value
            return ''
        else:
            return value