from django.contrib.auth.forms import UserCreationForm, AuthenticationForm
from django.db.models import Q
from django.conf import settings
+from django.utils.translation import ugettext as _
register = template.Library()
def simple_title(tags):
- mapping = {
- 'author': u'Autor',
- 'theme': u'motyw',
- 'epoch': u'epoka',
- 'genre': u'gatunek',
- 'kind': u'rodzaj',
- 'set': u'półka',
- }
-
title = []
for tag in tags:
- title.append("%s: %s" % (mapping[tag.category], tag.name))
+ title.append("%s: %s" % (_(tag.category), tag.name))
return capfirst(', '.join(title))
+def book_stub_title(book):
+ return ', '.join((book.author, book.title))
+
+
@register.simple_tag
def book_title(book, html_links=False):
- names = list(book.tags.filter(category='author'))
+ try:
+ names = list(book.tags.filter(category='author'))
+ except AttributeError:
+ return book_stub_title(book)
books = []
while book:
books.append(book)
book = book.parent
- names.extend(reversed(books[::-1]))
+ names.extend(reversed(books))
if html_links:
names = ['<a href="%s">%s</a>' % (tag.get_absolute_url(), tag.name) for tag in names]
return capfirst(title)
+@register.simple_tag
+def book_tree(book_list, books_by_parent):
+ text = "".join("<li><a href='%s'>%s</a>%s</li>" % (
+ book.get_absolute_url(), book.title, book_tree(books_by_parent.get(book, ()), books_by_parent)
+ ) for book in book_list)
+
+ if text:
+ return "<ol>%s</ol>" % text
+ else:
+ return ''
+
+
@register.simple_tag
def user_creation_form():
return RegistrationForm(prefix='registration').as_ul()
@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