Fix tag counts (#692)
[wolnelektury.git] / apps / catalogue / templatetags / catalogue_tags.py
index 7f2bf29..25376f8 100644 (file)
@@ -61,6 +61,29 @@ def simple_title(tags):
     return capfirst(', '.join(title))
 
 
+@register.simple_tag
+def book_title(book, html_links=False):
+    names = list(book.tags.filter(category='author'))
+
+    books = []
+    while book:
+        books.append(book)
+        book = book.parent
+    names.extend(reversed(books))
+
+    if html_links:
+        names = ['<a href="%s">%s</a>' % (tag.get_absolute_url(), tag.name) for tag in names]
+    else:
+        names = [tag.name for tag in names]
+
+    return ', '.join(names)
+
+
+@register.simple_tag
+def book_title_html(book):
+    return book_title(book, html_links=True)
+
+
 @register.simple_tag
 def title_from_tags(tags):
     def split_tags(tags):
@@ -230,6 +253,7 @@ def tag_list(tags, choices=None):
 
 @register.inclusion_tag('catalogue/folded_tag_list.html')
 def folded_tag_list(tags, choices=None):
+    tags = [tag for tag in tags if tag.count]
     if choices is None:
         choices = []
     some_tags_hidden = False