diff --git a/bda/models.py b/bda/models.py
index a10fe5b4..3642ee83 100644
--- a/bda/models.py
+++ b/bda/models.py
@@ -8,6 +8,7 @@ import calendar
import random
from datetime import timedelta
+from django.contrib.sites.models import Site
from django.db import models
from django.contrib.auth.models import User
from django.template import loader, Context
@@ -105,22 +106,26 @@ class Spectacle(models.Model):
for attr in Attribution.objects.filter(spectacle=self).all():
member = attr.participant.user
if member.id in members:
- members[member.id].nb_attr = 2
+ members[member.id][1] = 2
else:
- member.nb_attr = 1
- members[member.id] = member
+ members[member.id] = [member.first_name, 1, member.email]
+ # Pour le BdA
+ members[0] = ['BdA', 1, 'bda@ens.fr']
+ members[-1] = ['BdA', 2, 'bda@ens.fr']
# On écrit un mail personnalisé à chaque participant
mails_to_send = []
mail_object = "%s - %s - %s" % (self.title, self.date_no_seconds(),
self.location)
for member in members.values():
mail_body = render_template('mail-rappel.txt', {
- 'member': member,
+ 'name': member[0],
+ 'nb_attr': member[1],
'show': self})
mail_tot = mail.EmailMessage(
mail_object, mail_body,
- settings.RAPPEL_FROM, [member.email],
- [], headers={'Reply-To': settings.RAPPEL_REPLY_TO})
+ settings.MAIL_DATA['rappels']['FROM'], [member[2]],
+ [], headers={
+ 'Reply-To': settings.MAIL_DATA['rappels']['REPLYTO']})
mails_to_send.append(mail_tot)
# On envoie les mails
connection = mail.get_connection()
@@ -245,6 +250,11 @@ class SpectacleRevente(models.Model):
# On a aussi 1h pour changer d'avis
return self.date + delay + timedelta(hours=1)
+ def expiration_time_str(self):
+ return self.expiration_time \
+ .astimezone(timezone.get_current_timezone()) \
+ .strftime('%D à %H:%M')
+
@property
def shotgun(self):
# Soit on a dépassé le délai du tirage, soit il reste peu de
@@ -271,14 +281,14 @@ class SpectacleRevente(models.Model):
mail_body = render_template('mail-revente.txt', {
'user': participant.user,
'spectacle': self.attribution.spectacle,
- 'time': self.date.astimezone(
- timezone.get_current_timezone()) \
- .strftime('%d %b %Y %H:%M'),
- 'id': self.id})
+ 'revente': self,
+ 'domain': Site.objects.get_current().domain})
mail_tot = mail.EmailMessage(
mail_object, mail_body,
- settings.REVENTE_FROM, [participant.user.email],
- [], headers={'Reply-To': settings.REVENTE_REPLY_TO})
+ settings.MAIL_DATA['revente']['FROM'],
+ [participant.user.email],
+ [], headers={
+ 'Reply-To': settings.MAIL_DATA['revente']['REPLYTO']})
mails_to_send.append(mail_tot)
connection = mail.get_connection()
@@ -295,11 +305,14 @@ class SpectacleRevente(models.Model):
mail_body = render_template('mail-shotgun.txt', {
'user': participant.user,
'spectacle': self.attribution.spectacle,
+ 'domain': Site.objects.get_current(),
'mail': self.attribution.participant.user.email})
mail_tot = mail.EmailMessage(
mail_object, mail_body,
- settings.REVENTE_FROM, [participant.user.email],
- [], headers={'Reply-To': settings.REVENTE_REPLY_TO})
+ settings.MAIL_DATA['revente']['FROM'],
+ [participant.user.email],
+ [], headers={
+ 'Reply-To': settings.MAIL_DATA['revente']['REPLYTO']})
mails_to_send.append(mail_tot)
connection = mail.get_connection()
@@ -321,7 +334,7 @@ Tu peux contacter le/la vendeur-se à l'adresse %s.
Chaleureusement,
Le BdA""" % (spectacle.title, spectacle.date_no_seconds(),
- spectacle.location, spectacle.price, seller.email)
+ spectacle.location, spectacle.price, seller.user.email)
mail.send_mail("BdA-Revente : %s" % spectacle.title,
mail_buyer, "bda@ens.fr", [winner.user.email],
@@ -334,7 +347,7 @@ 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.email],
+ mail_seller, "bda@ens.fr", [seller.user.email],
fail_silently=False)
self.tirage_done = True
self.save()
diff --git a/bda/templates/mail-rappel.txt b/bda/templates/mail-rappel.txt
index 5152b1db..4759a849 100644
--- a/bda/templates/mail-rappel.txt
+++ b/bda/templates/mail-rappel.txt
@@ -1,14 +1,14 @@
-Bonjour {{ member.get_full_name }},
+Bonjour {{ name }},
-Nous te rappellons que tu as eu la chance d'obtenir {{ member.nb_attr|pluralize:"une place,deux places" }}
+Nous te rappellons que tu as eu la chance d'obtenir {{ nb_attr|pluralize:"une place,deux places" }}
pour {{ show.title }}, le {{ show.date_no_seconds }} au {{ show.location }}. N'oublie pas de t'y rendre !
-{% if member.nb_attr == 2 %}
+{% if nb_attr == 2 %}
Tu as obtenu deux places pour ce spectacle. Nous te rappelons que
ces places sont strictement réservées aux personnes de moins de 28 ans.
{% endif %}
{% if show.listing %}Pour ce spectacle, tu as reçu des places sur
listing. Il te faudra donc te rendre 15 minutes en avance sur les lieux de la représentation
-pour retirer {{ member.nb_attr|pluralize:"ta place,tes places" }}.
+pour retirer {{ nb_attr|pluralize:"ta place,tes places" }}.
{% else %}Pour assister à ce spectacle, tu dois présenter les billets qui ont
été distribués au burô.
{% endif %}
diff --git a/bda/templates/mail-revente.txt b/bda/templates/mail-revente.txt
index 4dff5b7e..899afe3b 100644
--- a/bda/templates/mail-revente.txt
+++ b/bda/templates/mail-revente.txt
@@ -1,9 +1,12 @@
-Bonjour {{ user.get_full_name }}
+Bonjour {{ user.first_name }}
-Une place pour le spectacle {{ spectacle.title }} ({{spectacle.date_no_seconds}}) a été postée sur BdA-Revente.
+Une place pour le spectacle {{ spectacle.title }} ({{ spectacle.date_no_seconds }})
+a été postée sur BdA-Revente.
-Si ce spectacle t'intéresse toujours, merci de nous le signaler en cliquant sur ce lien : {% url "bda-revente-interested" id %}.
-Dans le cas où plusieurs personnes seraient intéressées, nous procèderons à un tirage au sort le {{time}}.
+Si ce spectacle t'intéresse toujours, merci de nous le signaler en cliquant
+sur ce lien : http://{{ domain }}{% url "bda-revente-interested" revente.id %}.
+Dans le cas où plusieurs personnes seraient intéressées, nous procèderons à
+un tirage au sort le {{ revente.expiration_time_str }}.
Chaleureusement,
Le BdA
diff --git a/bda/templates/mail-shotgun.txt b/bda/templates/mail-shotgun.txt
index 4f972cf9..899d5c85 100644
--- a/bda/templates/mail-shotgun.txt
+++ b/bda/templates/mail-shotgun.txt
@@ -1,8 +1,11 @@
-Bonjour {{ user.get_full_name }}
+Bonjour {{ user.first_name }}
-Une place pour le spectacle {{ spectacle.title }} ({{spectacle.date_no_seconds}}) a été postée sur BdA-Revente.
+Une place pour le spectacle {{ spectacle.title }} ({{ spectacle.date_no_seconds }})
+a été postée sur BdA-Revente.
-Puisque ce spectacle a lieu dans moins de 24h, il n'y a pas de tirage au sort pour cette place : elle est disponible immédiatement à l'addresse {%url "bda-buy-revente" spectacle.id%}, à la disposition de tous.
+Puisque ce spectacle a lieu dans moins de 24h, il n'y a pas de tirage au sort pour
+cette place : elle est disponible immédiatement à l'addresse
+http://{{ domain }}{% url "bda-buy-revente" spectacle.id %}, à la disposition de tous.
Chaleureusement,
Le BdA
diff --git a/cof/settings_dev.py b/cof/settings_dev.py
index 0ed4a618..b2bda35d 100644
--- a/cof/settings_dev.py
+++ b/cof/settings_dev.py
@@ -145,15 +145,18 @@ ADMIN_MEDIA_PREFIX = '/static/grappelli/'
GRAPPELLI_ADMIN_HEADLINE = "GestioCOF"
GRAPPELLI_ADMIN_TITLE = "GestioCOF"
-PETITS_COURS_FROM = "Le COF "
-PETITS_COURS_BCC = "archivescof@gmail.com"
-PETITS_COURS_REPLYTO = "cof@ens.fr"
-
-RAPPEL_FROM = 'Le BdA '
-RAPPEL_REPLY_TO = RAPPEL_FROM
-
-REVENTE_FROM = 'BdA-Revente '
-REVENTE_REPLY_TO = REVENTE_FROM
+MAIL_DATA = {
+ 'petits_cours': {
+ 'FROM': "Le COF ",
+ 'BCC': "archivescof@gmail.com",
+ 'REPLYTO': "cof@ens.fr"},
+ 'rappels': {
+ 'FROM': 'Le BdA ',
+ 'REPLYTO': 'Le BdA '},
+ 'revente': {
+ 'FROM': 'BdA-Revente ',
+ 'REPLYTO': 'BdA-Revente '},
+}
LOGIN_URL = "/gestion/login"
LOGIN_REDIRECT_URL = "/gestion/"
diff --git a/gestioncof/petits_cours_views.py b/gestioncof/petits_cours_views.py
index 1a31115d..e9fe511e 100644
--- a/gestioncof/petits_cours_views.py
+++ b/gestioncof/petits_cours_views.py
@@ -282,9 +282,9 @@ def _traitement_post(request, demande):
{"proposals": proposals_list,
"unsatisfied": unsatisfied,
"extra": extra})
- frommail = settings.PETITS_COURS_FROM
- bccaddress = settings.PETITS_COURS_BCC
- replyto = settings.PETITS_COURS_REPLYTO
+ frommail = settings.MAIL_DATA['petits_cours']['FROM']
+ bccaddress = settings.MAIL_DATA['petits_cours']['BCC']
+ replyto = settings.MAIL_DATA['petits_cours']['REPLYTO']
mails_to_send = []
for (user, msg) in proposed_mails:
msg = EmailMessage("Petits cours ENS par le COF", msg,