Package zinnia :: Package templatetags :: Module zinnia_admin_tags
[hide private]

Source Code for Module zinnia.templatetags.zinnia_admin_tags

 1  """Template tags and filters for Zinnia's admin""" 
 2  from django.template import Library 
 3  from django.contrib.comments.models import Comment 
 4  from django.contrib.contenttypes.models import ContentType 
 5   
 6  from zinnia.models import Entry 
 7  from zinnia.models import Author 
 8  from zinnia.models import Category 
 9  from zinnia.managers import DRAFT 
10  from zinnia.managers import tags_published 
11   
12  register = Library() 
13 14 15 @register.inclusion_tag('zinnia/tags/dummy.html') 16 -def get_draft_entries( 17 number=5, template='admin/zinnia/widgets/_draft_entries.html'):
18 """Return the latest draft entries""" 19 return {'template': template, 20 'entries': Entry.objects.filter(status=DRAFT)[:number]}
21
22 23 @register.inclusion_tag('zinnia/tags/dummy.html') 24 -def get_content_stats( 25 template='admin/zinnia/widgets/_content_stats.html'):
26 """Return statistics of the contents""" 27 content_type = ContentType.objects.get_for_model(Entry) 28 29 discussions = Comment.objects.filter( 30 is_public=True, content_type=content_type) 31 32 return {'template': template, 33 'entries': Entry.published.count(), 34 'categories': Category.objects.count(), 35 'tags': tags_published().count(), 36 'authors': Author.published.count(), 37 'comments': discussions.filter(flags=None).count(), 38 'pingbacks': discussions.filter(flags__flag='pingback').count(), 39 'trackbacks': discussions.filter(flags__flag='trackback').count(), 40 'rejects': Comment.objects.filter( 41 is_public=False, content_type=content_type).count(), 42 }
43