Coverage for website/events/templatetags/frontpage_events.py: 42.86%
36 statements
« prev ^ index » next coverage.py v7.6.12, created at 2026-06-21 23:59 +0000
« prev ^ index » next coverage.py v7.6.12, created at 2026-06-21 23:59 +0000
1from django import template
2from django.utils import timezone
3from django.utils.translation import gettext as _
5from events import services
6from events.models import Event
8register = template.Library()
11@register.inclusion_tag("events/frontpage_events.html", takes_context=True)
12def render_frontpage_events(context, events=None):
13 if events is None: 13 ↛ 20line 13 didn't jump to line 20 because the condition on line 13 was always true
14 events = Event.objects.filter(
15 published=True,
16 start__gte=timezone.now() - timezone.timedelta(hours=24),
17 end__gte=timezone.now(),
18 ).order_by("start")[:6]
20 cards = []
21 for event in events: 21 ↛ 22line 21 didn't jump to line 22 because the loop on line 21 never started
22 user_registration = None
24 if context["user"] and services.is_user_registered(context["user"], event):
25 if services.user_registration_pending(context["user"], event):
26 user_registration = {
27 "class": "pending-registration",
28 "text": _("In queue for this event"),
29 }
30 else:
31 user_registration = {
32 "class": "has-registration",
33 "text": _("Registered for this event"),
34 }
35 elif event.registration_required:
36 user_registration = {
37 "class": "open-registration",
38 "text": _("Not registered for this event"),
39 }
41 cards.append({"event": event, "current_user_registration": user_registration})
43 return {"events": cards}
46@register.inclusion_tag("events/registration_events.html", takes_context=True)
47def render_frontpage_registration_events(context, events=None):
48 if events is None: 48 ↛ 57line 48 didn't jump to line 57 because the condition on line 48 was always true
49 events = Event.objects.filter(
50 published=True,
51 registration_start__lte=timezone.now(),
52 registration_start__gte=timezone.now() - timezone.timedelta(days=7),
53 registration_end__gte=timezone.now(),
54 optional_registrations=False,
55 ).order_by("start")[:6]
57 cards = []
58 for event in events: 58 ↛ 59line 58 didn't jump to line 59 because the loop on line 58 never started
59 user_registration = None
61 if context["user"] and services.is_user_registered(context["user"], event):
62 if services.user_registration_pending(context["user"], event):
63 user_registration = {
64 "class": "pending-registration",
65 "text": _("In queue for this event"),
66 }
67 else:
68 user_registration = {
69 "class": "has-registration",
70 "text": _("Registered for this event"),
71 }
72 elif event.registration_required:
73 user_registration = {
74 "class": "open-registration",
75 "text": _("Not registered for this event"),
76 }
78 cards.append({"event": event, "current_user_registration": user_registration})
80 return {"events": cards}