X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/0d6bbe91d75e82866aaa232eee4a036759446a86..14129c2a4e9b94274297efc32752f64a6a2b77a7:/apps/catalogue/templatetags/catalogue_tags.py diff --git a/apps/catalogue/templatetags/catalogue_tags.py b/apps/catalogue/templatetags/catalogue_tags.py index 961cc015f..cf80bebb5 100644 --- a/apps/catalogue/templatetags/catalogue_tags.py +++ b/apps/catalogue/templatetags/catalogue_tags.py @@ -4,17 +4,11 @@ # import datetime import feedparser -import re from django import template -from django.template import Node, Variable -from django.utils.encoding import smart_str -from django.core.cache import get_cache +from django.template import Node, Variable, Template, Context from django.core.urlresolvers import reverse from django.contrib.auth.forms import UserCreationForm, AuthenticationForm -from django.db.models import Q -from django.conf import settings -from django.template.defaultfilters import stringfilter from django.utils.translation import ugettext as _ from catalogue import forms @@ -51,6 +45,15 @@ def capfirst(text): return '' +@register.simple_tag +def html_title_from_tags(tags): + if len(tags) < 2: + return title_from_tags(tags) + template = Template("{{ category }}: {{ tag.name }}") + return capfirst(",
".join( + template.render(Context({'tag': tag, 'category': _(tag.category)})) for tag in tags)) + + def simple_title(tags): title = [] @@ -358,6 +361,15 @@ def related_books(book, limit=6): } +@register.inclusion_tag('catalogue/menu.html') +def catalogue_menu(): + tags = Tag.objects.filter( + category__in=('author', 'epoch', 'genre', 'kind', 'theme') + ).exclude(book_count=0) + return split_tags(tags) + + + @register.simple_tag def tag_url(category, slug): return reverse('catalogue.views.tagged_object_list', args=[