From afe20375298286b8b9c6b4f994b092f0071a645e Mon Sep 17 00:00:00 2001 From: Magnus Hagander Date: Tue, 12 Nov 2024 17:20:09 +0100 Subject: [PATCH] Filter out individual attendee mails on default view The list of "all attendeemails" can get very long if we included individual ones sometimes sent. So don't do that. Only include them if they are sent to a group, or if there is >1 individual on it. --- postgresqleu/confreg/views.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/postgresqleu/confreg/views.py b/postgresqleu/confreg/views.py index 5d1c629c..32b8acf4 100644 --- a/postgresqleu/confreg/views.py +++ b/postgresqleu/confreg/views.py @@ -4371,7 +4371,12 @@ def admin_waitlist_sendmail(request, urlname): def admin_attendeemail(request, urlname): conference = get_authenticated_conference(request, urlname) - mails = AttendeeMail.objects.prefetch_related('regclasses', 'registrations', 'pending_regs', 'addopts').filter(conference=conference) + mails = AttendeeMail.objects.prefetch_related('regclasses', 'registrations', 'pending_regs', 'addopts').filter(conference=conference).extra(where=[ + """tovolunteers OR tocheckin +OR EXISTS (SELECT 1 FROM confreg_attendeemail_addopts WHERE attendeemail_id=confreg_attendeemail.id) +OR EXISTS (SELECT 1 FROM confreg_attendeemail_registrations WHERE attendeemail_id=confreg_attendeemail.id OFFSET 1) +OR EXISTS (SELECT 1 FROM confreg_attendeemail_pending_regs WHERE attendeemail_id=confreg_attendeemail.id OFFSET 1)""", + ]) if request.method == 'POST': form = AttendeeMailForm(conference, data=request.POST) -- 2.39.5