def get_similar_entries_in_category(context, number=5,
                        template='zinnia/tags/entries_similar.html', category=''):
    """
    Return similar entries.
    """
    entry = context.get('entry')
    if not entry:
        return {'template': template, 'entries': []}

    vectors = EntryPublishedVectorBuilder(queryset=Entry.published.search('category:'+category))
    entries = vectors.get_related(entry, number)

    return {'template': template,
            'entries': entries}
Exemplo n.º 2
0
def flush_similar_cache_handler(sender, **kwargs):
    """
    Flush the cache of similar entries when an entry is saved.
    """
    entry = kwargs['instance']
    if entry.is_visible:
        EntryPublishedVectorBuilder().cache_flush()
Exemplo n.º 3
0
 def make_hidden(self, request, queryset):
     """
     Set entries selected as hidden.
     """
     queryset.update(status=HIDDEN)
     EntryPublishedVectorBuilder().cache_flush()
     self.message_user(request,
                       _('The selected entries are now marked as hidden.'))
Exemplo n.º 4
0
 def make_published(self, request, queryset):
     """
     Set entries selected as published.
     """
     queryset.update(status=PUBLISHED)
     EntryPublishedVectorBuilder().cache_flush()
     self.ping_directories(request, queryset, messages=False)
     self.message_user(
         request, _('The selected entries are now marked as published.'))