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
« 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
5from thaliawebsite.templatetags.grid_item import grid_item
6from utils.media.services import get_media_url
8register = template.Library()
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>'
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")
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 )