Beispiel #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)
Beispiel #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)
Beispiel #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)
Beispiel #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)
Beispiel #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)
Beispiel #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))
Beispiel #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))
 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))