Coverage for website/events/emails.py: 58.82%
15 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.conf import settings
3from events.models.event_registration import EventRegistration
4from utils.snippets import send_email
7def notify_first_waiting(event, first_waiting: EventRegistration):
8 """Send an email to the first person on the waiting list when someone cancels their registration."""
9 organiser_emails = [
10 organiser.contact_address for organiser in event.organisers.all()
11 ]
13 send_email(
14 to=[first_waiting.email],
15 subject=f"Notification about your registration for '{event.title}'",
16 txt_template="events/email/member_email.txt",
17 html_template="events/email/member_email.html",
18 context={
19 "event": event,
20 "registration": first_waiting,
21 "name": first_waiting.name or first_waiting.member.first_name,
22 "base_url": settings.BASE_URL,
23 "organisers": organiser_emails,
24 },
25 )
28def notify_organiser(event, registration):
29 """Send an email to the organiser of the event if someone cancels their registration.
31 :param event: the event
32 :param registration: the registration that was cancelled
33 """
34 if not event.organisers.exists(): 34 ↛ 35line 34 didn't jump to line 35 because the condition on line 34 was never true
35 return
37 send_email(
38 to=[organiser.contact_address for organiser in event.organisers.all()],
39 subject=f"Registration for {event.title} cancelled by member",
40 txt_template="events/email/organiser_email.txt",
41 html_template="events/email/organiser_email.html",
42 context={"event": event, "registration": registration},
43 )
46def notify_waiting(event, registration):
47 organiser_emails = [
48 organiser.contact_address for organiser in event.organisers.all()
49 ]
51 send_email(
52 to=[registration.email],
53 subject=f"Notification about your registration for '{event.title}'",
54 txt_template="events/email/more_places_email.txt",
55 html_template="events/email/more_places_email.html",
56 context={
57 "event": event,
58 "registration": registration,
59 "name": registration.name or registration.member.first_name,
60 "base_url": settings.BASE_URL,
61 "organisers": organiser_emails,
62 },
63 )
66def notify_registration(registration):
67 send_email(
68 to=[registration.email],
69 subject=f"Registration confirmation for {registration.event.title}",
70 txt_template="events/email/registration_confirmation_email.txt",
71 html_template="events/email/registration_confirmation_email.html",
72 context={
73 "event": registration.event,
74 "registration": registration,
75 "name": registration.name or registration.member.first_name,
76 "base_url": settings.BASE_URL,
77 },
78 )