Skip to content
GitLab
Explore
Sign in
Commits on Source (1)
Add script to send mail to negative notes
· 4b37f828
ynerant
authored
Aug 01, 2020
4b37f828
Hide whitespace changes
Inline
Side-by-side
management/commands/send_mail_to_negative_balances.py
0 → 100644
View file @
4b37f828
# 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
)