Migration et chargement des emails

- La migration qui supprime le vieux modèle gestioncof.CustomMail est
  ajoutée
- Les mails de GestioCOF sont dans un json qui est chargé par la commande
  `python manage.py syncmails`
  Voir l'aide de la commande pour plus 'information
This commit is contained in:
Martin Pépin 2016-12-22 20:59:38 +01:00
parent 298015285a
commit b39806e171
6 changed files with 694 additions and 64 deletions

View file

@ -1,10 +1,9 @@
# -*- coding: utf-8 -*-
from __future__ import division
from __future__ import print_function
from __future__ import unicode_literals
import autocomplete_light
from datetime import timedelta
from custommail.shortcuts import send_mass_custom_mail
from django.core.mail import send_mail
from django.contrib import admin
from django.db.models import Sum, Count
from django.template.defaultfilters import pluralize
@ -13,10 +12,6 @@ from django import forms
from bda.models import Spectacle, Salle, Participant, ChoixSpectacle,\
Attribution, Tirage, Quote, CategorieSpectacle, SpectacleRevente
from datetime import timedelta
import autocomplete_light
class ChoixSpectacleInline(admin.TabularInline):
model = ChoixSpectacle
@ -72,66 +67,20 @@ class ParticipantAdmin(admin.ModelAdmin):
readonly_fields = ("total",)
def send_attribs(self, request, queryset):
datatuple = []
for member in queryset.all():
attribs = member.attributions.all()
context = {'member': member.user}
shortname = ""
if len(attribs) == 0:
mail = """Cher-e %s,
Tu t'es inscrit-e pour le tirage au sort du BdA. Malheureusement, tu n'as
obtenu aucune place.
Nous proposons cependant de nombreuses offres hors-tirage tout au long de
l'année, et nous t'invitons à nous contacter si l'une d'entre elles
t'intéresse !
--
Le Bureau des Arts
"""
name = member.user.get_full_name()
mail = mail % name
shortname = "bda-attributions-decus"
else:
mail = """Cher-e %s,
Tu t'es inscrit-e pour le tirage au sort du BdA. Tu as été sélectionné-e
pour les spectacles suivants :
%s
*Paiement*
L'intégralité de ces places de spectacles est à régler dès maintenant et AVANT
le %s, au bureau du COF pendant les heures de permanences (du lundi au vendredi
entre 12h et 14h, et entre 18h et 20h). Des facilités de paiement sont bien
évidemment possibles : nous pouvons ne pas encaisser le chèque immédiatement,
ou bien découper votre paiement en deux fois. Pour ceux qui ne pourraient pas
venir payer au bureau, merci de nous contacter par mail.
*Mode de retrait des places*
Au moment du paiement, certaines places vous seront remises directement,
d'autres seront à récupérer au cours de l'année, d'autres encore seront
nominatives et à retirer le soir même dans les theâtres correspondants.
Pour chaque spectacle, vous recevrez un mail quelques jours avant la
représentation vous indiquant le mode de retrait.
Nous vous rappelons que l'obtention de places du BdA vous engage à
respecter les règles de fonctionnement :
http://www.cof.ens.fr/bda/?page_id=1370
Le système de revente des places via les mails BdA-revente sera très
prochainement disponible, directement sur votre compte GestioCOF.
En vous souhaitant de très beaux spectacles tout au long de l'année,
--
Le Bureau des Arts
"""
attribs_text = ""
name = member.user.get_full_name()
for attrib in attribs:
attribs_text += "- 1 place pour %s\n" % attrib
deadline = member.tirage.fermeture + timedelta(days=7)
mail = mail % (name, attribs_text,
deadline.strftime('%d %b %Y'))
send_mail("Résultats du tirage au sort", mail,
"bda@ens.fr", [member.user.email],
fail_silently=True)
shortname = "bda-attributions"
context['places'] = attribs
print(context)
datatuple.append((shortname, context, "bda@ens.fr",
[member.user.email]))
send_mass_custom_mail(datatuple)
count = len(queryset.all())
if count == 1:
message_bit = "1 membre a"