forked from DGNum/gestioCOF
Merge branch 'Elarnon/revente-mail-losers' into 'master'
[bda-revente] Envoie un mails aux perdants d'un tirage de revente Note : Le changement dans le `requirements.txt` permet de profiter des mises à jour "patch" de django (qui contiennent notamment des mises à jour de sécurité...), ce qui permet d'éviter un bug corrigé dans la version 1.8.1 avec l'utilisation de `|floatformat` avec `django.template.loader.render_to_string`. See merge request !106
This commit is contained in:
commit
68b85adc81
5 changed files with 65 additions and 24 deletions
|
@ -320,33 +320,51 @@ class SpectacleRevente(models.Model):
|
|||
self.save()
|
||||
|
||||
def tirage(self):
|
||||
inscrits = self.answered_mail
|
||||
inscrits = list(self.answered_mail.all())
|
||||
spectacle = self.attribution.spectacle
|
||||
seller = self.seller
|
||||
if inscrits.exists():
|
||||
winner = random.choice(inscrits.all())
|
||||
|
||||
if inscrits:
|
||||
mails = []
|
||||
mail_subject = "BdA-Revente : {:s}".format(spectacle.title)
|
||||
|
||||
# Envoie un mail au gagnant et au vendeur
|
||||
winner = random.choice(inscrits)
|
||||
self.soldTo = winner
|
||||
mail_buyer = """Bonjour,
|
||||
context = {
|
||||
'acheteur': winner.user,
|
||||
'vendeur': seller.user,
|
||||
'spectacle': spectacle,
|
||||
}
|
||||
mails.append(mail.EmailMessage(
|
||||
mail_subject, loader.render_to_string('mail-revente-winner.txt', context),
|
||||
from_email=settings.MAIL_DATA['revente']['FROM'],
|
||||
to=[winner.user.email],
|
||||
reply_to=[seller.user.email],
|
||||
))
|
||||
mails.append(mail.EmailMessage(
|
||||
mail_subject, loader.render_to_string('mail-revente-seller.txt', context),
|
||||
from_email=settings.MAIL_DATA['revente']['FROM'],
|
||||
to=[seller.user.email],
|
||||
reply_to=[winner.user.email],
|
||||
))
|
||||
|
||||
Tu as été tiré-e au sort pour racheter une place pour %s le %s (%s) à %0.02f€.
|
||||
Tu peux contacter le/la vendeur-se à l'adresse %s.
|
||||
# Envoie un mail aux perdants
|
||||
for inscrit in inscrits:
|
||||
if inscrit == winner:
|
||||
continue
|
||||
|
||||
Chaleureusement,
|
||||
Le BdA""" % (spectacle.title, spectacle.date_no_seconds(),
|
||||
spectacle.location, spectacle.price, seller.user.email)
|
||||
|
||||
mail.send_mail("BdA-Revente : %s" % spectacle.title,
|
||||
mail_buyer, "bda@ens.fr", [winner.user.email],
|
||||
fail_silently=False)
|
||||
mail_seller = """Bonjour,
|
||||
La personne tirée au sort pour racheter ta place pour %s est %s.
|
||||
Tu peux le/la contacter à l'adresse %s.
|
||||
|
||||
Chaleureusement,
|
||||
Le BdA""" % (spectacle.title, winner.user.get_full_name(), winner.user.email)
|
||||
|
||||
mail.send_mail("BdA-Revente : %s" % spectacle.title,
|
||||
mail_seller, "bda@ens.fr", [seller.user.email],
|
||||
fail_silently=False)
|
||||
mail_body = loader.render_to_string('mail-revente-loser.txt', {
|
||||
'acheteur': inscrit.user,
|
||||
'vendeur': seller.user,
|
||||
'spectacle': spectacle,
|
||||
})
|
||||
mails.append(mail.EmailMessage(
|
||||
mail_subject, mail_body,
|
||||
from_email=settings.MAIL_DATA['revente']['FROM'],
|
||||
to=[inscrit.user.email],
|
||||
reply_to=[settings.MAIL_DATA['revente']['REPLYTO']],
|
||||
))
|
||||
mail.get_connection().send_messages(mails)
|
||||
self.tirage_done = True
|
||||
self.save()
|
||||
|
|
9
bda/templates/mail-revente-loser.txt
Normal file
9
bda/templates/mail-revente-loser.txt
Normal file
|
@ -0,0 +1,9 @@
|
|||
Bonjour {{ acheteur.first_name }},
|
||||
|
||||
Tu t'étais inscrit-e pour la revente de la place de {{ vendeur.get_full_name }}
|
||||
pour {{ spectacle.title }}.
|
||||
Malheureusement, une autre personne a été tirée au sort pour racheter la place.
|
||||
Tu pourras certainement retenter ta chance pour une autre revente !
|
||||
|
||||
À très bientôt,
|
||||
Le Bureau des Arts
|
7
bda/templates/mail-revente-seller.txt
Normal file
7
bda/templates/mail-revente-seller.txt
Normal file
|
@ -0,0 +1,7 @@
|
|||
Bonjour {{ vendeur.first_name }},
|
||||
|
||||
La personne tirée au sort pour racheter ta place pour {{ spectacle.title }} est {{ acheteur.get_full_name }}.
|
||||
Tu peux le/la contacter à l'adresse {{ acheteur.email }}, ou en répondant à ce mail.
|
||||
|
||||
Chaleureusement,
|
||||
Le BdA
|
7
bda/templates/mail-revente-winner.txt
Normal file
7
bda/templates/mail-revente-winner.txt
Normal file
|
@ -0,0 +1,7 @@
|
|||
Bonjour {{ acheteur.first_name }},
|
||||
|
||||
Tu as été tiré-e au sort pour racheter une place pour {{ spectacle.title }} le {{ spectacle.date_no_seconds }} ({{ spectacle.location }}) à {{ spectacle.price|floatformat:2 }}€.
|
||||
Tu peux contacter le/la vendeur-se à l'adresse {{ vendeur.email }}, ou en répondant à ce mail.
|
||||
|
||||
Chaleureusement,
|
||||
Le BdA
|
|
@ -1,5 +1,5 @@
|
|||
configparser==3.5.0
|
||||
Django==1.8
|
||||
Django==1.8.*
|
||||
django-autocomplete-light==2.3.3
|
||||
django-autoslug==1.9.3
|
||||
django-cas-ng==3.5.5
|
||||
|
|
Loading…
Reference in a new issue