K-Psul : envoi d'un mail (explicatif) à la création de trigramme
A la création d'un trigramme, associé à un clipper, il est largement souhaitable que le clipper en question reçoive un mail attestant de la création d'un trigramme avec divers renseignements.
- La personne doit savoir quel trigramme a été choisi, la date à laquelle il a été créé.
- Il doit y avoir une explication sur la politique des données de la K-Fêt : quelles données, pendant quelle durée sont-elles stockées, comment les récupérer, comment les supprimer.
- Il doit y avoir un lien vers l'historique des consommations (non formaté et graphique), un lien vers une page où il est possible de télécharger ses consommations, ainsi qu'un lien vers une page où il est possible de supprimer ses consommations.
Suggestion d'implémentation
- Écrire le mail à envoyer dans un fichier
kfet/templates/kfet/mails/account_creation.txt
. Il est possible d'utiliser le moteur de templates de Django, par exemple :
Salut {{ account.name }},
Ton compte K-Fêt a été créé le {{ account.created_at }} avec le trigramme {{ account.trigramme }}
...
La 3e étape du tuto Django parle un peu des templates https://docs.djangoproject.com/en/3.0/intro/tutorial03/. Voir https://docs.djangoproject.com/en/3.0/topics/templates/#the-django-template-language pour plus d'info sur le langage de template.
-
Les liens à envoyer sont trouvables dans
kfet/urls.py
:- Historique personnel https://cof.ens.fr/gestion/k-fet/accounts/TRIGRAMME. Django peut générer l'url tout seul avec
reverse("kfet.account.read", args=(account.trigramme,)
) - Modifier ses données personnelles :
reverse("kfet.account.edit", args=(account.trigramme,))
- Supprimer son compte :
reverse("kfet.account.delete", args=(account.trigramme,))
- historique au format json, on verra plus tard, pour l'instant c'est compliqué il faut faire une requête POST. Et puis ça pourrait être mieux formaté peut-être ?
- La doc relative à la résolution des urls à l'aide de
reverse
: https://docs.djangoproject.com/en/3.0/topics/http/urls/#reverse-resolution-of-urls
- Historique personnel https://cof.ens.fr/gestion/k-fet/accounts/TRIGRAMME. Django peut générer l'url tout seul avec
-
Dans le modèle
Account
du fichierkfet/models.py
ajouter une méthodesend_creation_email
qui se charge d'envoyer cet email. Quelques pointeurs :- La doc des mails https://docs.djangoproject.com/en/3.0/topics/email/
- La fonction
render_to_string
peut être utilisée pour générer le mail à partir du template https://docs.djangoproject.com/en/3.0/topics/templates/#django.template.loader.render_to_string. Par exemple
from django.template.loader import render_to_string
rendered = render_to_string('kfet/mails/account_creation.txt', {'account': ...})
- J'hésite :
- soit appeler
send_creation_email
à la fin de la méthodesave
du modèleAccount
(dans la même classe) - soit appeler
send_creation_email
dans la vueaccount_create
danskfet/views.py
- soit appeler