Skip to content
Snippets Groups Projects
Commit 103040a8 authored by Tom Teichler's avatar Tom Teichler :beers:
Browse files

Merge branch 'info-mailings-registration-state' into 'master'

Allow sending info mailings to retracted or only checked-in people

See merge request !34
parents 43ed8dcb afac5902
No related branches found
No related tags found
1 merge request!34Allow sending info mailings to retracted or only checked-in people
Pipeline #78357 canceled
# Generated by Django 3.2.13 on 2022-07-08 20:54
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('paweljong', '0021_checkpoint'),
]
operations = [
migrations.AddField(
model_name='infomailing',
name='send_to_not_checked_in',
field=models.BooleanField(default=True, verbose_name='Send to participants who did not check in'),
),
migrations.AddField(
model_name='infomailing',
name='send_to_retracted',
field=models.BooleanField(default=False, verbose_name='Send to participants who retracted'),
),
]
......@@ -51,6 +51,9 @@ class InfoMailing(ExtensibleModel):
sender = models.EmailField(verbose_name=_("Sender"), blank=True)
send_to_person = models.BooleanField(verbose_name=_("Send to registered person"), default=True)
send_to_guardians = models.BooleanField(verbose_name=_("Send to guardians"), default=False)
send_to_retracted = models.BooleanField(verbose_name=_("Send to participants who retracted"), default=False)
send_to_not_checked_in = models.BooleanField(verbose_name=_("Send to participants who did not check in"), default=True)
def __str__(self) -> str:
return self.subject
......@@ -64,7 +67,13 @@ class InfoMailing(ExtensibleModel):
through = EventInfoMailingThrough.objects.get(info_mailing=self, event=event)
sent_to = through.sent_to.all()
for registration in event.registrations.filter(retracted=False):
filter_args = {}
if not self.send_to_retracted:
filter_args["retracted"] = False
if not self.send_to_not_checked_in:
filter_args["checked_in"] = True
for registration in event.registrations.filter(**filter_args):
if registration.person in sent_to:
continue
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment