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

1from django import template 

2 

3from thabloid.models import Thabloid 

4from thaliawebsite.templatetags.grid_item import grid_item 

5from utils.media.services import get_media_url 

6 

7register = template.Library() 

8 

9 

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 ) 

16 

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 """ 

25 

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 )