Coverage for website/members/templatetags/member_card.py: 77.78%

14 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 

3from django.urls import reverse 

4 

5from thaliawebsite.templatetags.grid_item import grid_item 

6from utils.media.services import get_media_url 

7 

8register = template.Library() 

9 

10 

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

12def member_card(member, meta_text=None, ribbon=None): 

13 if meta_text is None and member.profile.starting_year: 13 ↛ 14line 13 didn't jump to line 14 because the condition on line 13 was never true

14 meta_text = f'<p class="px-1">Cohort: {member.profile.starting_year}</p>' 

15 

16 if member.profile.photo: 16 ↛ 17line 16 didn't jump to line 17 because the condition on line 16 was never true

17 image_url = get_media_url(member.profile.photo.thumbnails.small) 

18 else: 

19 image_url = static("members/images/default-avatar.jpg") 

20 

21 return grid_item( 

22 title=member.profile.display_name(), 

23 meta_text=meta_text, 

24 url=reverse("members:profile", kwargs={"pk": member.pk}), 

25 image_url=image_url, 

26 ribbon=ribbon, 

27 class_name="member-card", 

28 )