diff --git a/management/commands/send_mail_to_negative_balances.py b/management/commands/send_mail_to_negative_balances.py new file mode 100644 index 0000000..510de1c --- /dev/null +++ b/management/commands/send_mail_to_negative_balances.py @@ -0,0 +1,25 @@ +# Copyright (C) 2018-2020 by BDE ENS Paris-Saclay +# SPDX-License-Identifier: GPL-3.0-or-later + +from django.core.mail import send_mail +from django.core.management import BaseCommand +from django.template.loader import render_to_string +from django.utils import timezone +from django.utils.translation import activate + +from note.models import NoteUser + + +class Command(BaseCommand): + def handle(self, *args, **options): + notes = NoteUser.objects.filter( + balance__lte=-1000, + user__memberships__date_end__gte=timezone.now(), + ).order_by('balance').distinct().all() + for note in notes: + note.send_mail_negative_balance() + activate('fr') + plain_text = render_to_string("note/mails/negative_notes_report.txt", context=dict(notes=notes)) + html = render_to_string("note/mails/negative_notes_report.html", context=dict(notes=notes)) + send_mail("[Note Kfet] Liste des négatifs", plain_text, "Note Kfet 2020 ", + recipient_list=["respoinfo.bde@lists.crans.org", "tresorerie.bde@lists.crans.org"], html_message=html)