Пример #1
0
    def mark_as_dirty(self, language, clear_cache=True):
        """
        Utility method to mark the attached object of this placeholder
        (if any) as dirty.
        This allows us to know when the content in this placeholder
        has been changed.
        """
        from cms.models import Page, StaticPlaceholder, Title

        if clear_cache:
            clear_placeholder_cache(
                self, language, get_site_id(getattr(self.page, 'site_id',
                                                    None)))

        # Find the attached model for this placeholder
        # This can be a static placeholder, page or none.
        attached_model = self._get_attached_model()

        if attached_model is Page:
            Title.objects.filter(
                page=self.page,
                language=language,
            ).update(publisher_state=PUBLISHER_STATE_DIRTY)

        elif attached_model is StaticPlaceholder:
            StaticPlaceholder.objects.filter(draft=self).update(dirty=True)
Пример #2
0
def set_dirty(plugin, delete_cache=True):
    placeholder = get_placeholder(plugin)

    if placeholder:
        language = plugin.language

        if delete_cache:
            clear_placeholder_cache(placeholder, language)

        attached_model = placeholder._get_attached_model()

        if attached_model is Page:
            Title.objects.filter(page=placeholder.page, language=language).update(publisher_state=PUBLISHER_STATE_DIRTY)

        elif attached_model is StaticPlaceholder:
            StaticPlaceholder.objects.filter(draft=placeholder).update(dirty=True)
Пример #3
0
def set_dirty(plugin, delete_cache=True):
    placeholder = get_placeholder(plugin)

    if placeholder:
        language = plugin.language

        if delete_cache:
            clear_placeholder_cache(placeholder, language)

        attached_model = placeholder._get_attached_model()

        if attached_model is Page:
            Title.objects.filter(page=placeholder.page,
                                 language=language).update(
                                     publisher_state=PUBLISHER_STATE_DIRTY)

        elif attached_model is StaticPlaceholder:
            StaticPlaceholder.objects.filter(draft=placeholder).update(
                dirty=True)
Пример #4
0
    def mark_as_dirty(self, language, clear_cache=True):
        """
        Utility method to mark the attached object of this placeholder
        (if any) as dirty.
        This allows us to know when the content in this placeholder
        has been changed.
        """
        from cms.models import Page, StaticPlaceholder, Title

        if clear_cache:
            clear_placeholder_cache(self, language, get_site_id(getattr(self.page, 'site_id', None)))

        # Find the attached model for this placeholder
        # This can be a static placeholder, page or none.
        attached_model = self._get_attached_model()

        if attached_model is Page:
            Title.objects.filter(
                page=self.page,
                language=language,
            ).update(publisher_state=PUBLISHER_STATE_DIRTY)

        elif attached_model is StaticPlaceholder:
            StaticPlaceholder.objects.filter(draft=self).update(dirty=True)
Пример #5
0
 def test_set_clear_get_placeholder_cache_version(self):
     initial, _ = _get_placeholder_cache_version(self.placeholder, 'en', 1)
     clear_placeholder_cache(self.placeholder, 'en', 1)
     version, _ = _get_placeholder_cache_version(self.placeholder, 'en', 1)
     self.assertGreater(version, initial)
Пример #6
0
 def clear_cache(self, language, site_id=None):
     if not site_id:
         site_id = getattr(self.page, 'site_id', None)
     clear_placeholder_cache(self, language, get_site_id(site_id))
Пример #7
0
 def clear_cache(self, language, site_id=None):
     if not site_id and self.page:
         site_id = self.page.node.site_id
     clear_placeholder_cache(self, language, get_site_id(site_id))
Пример #8
0
 def clear_cache(self, language, site_id=None):
     if not site_id:
         site_id = getattr(self.page, 'site_id', None)
     clear_placeholder_cache(self, language, get_site_id(site_id))