Coverage for website/thabloid/templatetags/thabloid_cards.py: 70.00%
10 statements
« prev ^ index » next coverage.py v7.6.7, created at 2025-08-14 10:31 +0000
« prev ^ index » next coverage.py v7.6.7, created at 2025-08-14 10:31 +0000
1from django import template
3from thabloid.models import Thabloid
4from thaliawebsite.templatetags.grid_item import grid_item
5from utils.media.services import get_media_url
7register = template.Library()
10@register.inclusion_tag("includes/grid_item.html")
11def thabloid_card(thabloid: Thabloid):
12 """Create a card for a thabloid to show on an overview of thabloids."""
13 download_url = get_media_url(
14 thabloid.file, attachment=f"thabloid-{thabloid.file.name}"
15 )
17 buttons = f"""
18 <div class="text-center mt-2">
19 <a href="{download_url}" download
20 class="btn btn-secondary d-inline-flex download ms-1">
21 <i class="fas fa-download"></i>
22 </a>
23 </div>
24 """
26 return grid_item(
27 title=f"{thabloid.year}-{thabloid.year+1}, #{thabloid.issue}",
28 meta_text=buttons,
29 url=None,
30 image_url=get_media_url(thabloid.cover),
31 class_name="thabloid-card",
32 )