cleanup et nouvelle implem de custommail

This commit is contained in:
Martin Pépin 2016-12-22 12:28:03 +01:00
parent b9c2efaf0e
commit 298015285a
6 changed files with 120 additions and 150 deletions

View file

@ -1,13 +1,9 @@
# -*- coding: utf-8 -*-
from __future__ import division
from __future__ import print_function
from __future__ import unicode_literals
import calendar
import random
from datetime import timedelta
from custommail.utils import send_custom_mail, send_mass_custom_mail
from custommail.shortcuts import send_custom_mail, send_mass_custom_mail
from django.contrib.sites.models import Site
from django.db import models
@ -105,18 +101,14 @@ class Spectacle(models.Model):
# members[0] = ['BdA', 1, 'bda@ens.fr']
# members[-1] = ['BdA', 2, 'bda@ens.fr']
# On écrit un mail personnalisé à chaque participant
mails_data = [
(
member[0].email,
{'member': member[0],'nb_attr': member[1], 'show': self}
)
datatuple = [(
'bda-rappel',
{'member': member[0], 'nb_attr': member[1], 'show': self},
settings.MAIL_DATA['rappels']['FROM'],
[member[0].email])
for member in members.values()
]
send_mass_custom_mail(
'bda-rappel',
mails_data,
from_email=settings.MAIL_DATA['rappels']['FROM']
)
send_mass_custom_mail(datatuple)
# On enregistre le fait que l'envoi a bien eu lieu
self.rappel_sent = timezone.now()
self.save()
@ -252,23 +244,19 @@ class SpectacleRevente(models.Model):
BdA-Revente à tous les intéressés.
"""
inscrits = self.attribution.spectacle.subscribed.select_related('user')
mails_data = [
(
participant.user.email,
{
'member': participant.user,
'show': self.attribution.spectacle,
'revente': self,
'site': Site.objects.get_current()
}
)
datatuple = [(
'bda-revente',
{
'member': participant.user,
'show': self.attribution.spectacle,
'revente': self,
'site': Site.objects.get_current()
},
settings.MAIL_DATA['revente']['FROM'],
[participant.user.email])
for participant in inscrits
]
send_mass_custom_mail(
"bda-revente",
mails_data,
from_email=settings.MAIL_DATA['revente']['FROM'],
)
send_mass_custom_mail(datatuple)
self.notif_sent = True
self.save()
@ -278,22 +266,18 @@ class SpectacleRevente(models.Model):
leur indiquer qu'il est désormais disponible au shotgun.
"""
inscrits = self.attribution.spectacle.subscribed.select_related('user')
mails_data = [
(
participant.user.email,
{
'member': participant.user,
'show': self.attribution.spectacle,
'site': Site.objects.get_current(),
}
)
datatuple = [(
'bda-shotgun',
{
'member': participant.user,
'show': self.attribution.spectacle,
'site': Site.objects.get_current(),
},
settings.MAIL_DATA['revente']['FROM'],
[participant.user.email])
for participant in inscrits
]
send_mass_custom_mail(
"bda-shotgun",
mails_data,
from_email=settings.MAIL_DATA['revente']['FROM']
)
send_mass_custom_mail(datatuple)
self.notif_sent = True
# Flag inutile, sauf si l'horloge interne merde
self.tirage_done = True
@ -320,35 +304,31 @@ class SpectacleRevente(models.Model):
'show': spectacle,
}
send_custom_mail(
winner.user.email,
'bda-revente-winner',
[winner.user.email],
context=context,
from_email=settings.MAIL_DATA['revente']['FROM']
)
send_custom_mail(
seller.user.email,
'bda-revente-seller',
[seller.user.email],
context=context,
from_email=settings.MAIL_DATA['revente']['FROM']
)
# Envoie un mail aux perdants
mails_data = [
(
inscrit.user.email,
{
'acheteur': inscrit.user,
'vendeur': seller.user,
'show': spectacle
}
)
for inscrit in inscrits if inscrit == winner
]
send_mass_custom_mail(
datatuple = [(
'bda-revente-loser',
mails_data,
from_email=settings.MAIL_DATA['revente']['FROM']
)
{
'acheteur': inscrit.user,
'vendeur': seller.user,
'show': spectacle
},
settings.MAIL_DATA['revente']['FROM'],
[inscrit.user.email])
for inscrit in inscrits if inscrit != winner
]
send_mass_custom_mail(datatuple)
# Si personne ne veut de la place, elle part au shotgun
else:
self.shotgun = True