X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/652e2d66d7f88cc6b857edc4aaac7e14a654eb36..2983d583c9de4c33ed73d6c06d9d6eb54b30f15e:/src/catalogue/templatetags/catalogue_tags.py diff --git a/src/catalogue/templatetags/catalogue_tags.py b/src/catalogue/templatetags/catalogue_tags.py index afb2e7ef5..6906f605d 100644 --- a/src/catalogue/templatetags/catalogue_tags.py +++ b/src/catalogue/templatetags/catalogue_tags.py @@ -18,6 +18,7 @@ from ssify import ssi_variable from catalogue.helpers import get_audiobook_tags from catalogue.models import Book, BookMedia, Fragment, Tag, Source from catalogue.constants import LICENSES +from catalogue.utils import is_subscribed from picture.models import Picture register = template.Library() @@ -354,6 +355,8 @@ def plain_list(context, object_list, with_initials=True, by_author=False, choice last_initial = initial names.append((obj.author_unicode() if by_author else initial, [])) names[-1][1].append(obj) + if names[0] == ('', []): + del names[0] return { 'paged': paged, 'names': names, @@ -401,9 +404,9 @@ def related_books(context, instance, limit=6, random=1, taken=0): @register.simple_tag -def download_audio(book, daisy=True): +def download_audio(book, daisy=True, mp3=True): links = [] - if book.has_media('mp3'): + if mp3 and book.has_media('mp3'): links.append("%s" % ( reverse('download_zip_mp3', args=[book.slug]), BookMedia.formats['mp3'].name)) if book.has_media('ogg'): @@ -489,3 +492,13 @@ def strip_tag(html, tag_name): # docelowo może być warto zainstalować BeautifulSoup do takich rzeczy import re return re.sub(r"<.?%s\b[^>]*>" % tag_name, "", html) + + +@register.filter +def status(book, user): + if not book.preview: + return 'open' + elif is_subscribed(user): + return 'preview' + else: + return 'closed'