コード例 #1
0
 def discover_plugins(self):
     if self.discovered:
         return
     from cms.cache import invalidate_cms_page_cache
     invalidate_cms_page_cache()
     load('cms_plugins')
     self.discovered = True
コード例 #2
0
ファイル: plugin_pool.py プロジェクト: ym68/django-cms
 def discover_plugins(self):
     if self.discovered:
         return
     from cms.cache import invalidate_cms_page_cache
     invalidate_cms_page_cache()
     load('cms_plugins')
     self.discovered = True
コード例 #3
0
ファイル: test_cache.py プロジェクト: skirsdeda/django-cms
    def test_render_placeholder_cache(self):
        """
        Regression test for #4223

        Assert that placeholder cache is cleared correctly when a plugin is saved
        """
        invalidate_cms_page_cache()
        ex = Example1(char_1="one", char_2="two", char_3="tree", char_4="four")
        ex.save()
        ph1 = ex.placeholder
        ###
        # add the test plugin
        ##
        test_plugin = add_plugin(ph1, u"TextPlugin", u"en", body="Some text")
        test_plugin.save()

        # asserting initial text
        context = SekizaiContext()
        context["request"] = self.get_request()
        text = render_placeholder(ph1, context)
        self.assertEqual(text, "Some text")

        # deleting local plugin cache
        del ph1._plugins_cache
        test_plugin.body = "Other text"
        test_plugin.save()

        # plugin text has changed, so the placeholder rendering
        text = render_placeholder(ph1, context)
        self.assertEqual(text, "Other text")
コード例 #4
0
    def test_render_placeholder_cache(self):
        """
        Regression test for #4223

        Assert that placeholder cache is cleared correctly when a plugin is saved
        """
        invalidate_cms_page_cache()
        ex = Example1(char_1='one', char_2='two', char_3='tree', char_4='four')
        ex.save()
        ph1 = ex.placeholder
        ###
        # add the test plugin
        ##
        test_plugin = add_plugin(ph1, u"TextPlugin", u"en", body="Some text")
        test_plugin.save()

        request = self.get_request()
        content_renderer = self.get_content_renderer(request)
        # asserting initial text
        context = SekizaiContext()
        context['request'] = self.get_request()
        text = content_renderer.render_placeholder(ph1, context)
        self.assertEqual(text, "Some text")

        # deleting local plugin cache
        del ph1._plugins_cache
        test_plugin.body = 'Other text'
        test_plugin.save()

        # plugin text has changed, so the placeholder rendering
        text = content_renderer.render_placeholder(ph1, context)
        self.assertEqual(text, "Other text")
コード例 #5
0
 def save(self, *args, **kwargs):
     super(Redirection, self).save(*args, **kwargs)
     invalidate_cms_page_cache()
     cache.set('redir:%s:%s:%s' % (self.site_id, self.source, self.enabled),
               self,
               get_cms_setting('CACHE_DURATIONS')['menus'],
               version=_get_cache_version())
コード例 #6
0
ファイル: apphook.py プロジェクト: AaronJaramillo/shopDPM
def apphook_post_delete_title_checker(instance, **kwargs):
    """
    Check if this was an apphook
    """
    from cms.cache import invalidate_cms_page_cache
    invalidate_cms_page_cache()
    if instance.page.application_urls:
        request_finished.connect(trigger_restart, dispatch_uid=DISPATCH_UID)
コード例 #7
0
def apphook_post_delete_title_checker(instance, **kwargs):
    """
    Check if this was an apphook
    """
    from cms.cache import invalidate_cms_page_cache
    invalidate_cms_page_cache()
    if instance.page.application_urls:
        request_finished.connect(trigger_restart, dispatch_uid=DISPATCH_UID)
コード例 #8
0
ファイル: apphook.py プロジェクト: AaronJaramillo/shopDPM
def apphook_post_page_checker(page):
    old_page = page.old_page
    if (old_page and (
                old_page.application_urls != page.application_urls or old_page.application_namespace != page.application_namespace)) or (
            not old_page and page.application_urls):

        from cms.cache import invalidate_cms_page_cache
        invalidate_cms_page_cache()
        request_finished.connect(trigger_restart, dispatch_uid=DISPATCH_UID)
コード例 #9
0
def apphook_post_page_checker(page):
    old_page = page.old_page
    if (old_page and
        (old_page.application_urls != page.application_urls
         or old_page.application_namespace != page.application_namespace)) or (
             not old_page and page.application_urls):

        from cms.cache import invalidate_cms_page_cache
        invalidate_cms_page_cache()
        request_finished.connect(trigger_restart, dispatch_uid=DISPATCH_UID)
コード例 #10
0
ファイル: plugin_pool.py プロジェクト: Asjohn720/cms
    def discover_plugins(self):
        if self.discovered:
            return
        from cms.cache import invalidate_cms_page_cache

        if get_cms_setting("PAGE_CACHE"):
            invalidate_cms_page_cache()

        autodiscover_modules('cms_plugins')
        self.discovered = True
コード例 #11
0
ファイル: test_cache.py プロジェクト: MacLake/django-cms
    def test_render_placeholderfield_cache_in_custom_model(self):
        """
        Regression test for #6912

        Assert that placeholder of a placeholderfield in custom model has its cache cleared correctly when mark_as_dirty is called in the admin
        """

        invalidate_cms_page_cache()

        # Create an instance of a custom model containing a placeholderfield
        ex = Example1(char_1="one", char_2="two", char_3="tree", char_4="four")
        ex.save()
        ph1 = ex.placeholder

        # Add a first plugin
        test_plugin = add_plugin(ph1, "TextPlugin", "en", body="Some text")
        test_plugin.save()

        # Create a first request using render_placeholder to ensure that the content is equal to the first plugin content
        request = self.get_request()
        content_renderer = self.get_content_renderer(request)
        context = SekizaiContext()
        context["request"] = self.get_request()
        text = content_renderer.render_placeholder(ph1, context, use_cache=True)
        self.assertEqual(text, "Some text")

        # Add a second plugin in the placeholder
        test_plugin = add_plugin(ph1, "TextPlugin", "en", body="Some other text")
        test_plugin.save()

        # Clear plugins cache to ensure that cms.utils.plugins.get_plugins() will refetch the plugins
        del ph1._plugins_cache

        # Create a second request using render_placeholder to ensure that the content is still equal to the first plugin content as cache was not cleared yet
        request = self.get_request()
        content_renderer = self.get_content_renderer(request)
        context = SekizaiContext()
        context["request"] = self.get_request()
        text = content_renderer.render_placeholder(ph1, context, use_cache=True)
        self.assertEqual(text, "Some text")

        # Mark placeholder as dirty as it is done in cms.admin.placeholderadmin file
        ph1.mark_as_dirty("en", clear_cache=False)

        # Create a last request to ensure that rendered content contains the two plugins content
        request = self.get_request()
        content_renderer = self.get_content_renderer(request)
        context = SekizaiContext()
        context["request"] = self.get_request()

        text = content_renderer.render_placeholder(ph1, context, use_cache=True)
        self.assertEqual(text, "Some textSome other text")
コード例 #12
0
ファイル: models.py プロジェクト: ppetrid/aldryn-newsblog
    def save(self, *args, **kwargs):
        # Update the search index
        if self.update_search_on_save:
            self.search_data = self.get_search_data()

        # Ensure there is an owner.
        if self.app_config.create_authors and self.author is None:
            self.author = Person.objects.get_or_create(
                user=self.owner,
                defaults={
                    'name': u' '.join((self.owner.first_name,
                                       self.owner.last_name))
                })[0]

        # make the page cache obsolete
        from cms.cache import invalidate_cms_page_cache
        invalidate_cms_page_cache()

        # slug would be generated by TranslatedAutoSlugifyMixin
        super(Article, self).save(*args, **kwargs)
コード例 #13
0
ファイル: test_cache.py プロジェクト: evildmp/django-cms
    def test_render_placeholder_cache(self):
        """
        Regression test for #4223

        Assert that placeholder cache is cleared correctly when a plugin is saved
        """
        invalidate_cms_page_cache()
        ex = Example1(
            char_1='one',
            char_2='two',
            char_3='tree',
            char_4='four'
        )
        ex.save()
        ph1 = ex.placeholder
        ###
        # add the test plugin
        ##
        test_plugin = add_plugin(ph1, u"TextPlugin", u"en", body="Some text")
        test_plugin.save()

        request = self.get_request()
        content_renderer = self.get_content_renderer(request)
        # asserting initial text
        context = SekizaiContext()
        context['cms_content_renderer'] = content_renderer
        context['request'] = self.get_request()
        text = content_renderer.render_placeholder(ph1, context)
        self.assertEqual(text, "Some text")

        # deleting local plugin cache
        del ph1._plugins_cache
        test_plugin.body = 'Other text'
        test_plugin.save()

        # plugin text has changed, so the placeholder rendering
        text = content_renderer.render_placeholder(ph1, context)
        self.assertEqual(text, "Other text")
コード例 #14
0
 def delete(self, *args, **kwargs):
     super(PageTemplate, self).delete(*args, **kwargs)
     invalidate_cms_page_cache()
コード例 #15
0
 def reset(self):
     'Empty the template cache.'
     invalidate_cms_page_cache()
     self.cached_templates.clear()
     super(Loader, self).reset()
コード例 #16
0
def post_delete_page(instance, **kwargs):
    update_home(instance, **kwargs)
    apphook_post_delete_page_checker(instance)
    from cms.cache import invalidate_cms_page_cache
    invalidate_cms_page_cache()
コード例 #17
0
 def delete(self, *args, **kwargs):
     super(Redirection, self).delete(*args, **kwargs)
     invalidate_cms_page_cache()
コード例 #18
0
ファイル: page.py プロジェクト: AaronJaramillo/shopDPM
def post_delete_page(instance, **kwargs):
    update_home(instance, **kwargs)
    apphook_post_delete_page_checker(instance)
    from cms.cache import invalidate_cms_page_cache
    invalidate_cms_page_cache()