[bda-revente] Envoie un mails aux perdants d'un tirage de revente
This commit is contained in:
parent
388f42b05f
commit
ba2d90d906
5 changed files with 65 additions and 24 deletions
|
@ -320,33 +320,51 @@ class SpectacleRevente(models.Model):
|
||||||
self.save()
|
self.save()
|
||||||
|
|
||||||
def tirage(self):
|
def tirage(self):
|
||||||
inscrits = self.answered_mail
|
inscrits = list(self.answered_mail.all())
|
||||||
spectacle = self.attribution.spectacle
|
spectacle = self.attribution.spectacle
|
||||||
seller = self.seller
|
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
|
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€.
|
# Envoie un mail aux perdants
|
||||||
Tu peux contacter le/la vendeur-se à l'adresse %s.
|
for inscrit in inscrits:
|
||||||
|
if inscrit == winner:
|
||||||
|
continue
|
||||||
|
|
||||||
Chaleureusement,
|
mail_body = loader.render_to_string('mail-revente-loser.txt', {
|
||||||
Le BdA""" % (spectacle.title, spectacle.date_no_seconds(),
|
'acheteur': inscrit.user,
|
||||||
spectacle.location, spectacle.price, seller.user.email)
|
'vendeur': seller.user,
|
||||||
|
'spectacle': spectacle,
|
||||||
mail.send_mail("BdA-Revente : %s" % spectacle.title,
|
})
|
||||||
mail_buyer, "bda@ens.fr", [winner.user.email],
|
mails.append(mail.EmailMessage(
|
||||||
fail_silently=False)
|
mail_subject, mail_body,
|
||||||
mail_seller = """Bonjour,
|
from_email=settings.MAIL_DATA['revente']['FROM'],
|
||||||
La personne tirée au sort pour racheter ta place pour %s est %s.
|
to=[inscrit.user.email],
|
||||||
Tu peux le/la contacter à l'adresse %s.
|
reply_to=[settings.MAIL_DATA['revente']['REPLYTO']],
|
||||||
|
))
|
||||||
Chaleureusement,
|
mail.get_connection().send_messages(mails)
|
||||||
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)
|
|
||||||
self.tirage_done = True
|
self.tirage_done = True
|
||||||
self.save()
|
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
|
configparser==3.5.0
|
||||||
Django==1.8
|
Django==1.8.*
|
||||||
django-autocomplete-light==2.3.3
|
django-autocomplete-light==2.3.3
|
||||||
django-autoslug==1.9.3
|
django-autoslug==1.9.3
|
||||||
git+https://github.com/xapantu/django-cas-ng.git#egg=django-cas-ng
|
git+https://github.com/xapantu/django-cas-ng.git#egg=django-cas-ng
|
||||||
|
|
Loading…
Reference in a new issue