X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/d019a9b5e928dcf777852d0c8d5413fd3d69b4dd..94648e7ec0f755a99251bb47389eedf934aa5d3e:/src/social/templatetags/social_tags.py diff --git a/src/social/templatetags/social_tags.py b/src/social/templatetags/social_tags.py index 0135792ce..193a1ce3a 100644 --- a/src/social/templatetags/social_tags.py +++ b/src/social/templatetags/social_tags.py @@ -5,7 +5,7 @@ import re from django import template from django.utils.functional import lazy from django.utils.cache import add_never_cache_headers -from catalogue.models import Book +from catalogue.models import Book, Fragment from social.utils import likes, get_or_choose_cite, choose_cite as cs from ..models import Carousel, Cite @@ -25,8 +25,11 @@ def choose_cite(context, book_id=None, tag_ids=None): @register.simple_tag -def choose_cites(book, number): - return book.choose_fragments(number) # todo: cites? +def choose_cites(number, book=None, author=None): + if book is not None: + return book.choose_fragments(number) # todo: cites? + elif author is not None: + return Fragment.tagged.with_all([author]).order_by('?')[:number] @register.simple_tag(takes_context=True) @@ -82,6 +85,14 @@ def carousel(context, placement): } +@register.inclusion_tag('social/carousel_2022.html', takes_context=True) +def carousel_2022(context, placement): + banner = Carousel.get(placement).carouselitem_set.first().get_banner() + return { + 'banner': banner, + } + + @register.inclusion_tag('social/embed_video.html') def embed_video(url): m = re.match(r'https://www.youtube.com/watch\?v=([^&;]+)', url)