Coverage for website/documents/templatetags/document_cards.py: 35.48%

25 statements  

« prev     ^ index     » next       coverage.py v7.6.7, created at 2025-08-14 10:31 +0000

1from django import template 

2from django.templatetags.static import static 

3 

4from documents.models import AnnualDocument 

5from thaliawebsite.templatetags.grid_item import grid_item 

6 

7register = template.Library() 

8 

9 

10@register.inclusion_tag("includes/grid_item.html") 

11def association_document_card(document): 

12 return grid_item( 

13 title=document.name, 

14 meta_text="", 

15 url=document.get_absolute_url(), 

16 image_url=static("documents/images/thumb.png"), 

17 class_name="association-document-card", 

18 ) 

19 

20 

21@register.inclusion_tag("includes/grid_item.html") 

22def event_document_card(document): 

23 return grid_item( 

24 title=document.name, 

25 meta_text="", 

26 url=document.get_absolute_url(), 

27 image_url=static("documents/images/thumb.png"), 

28 class_name="event-document-card", 

29 ) 

30 

31 

32@register.inclusion_tag("includes/grid_item.html") 

33def annual_document_card(doc_type, document): 

34 name = "" 

35 class_name = "annual-document-card" 

36 for t, n in AnnualDocument.Subcategory.choices: 

37 if t == doc_type: 

38 name = n 

39 url = f"#{doc_type}" 

40 

41 if document: 

42 url = document.get_absolute_url() 

43 image_url = static("documents/images/thumb.png") 

44 else: 

45 class_name += " empty" 

46 image_url = static("documents/images/placeholder.png") 

47 

48 return grid_item( 

49 title=name, 

50 meta_text="", 

51 url=url, 

52 image_url=image_url, 

53 class_name=class_name, 

54 )