Git old mail templates
This commit is contained in:
parent
4d9b6ad2c5
commit
cd928a2263
|
@ -5,9 +5,11 @@ from io import BytesIO
|
||||||
|
|
||||||
from django.contrib.auth.mixins import LoginRequiredMixin
|
from django.contrib.auth.mixins import LoginRequiredMixin
|
||||||
from django.core.exceptions import PermissionDenied
|
from django.core.exceptions import PermissionDenied
|
||||||
|
from django.core.mail import send_mail
|
||||||
from django.db.models import Q
|
from django.db.models import Q
|
||||||
from django.http import HttpResponse
|
from django.http import HttpResponse
|
||||||
from django.shortcuts import redirect
|
from django.shortcuts import redirect
|
||||||
|
from django.template.loader import render_to_string
|
||||||
from django.urls import reverse_lazy
|
from django.urls import reverse_lazy
|
||||||
from django.utils.translation import gettext_lazy as _
|
from django.utils.translation import gettext_lazy as _
|
||||||
from django.views.generic import DetailView, CreateView, UpdateView
|
from django.views.generic import DetailView, CreateView, UpdateView
|
||||||
|
@ -184,6 +186,15 @@ class AddOrganizerView(AdminMixin, CreateView):
|
||||||
extra_context = dict(title=_("Add organizer"),)
|
extra_context = dict(title=_("Add organizer"),)
|
||||||
template_name = "tournament/add_organizer.html"
|
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):
|
class SolutionsView(TeamMixin, BaseFormView, SingleTableView):
|
||||||
model = Solution
|
model = Solution
|
||||||
|
|
|
@ -0,0 +1,20 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="fr">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<title>Organisateur du TFJM²</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
Bonjour {{ user }},<br />
|
||||||
|
<br />
|
||||||
|
Vous recevez ce message (envoyé automatiquement) car vous êtes organisateur d'un des tournois du TFJM<sup>2</sup>.<br /><br />
|
||||||
|
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 : <a href="{% url "password_reset" %}">{% url "password_reset" %}</a>.
|
||||||
|
<br />
|
||||||
|
Une fois le mot de passe changé, vous pourrez vous <a href="{% url "login" %}">connecter sur la plateforme</a>.<br />
|
||||||
|
<br />
|
||||||
|
Merci beaucoup pour votre aide !<br />
|
||||||
|
<br />
|
||||||
|
Le comité national d'organisation du TFJM<sup>2</sup>
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -0,0 +1,18 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<!--suppress HtmlUnknownTarget -->
|
||||||
|
<html lang="fr">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<title>Organisateur du tournoi de {TOURNAMENT_NAME} – TFJM²</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
Bonjour {FIRST_NAME} {SURNAME},<br />
|
||||||
|
<br />
|
||||||
|
Vous venez d'être promu organisateur du tournoi <a href="{URL_BASE}/tournoi/{TOURNAMENT_NAME}">{TOURNAMENT_NAME}</a> du TFJM<sup>2</sup> {YEAR}.<br />
|
||||||
|
Ce message vous a été envoyé automatiquement. En cas de problème, merci de répondre à ce message.
|
||||||
|
<br />
|
||||||
|
Cordialement,<br />
|
||||||
|
<br />
|
||||||
|
Le comité national d'organisation du TFJM<sup>2</sup>
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -0,0 +1,16 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="fr">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<title>Nouvelle équipe TFJM² {YEAR}</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
Bonjour {FIRST_NAME} {SURNAME},<br />
|
||||||
|
<br />
|
||||||
|
Vous venez de créer l'équipe « {TEAM_NAME} » ({TRIGRAM}) pour le TFJM<sup>2</sup> de {TOURNAMENT_NAME} et nous vous en remercions.<br />
|
||||||
|
Afin de permettre aux autres membres de votre équipe de vous rejoindre, veuillez leur transmettre le code d'accès :
|
||||||
|
{ACCESS_CODE}<br/>
|
||||||
|
<br />
|
||||||
|
Le comité national d'organisation du TFJM<sup>2</sup>
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -0,0 +1,16 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<!--suppress HtmlUnknownTarget -->
|
||||||
|
<html lang="fr">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<title>Changement d'adresse e-mail – TFJM²</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
Bonjour {FIRST_NAME} {SURNAME},<br/>
|
||||||
|
<br/>
|
||||||
|
Vous venez de changer votre adresse e-mail. Veuillez désormais la confirmer en cliquant ici : <a
|
||||||
|
href="{URL_BASE}/confirmer_mail/{TOKEN}">{URL_BASE}/confirmer_mail/{TOKEN}</a><br/>
|
||||||
|
<br/>
|
||||||
|
Le comité national d'organisation du TFJM<sup>2</sup>
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -0,0 +1,18 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="fr">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<title>Mot de passe changé – TFJM²</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
Bonjour {FIRST_NAME} {SURNAME},<br/>
|
||||||
|
<br/>
|
||||||
|
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.<br/>
|
||||||
|
<br/>
|
||||||
|
Cordialement,<br/>
|
||||||
|
<br/>
|
||||||
|
Le comité national d'organisation du TFJM<sup>2</sup>
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -0,0 +1,18 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<!--suppress HtmlUnknownTarget -->
|
||||||
|
<html lang="fr">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<title>Inscription au TFJM² {YEAR}</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
Bonjour {FIRST_NAME} {SURNAME},<br/>
|
||||||
|
<br/>
|
||||||
|
Vous êtes inscrit au TFJM<sup>2</sup> {YEAR} et nous vous en remercions.<br/>
|
||||||
|
Pour valider votre adresse e-mail, veuillez cliquer sur le lien : <a href="{URL_BASE}/confirmer_mail/{TOKEN}">{URL_BASE}/confirmer_mail/{TOKEN}</a><br/>
|
||||||
|
<br/>
|
||||||
|
Cordialement,<br/>
|
||||||
|
<br/>
|
||||||
|
Le comité national d'organisation du TFJM<sup>2</sup>
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -0,0 +1,20 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<!--suppress HtmlUnknownTarget -->
|
||||||
|
<html lang="fr">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<title>Mot de passe oublié – TFJM²</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
Bonjour,<br/>
|
||||||
|
<br/>
|
||||||
|
Vous avez indiqué avoir oublié votre mot de passe. Veuillez cliquer ici pour le réinitialiser : <a
|
||||||
|
href="{URL_BASE}/connexion/reinitialiser_mdp/{TOKEN}">{URL_BASE}/connexion/reinitialiser_mdp/{TOKEN}</a><br/>
|
||||||
|
<br/>
|
||||||
|
Si vous n'êtes pas à l'origine de cette manipulation, vous pouvez ignorer ce message.<br/>
|
||||||
|
<br/>
|
||||||
|
Cordialement,<br/>
|
||||||
|
<br/>
|
||||||
|
Le comité national d'organisation du TFJM<sup>2</sup>
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -0,0 +1,17 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="fr">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<title>Équipe rejointe – TFJM² {YEAR}</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
Bonjour {FIRST_NAME} {SURNAME},<br/>
|
||||||
|
<br/>
|
||||||
|
Vous venez de rejoindre l'équipe « {TEAM_NAME} » ({TRIGRAM}) pour le TFJM² de {TOURNAMENT_NAME} et nous vous en
|
||||||
|
remercions.<br/>
|
||||||
|
<br/>
|
||||||
|
Cordialement,<br/>
|
||||||
|
<br/>
|
||||||
|
Le comité national d'organisation du TFJM<sup>2</sup>
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -0,0 +1,16 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<!--suppress HtmlUnknownTarget -->
|
||||||
|
<html lang="fr">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<title>Inscription au TFJM² {YEAR}</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
Bonjour {FIRST_NAME} {SURNAME},<br />
|
||||||
|
<br />
|
||||||
|
Vous venez de vous inscrire au TFJM<sup>2</sup> {YEAR} et nous vous en remercions.<br />
|
||||||
|
Pour valider votre adresse e-mail, veuillez cliquer sur le lien : <a href="{URL_BASE}/confirmer_mail/{TOKEN}">{URL_BASE}/confirmer_mail/{TOKEN}</a><br />
|
||||||
|
<br />
|
||||||
|
Le comité national d'organisation du TFJM<sup>2</sup>
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -0,0 +1,26 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<!--suppress HtmlUnknownTarget -->
|
||||||
|
<html lang="fr">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<title>Demande de validation de paiement pour le TFJM² {YEAR}</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
Bonjour {FIRST_NAME} {SURNAME},<br />
|
||||||
|
<br />
|
||||||
|
{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 :<br /><br />
|
||||||
|
<strong>Équipe :</strong> {TEAM_NAME} ({TRIGRAM})<br />
|
||||||
|
<strong>Tournoi :</strong> {TOURNAMENT_NAME}<br />
|
||||||
|
<strong>Moyen de paiement :</strong> {PAYMENT_METHOD}<br />
|
||||||
|
<strong>Montant :</strong> {AMOUNT} €<br />
|
||||||
|
<strong>Informations sur le paiement :</strong> {PAYMENT_INFOS}<br />
|
||||||
|
<br />
|
||||||
|
Vous pouvez désormais vérifier ces informations, puis valider (ou non) le paiement sur
|
||||||
|
<a href="{URL_BASE}/informations/{USER_ID}/">la page associée à ce participant</a>.
|
||||||
|
<br />
|
||||||
|
Cordialement,
|
||||||
|
<br />
|
||||||
|
Le comité national d'organisation du TFJM<sup>2</sup>
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -0,0 +1,19 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<!--suppress HtmlUnknownTarget -->
|
||||||
|
<html lang="fr">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<title>Demande de validation - TFJM²</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
Bonjour {FIRST_NAME} {SURNAME},<br />
|
||||||
|
<br />
|
||||||
|
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 :
|
||||||
|
<a href="{URL_BASE}/equipe/{TRIGRAM}">{URL_BASE}/equipe/{TRIGRAM}</a><br/>
|
||||||
|
<br/>
|
||||||
|
Cordialement,<br/>
|
||||||
|
<br />
|
||||||
|
Le comité national d'organisation du TFJM<sup>2</sup>
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -0,0 +1,24 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<!--suppress HtmlUnknownTarget -->
|
||||||
|
<html lang="fr">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<title>Non-validation du paiement pour le TFJM² {YEAR}</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
Bonjour {FIRST_NAME} {SURNAME},<br />
|
||||||
|
<br />
|
||||||
|
Votre paiement pour le TFJM² {YEAR} a malheureusement été rejeté. Pour rappel, vous aviez fourni ces informations :<br /><br />
|
||||||
|
<strong>Équipe :</strong> {TEAM_NAME} ({TRIGRAM})<br />
|
||||||
|
<strong>Tournoi :</strong> {TOURNAMENT_NAME}<br />
|
||||||
|
<strong>Moyen de paiement :</strong> {PAYMENT_METHOD}<br />
|
||||||
|
<strong>Montant :</strong> {AMOUNT} €<br />
|
||||||
|
<strong>Informations sur le paiement :</strong> {PAYMENT_INFOS}<br />
|
||||||
|
<br />
|
||||||
|
{MESSAGE}
|
||||||
|
<br />
|
||||||
|
Cordialement,
|
||||||
|
<br />
|
||||||
|
Le comité national d'organisation du TFJM<sup>2</sup>
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -0,0 +1,19 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="fr">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<title>Équipe non validée – TFJM² {YEAR}</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
Bonjour {FIRST_NAME} {SURNAME},<br/>
|
||||||
|
<br/>
|
||||||
|
Maleureusement, votre équipe « {TEAM_NAME} » ({TRIGRAM}) n'a pas été validée. Veuillez vérifier que vos autorisations sont correctes.
|
||||||
|
{MESSAGE}<br />
|
||||||
|
<br />
|
||||||
|
N'hésitez pas à nous contacter à l'adresse <a href="contact@tfjm.org">contact@tfjm.org</a> pour plus d'informations.
|
||||||
|
<br/>
|
||||||
|
Cordialement,<br/>
|
||||||
|
<br/>
|
||||||
|
Le comité national d'organisation du TFJM<sup>2</sup>
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -0,0 +1,24 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<!--suppress HtmlUnknownTarget -->
|
||||||
|
<html lang="fr">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<title>Validation du paiement pour le TFJM² {YEAR}</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
Bonjour {FIRST_NAME} {SURNAME},<br />
|
||||||
|
<br />
|
||||||
|
Votre paiement pour le TFJM² {YEAR} a bien été validé. Pour rappel, vous aviez fourni ces informations :<br /><br />
|
||||||
|
<strong>Équipe :</strong> {TEAM_NAME} ({TRIGRAM})<br />
|
||||||
|
<strong>Tournoi :</strong> {TOURNAMENT_NAME}<br />
|
||||||
|
<strong>Moyen de paiement :</strong> {PAYMENT_METHOD}<br />
|
||||||
|
<strong>Montant :</strong> {AMOUNT} €<br />
|
||||||
|
<strong>Informations sur le paiement :</strong> {PAYMENT_INFOS}<br />
|
||||||
|
<br />
|
||||||
|
{MESSAGE}
|
||||||
|
<br />
|
||||||
|
Cordialement,
|
||||||
|
<br />
|
||||||
|
Le comité national d'organisation du TFJM<sup>2</sup>
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -0,0 +1,18 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="fr">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<title>Équipe validée – TFJM² {YEAR}</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
Bonjour {{ user }},<br/>
|
||||||
|
<br/>
|
||||||
|
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 }}<br />
|
||||||
|
<br/>
|
||||||
|
Cordialement,<br/>
|
||||||
|
<br/>
|
||||||
|
Le comité national d'organisation du TFJM<sup>2</sup>
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -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!
|
# SECURITY WARNING: don't run with debug turned on in production!
|
||||||
DEBUG = True
|
DEBUG = True
|
||||||
|
|
||||||
|
SITE_ID = 1
|
||||||
|
|
||||||
ALLOWED_HOSTS = ['*']
|
ALLOWED_HOSTS = ['*']
|
||||||
|
|
||||||
|
|
||||||
|
@ -41,6 +43,7 @@ INSTALLED_APPS = [
|
||||||
'django.contrib.auth',
|
'django.contrib.auth',
|
||||||
'django.contrib.contenttypes',
|
'django.contrib.contenttypes',
|
||||||
'django.contrib.sessions',
|
'django.contrib.sessions',
|
||||||
|
'django.contrib.sites',
|
||||||
'django.contrib.messages',
|
'django.contrib.messages',
|
||||||
'django.contrib.staticfiles',
|
'django.contrib.staticfiles',
|
||||||
'django.forms',
|
'django.forms',
|
||||||
|
@ -105,6 +108,8 @@ DATABASES = {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend'
|
||||||
|
|
||||||
|
|
||||||
# Password validation
|
# Password validation
|
||||||
# https://docs.djangoproject.com/en/3.0/ref/settings/#auth-password-validators
|
# https://docs.djangoproject.com/en/3.0/ref/settings/#auth-password-validators
|
||||||
|
|
Loading…
Reference in New Issue