K-Psul : envoi d'un mail (explicatif) à la création de trigramme #237

Closed
opened 2019-11-07 04:04:05 +01:00 by areitz · 5 comments
areitz commented 2019-11-07 04:04:05 +01:00 (Migrated from git.eleves.ens.fr)

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.

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éthode save du modèle Account (dans la même classe)
    • soit appeler send_creation_email dans la vue account_create dans kfet/views.py
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 - Dans le modèle `Account` du fichier `kfet/models.py` ajouter une méthode `send_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 ```python 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éthode `save` du modèle `Account` (dans la même classe) - soit appeler `send_creation_email` dans la vue `account_create` dans `kfet/views.py`
areitz commented 2019-11-08 20:50:59 +01:00 (Migrated from git.eleves.ens.fr)

mentioned in issue #238

mentioned in issue #238
mpepin commented 2020-01-26 16:32:32 +01:00 (Migrated from git.eleves.ens.fr)

changed the description

changed the description
mpepin commented 2020-01-26 16:52:09 +01:00 (Migrated from git.eleves.ens.fr)

changed the description

changed the description
pnmadela commented 2020-07-13 16:35:58 +02:00 (Migrated from git.eleves.ens.fr)

mentioned in merge request !431

mentioned in merge request !431
mpepin commented 2020-12-04 20:12:40 +01:00 (Migrated from git.eleves.ens.fr)

changed the description

changed the description
Sign in to join this conversation.
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: DGNum/gestioCOF#237
No description provided.