26 lines
1.1 KiB
Python
26 lines
1.1 KiB
Python
|
# 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 <notekfet2020@crans.org>",
|
||
|
recipient_list=["respoinfo.bde@lists.crans.org", "tresorerie.bde@lists.crans.org"], html_message=html)
|