diff --git a/apps/tournament/views.py b/apps/tournament/views.py
index c19cdbb..9b0fae3 100644
--- a/apps/tournament/views.py
+++ b/apps/tournament/views.py
@@ -5,9 +5,11 @@ from io import BytesIO
from django.contrib.auth.mixins import LoginRequiredMixin
from django.core.exceptions import PermissionDenied
+from django.core.mail import send_mail
from django.db.models import Q
from django.http import HttpResponse
from django.shortcuts import redirect
+from django.template.loader import render_to_string
from django.urls import reverse_lazy
from django.utils.translation import gettext_lazy as _
from django.views.generic import DetailView, CreateView, UpdateView
@@ -184,6 +186,15 @@ class AddOrganizerView(AdminMixin, CreateView):
extra_context = dict(title=_("Add organizer"),)
template_name = "tournament/add_organizer.html"
+ def form_valid(self, form):
+ user = form.instance
+ msg = render_to_string("mail_templates/add_organizer.html", context=dict(user=user))
+ send_mail('Organisateur du TFJM² 2020', msg, 'contact@tfjm.org', [user.email])
+ return super().form_valid(form)
+
+ def get_success_url(self):
+ return reverse_lazy('index')
+
class SolutionsView(TeamMixin, BaseFormView, SingleTableView):
model = Solution
diff --git a/templates/mail_templates/add_organizer.html b/templates/mail_templates/add_organizer.html
new file mode 100644
index 0000000..cec63e2
--- /dev/null
+++ b/templates/mail_templates/add_organizer.html
@@ -0,0 +1,20 @@
+
+
+
+
+ Organisateur du TFJM²
+
+
+Bonjour {{ user }},
+
+Vous recevez ce message (envoyé automatiquement) car vous êtes organisateur d'un des tournois du TFJM2.
+Un compte organisateur vous a été créé par l'un des administrateurs. Avant de vous connecter, vous devez réinitialiser votre
+mot de passe sur le lien suivant : {% url "password_reset" %}.
+
+Une fois le mot de passe changé, vous pourrez vous connecter sur la plateforme.
+
+Merci beaucoup pour votre aide !
+
+Le comité national d'organisation du TFJM2
+
+
diff --git a/templates/mail_templates/add_organizer_for_tournament.html b/templates/mail_templates/add_organizer_for_tournament.html
new file mode 100644
index 0000000..d164131
--- /dev/null
+++ b/templates/mail_templates/add_organizer_for_tournament.html
@@ -0,0 +1,18 @@
+
+
+
+
+
+ Organisateur du tournoi de {TOURNAMENT_NAME} – TFJM²
+
+
+Bonjour {FIRST_NAME} {SURNAME},
+
+Vous venez d'être promu organisateur du tournoi {TOURNAMENT_NAME} du TFJM2 {YEAR}.
+Ce message vous a été envoyé automatiquement. En cas de problème, merci de répondre à ce message.
+
+Cordialement,
+
+Le comité national d'organisation du TFJM2
+
+
diff --git a/templates/mail_templates/add_team.html b/templates/mail_templates/add_team.html
new file mode 100644
index 0000000..bb69db0
--- /dev/null
+++ b/templates/mail_templates/add_team.html
@@ -0,0 +1,16 @@
+
+
+
+
+ Nouvelle équipe TFJM² {YEAR}
+
+
+Bonjour {FIRST_NAME} {SURNAME},
+
+Vous venez de créer l'équipe « {TEAM_NAME} » ({TRIGRAM}) pour le TFJM2 de {TOURNAMENT_NAME} et nous vous en remercions.
+Afin de permettre aux autres membres de votre équipe de vous rejoindre, veuillez leur transmettre le code d'accès :
+{ACCESS_CODE}
+
+Le comité national d'organisation du TFJM2
+
+
diff --git a/templates/mail_templates/change_email_address.html b/templates/mail_templates/change_email_address.html
new file mode 100644
index 0000000..d04ed90
--- /dev/null
+++ b/templates/mail_templates/change_email_address.html
@@ -0,0 +1,16 @@
+
+
+
+
+
+ Changement d'adresse e-mail – TFJM²
+
+
+Bonjour {FIRST_NAME} {SURNAME},
+
+Vous venez de changer votre adresse e-mail. Veuillez désormais la confirmer en cliquant ici : {URL_BASE}/confirmer_mail/{TOKEN}
+
+Le comité national d'organisation du TFJM2
+
+
diff --git a/templates/mail_templates/change_password.html b/templates/mail_templates/change_password.html
new file mode 100644
index 0000000..577d150
--- /dev/null
+++ b/templates/mail_templates/change_password.html
@@ -0,0 +1,18 @@
+
+
+
+
+ Mot de passe changé – TFJM²
+
+
+Bonjour {FIRST_NAME} {SURNAME},
+
+Nous vous informons que votre mot de passe vient d'être modifié. Si vous n'êtes pas à l'origine de cette manipulation,
+veuillez immédiatement vérifier vos accès à votre boîte mail et changer votre mot de passe sur la plateforme
+d'inscription.
+
+Cordialement,
+
+Le comité national d'organisation du TFJM2
+
+
diff --git a/templates/mail_templates/confirm_email.html b/templates/mail_templates/confirm_email.html
new file mode 100644
index 0000000..55c8440
--- /dev/null
+++ b/templates/mail_templates/confirm_email.html
@@ -0,0 +1,18 @@
+
+
+
+
+
+ Inscription au TFJM² {YEAR}
+
+
+Bonjour {FIRST_NAME} {SURNAME},
+
+Vous êtes inscrit au TFJM2 {YEAR} et nous vous en remercions.
+Pour valider votre adresse e-mail, veuillez cliquer sur le lien : {URL_BASE}/confirmer_mail/{TOKEN}
+
+Cordialement,
+
+Le comité national d'organisation du TFJM2
+
+
diff --git a/templates/mail_templates/forgotten_password.html b/templates/mail_templates/forgotten_password.html
new file mode 100644
index 0000000..2c80e0e
--- /dev/null
+++ b/templates/mail_templates/forgotten_password.html
@@ -0,0 +1,20 @@
+
+
+
+
+
+ Mot de passe oublié – TFJM²
+
+
+Bonjour,
+
+Vous avez indiqué avoir oublié votre mot de passe. Veuillez cliquer ici pour le réinitialiser : {URL_BASE}/connexion/reinitialiser_mdp/{TOKEN}
+
+Si vous n'êtes pas à l'origine de cette manipulation, vous pouvez ignorer ce message.
+
+Cordialement,
+
+Le comité national d'organisation du TFJM2
+
+
diff --git a/templates/mail_templates/join_team.html b/templates/mail_templates/join_team.html
new file mode 100644
index 0000000..7d36645
--- /dev/null
+++ b/templates/mail_templates/join_team.html
@@ -0,0 +1,17 @@
+
+
+
+
+ Équipe rejointe – TFJM² {YEAR}
+
+
+Bonjour {FIRST_NAME} {SURNAME},
+
+Vous venez de rejoindre l'équipe « {TEAM_NAME} » ({TRIGRAM}) pour le TFJM² de {TOURNAMENT_NAME} et nous vous en
+remercions.
+
+Cordialement,
+
+Le comité national d'organisation du TFJM2
+
+
diff --git a/templates/mail_templates/register.html b/templates/mail_templates/register.html
new file mode 100644
index 0000000..bc4123b
--- /dev/null
+++ b/templates/mail_templates/register.html
@@ -0,0 +1,16 @@
+
+
+
+
+
+ Inscription au TFJM² {YEAR}
+
+
+Bonjour {FIRST_NAME} {SURNAME},
+
+Vous venez de vous inscrire au TFJM2 {YEAR} et nous vous en remercions.
+Pour valider votre adresse e-mail, veuillez cliquer sur le lien : {URL_BASE}/confirmer_mail/{TOKEN}
+
+Le comité national d'organisation du TFJM2
+
+
diff --git a/templates/mail_templates/request_payment_validation.html b/templates/mail_templates/request_payment_validation.html
new file mode 100644
index 0000000..4f52eeb
--- /dev/null
+++ b/templates/mail_templates/request_payment_validation.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+ Demande de validation de paiement pour le TFJM² {YEAR}
+
+
+Bonjour {FIRST_NAME} {SURNAME},
+
+{USER_FIRST_NAME} {USER_SURNAME} de l'équipe {TEAM_NAME} ({TRIGRAM}) annonce avoir réglé sa participation pour le tournoi {TOURNAMENT_NAME}.
+Les informations suivantes ont été communiquées :
+Équipe : {TEAM_NAME} ({TRIGRAM})
+Tournoi : {TOURNAMENT_NAME}
+Moyen de paiement : {PAYMENT_METHOD}
+Montant : {AMOUNT} €
+Informations sur le paiement : {PAYMENT_INFOS}
+
+Vous pouvez désormais vérifier ces informations, puis valider (ou non) le paiement sur
+la page associée à ce participant.
+
+Cordialement,
+
+Le comité national d'organisation du TFJM2
+
+
diff --git a/templates/mail_templates/request_validation.html b/templates/mail_templates/request_validation.html
new file mode 100644
index 0000000..81c3ecf
--- /dev/null
+++ b/templates/mail_templates/request_validation.html
@@ -0,0 +1,19 @@
+
+
+
+
+
+ Demande de validation - TFJM²
+
+
+Bonjour {FIRST_NAME} {SURNAME},
+
+L'équipe « {TEAM_NAME} » ({TRIGRAM}) vient de demander à valider son équipe pour participer au tournoi {TOURNAMENT} du
+TFJM². Vous pouvez décider d'accepter ou de refuser l'équipe en vous rendant sur la page de l'équipe :
+{URL_BASE}/equipe/{TRIGRAM}
+
+Cordialement,
+
+Le comité national d'organisation du TFJM2
+
+
diff --git a/templates/mail_templates/unvalidate_payment.html b/templates/mail_templates/unvalidate_payment.html
new file mode 100644
index 0000000..e16c1bf
--- /dev/null
+++ b/templates/mail_templates/unvalidate_payment.html
@@ -0,0 +1,24 @@
+
+
+
+
+
+ Non-validation du paiement pour le TFJM² {YEAR}
+
+
+Bonjour {FIRST_NAME} {SURNAME},
+
+Votre paiement pour le TFJM² {YEAR} a malheureusement été rejeté. Pour rappel, vous aviez fourni ces informations :
+Équipe : {TEAM_NAME} ({TRIGRAM})
+Tournoi : {TOURNAMENT_NAME}
+Moyen de paiement : {PAYMENT_METHOD}
+Montant : {AMOUNT} €
+Informations sur le paiement : {PAYMENT_INFOS}
+
+{MESSAGE}
+
+Cordialement,
+
+Le comité national d'organisation du TFJM2
+
+
diff --git a/templates/mail_templates/unvalidate_team.html b/templates/mail_templates/unvalidate_team.html
new file mode 100644
index 0000000..353a70b
--- /dev/null
+++ b/templates/mail_templates/unvalidate_team.html
@@ -0,0 +1,19 @@
+
+
+
+
+ Équipe non validée – TFJM² {YEAR}
+
+
+Bonjour {FIRST_NAME} {SURNAME},
+
+Maleureusement, votre équipe « {TEAM_NAME} » ({TRIGRAM}) n'a pas été validée. Veuillez vérifier que vos autorisations sont correctes.
+{MESSAGE}
+
+N'hésitez pas à nous contacter à l'adresse contact@tfjm.org pour plus d'informations.
+
+Cordialement,
+
+Le comité national d'organisation du TFJM2
+
+
diff --git a/templates/mail_templates/validate_payment.html b/templates/mail_templates/validate_payment.html
new file mode 100644
index 0000000..7d0b128
--- /dev/null
+++ b/templates/mail_templates/validate_payment.html
@@ -0,0 +1,24 @@
+
+
+
+
+
+ Validation du paiement pour le TFJM² {YEAR}
+
+
+Bonjour {FIRST_NAME} {SURNAME},
+
+Votre paiement pour le TFJM² {YEAR} a bien été validé. Pour rappel, vous aviez fourni ces informations :
+Équipe : {TEAM_NAME} ({TRIGRAM})
+Tournoi : {TOURNAMENT_NAME}
+Moyen de paiement : {PAYMENT_METHOD}
+Montant : {AMOUNT} €
+Informations sur le paiement : {PAYMENT_INFOS}
+
+{MESSAGE}
+
+Cordialement,
+
+Le comité national d'organisation du TFJM2
+
+
diff --git a/templates/mail_templates/validate_team.html b/templates/mail_templates/validate_team.html
new file mode 100644
index 0000000..43c20fa
--- /dev/null
+++ b/templates/mail_templates/validate_team.html
@@ -0,0 +1,18 @@
+
+
+
+
+ Équipe validée – TFJM² {YEAR}
+
+
+Bonjour {{ user }},
+
+Félicitations ! Votre équipe « {{ team }} » ({{ team.trigram }}) est désormais validée ! Vous êtes désormais apte à travailler sur
+vos problèmes et publier vos solutions sur la plateforme.
+{{ message }}
+
+Cordialement,
+
+Le comité national d'organisation du TFJM2
+
+
diff --git a/tfjm/settings.py b/tfjm/settings.py
index fc08e34..e0c28da 100644
--- a/tfjm/settings.py
+++ b/tfjm/settings.py
@@ -31,6 +31,8 @@ SECRET_KEY = '6$wl1=ehfoiymin3m3i-wyx5d3t=1h7g4(j2izn*my)*yiq#he'
# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = True
+SITE_ID = 1
+
ALLOWED_HOSTS = ['*']
@@ -41,6 +43,7 @@ INSTALLED_APPS = [
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
+ 'django.contrib.sites',
'django.contrib.messages',
'django.contrib.staticfiles',
'django.forms',
@@ -105,6 +108,8 @@ DATABASES = {
}
}
+EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend'
+
# Password validation
# https://docs.djangoproject.com/en/3.0/ref/settings/#auth-password-validators