X-Git-Url: https://git.mdrn.pl/edumed.git/blobdiff_plain/7eaae73e9e55b60b9c9c387a140816d9440f70bd..46ec8f39ae3e726a294a2288e51354ff834ba45e:/wtem/management/commands/notify_teachers.py?ds=sidebyside diff --git a/wtem/management/commands/notify_teachers.py b/wtem/management/commands/notify_teachers.py index 127e204..6e1e994 100644 --- a/wtem/management/commands/notify_teachers.py +++ b/wtem/management/commands/notify_teachers.py @@ -9,6 +9,9 @@ from wtem.management.commands import send_mail from wtem.models import Confirmation +THRESHOLD = 3 + + class Command(BaseCommand): def handle(self, *args, **options): sent = 0 @@ -19,16 +22,20 @@ class Command(BaseCommand): message_template = 'wtem/' + template_name + '.txt' subject = render_to_string('wtem/' + template_name + '_subject.txt') - threshold = timezone.now() - timedelta(4) + threshold = timezone.now() - timedelta(THRESHOLD) for contact in query: unconfirmed = [] - for similar_contact in Contact.objects.filter(contact=contact.contact): - unconfirmed += list(Confirmation.objects.filter( - contact=similar_contact, confirmed=False)) # contact__created_at__lt=threshold)) + contacts = [] + for similar_contact in Contact.objects.filter(contact=contact.contact, form_tag=contact.form_tag): + new_unconfirmed = list(Confirmation.objects.filter( + contact=similar_contact, confirmed=False, contact__created_at__lt=threshold)) + unconfirmed += new_unconfirmed + if new_unconfirmed: + contacts.append(similar_contact) if not unconfirmed: continue - message = render_to_string(message_template, {'unconfirmed': unconfirmed}) + message = render_to_string(message_template, {'unconfirmed': unconfirmed, 'contacts': contacts}) try: self.send_message(message, subject, contact.contact) except Exception as e: