diff --git a/apps/registration/templates/registration/mails/add_organizer.html b/apps/registration/templates/registration/mails/add_organizer.html new file mode 100644 index 0000000..37b1645 --- /dev/null +++ b/apps/registration/templates/registration/mails/add_organizer.html @@ -0,0 +1,38 @@ +{% load i18n %} + + + +
+ ++ Bonjour {{ user.registration }}, +
+ ++ Vous avez été invités par {{ inviter }} à rejoindre la plateforme du TFJM², accessible à l'adresse + https://{{ domain }}/. Vous disposez d'un compte d'organisateur. +
+ ++ Un mot de passe aléatoire a été défini : {{ password }}. + Par sécurité, merci de le changer dès votre connexion. +
+ ++ En cas de problème, merci de nous contacter soit par mail à l'adresse + contact@tfjm.org, soit sur la plateforme de chat accessible sur + https://element.tfjm.org/ en vous connectant avec les mêmes identifiants. +
+ ++ Bien cordialement, +
+ +-- +
+ {% trans "The TFJM² team." %}
+
- {% trans "Hi" %} {{ user.username }}, + {% trans "Hi" %} {{ user.registration }},
diff --git a/apps/registration/templates/registration/mails/email_validation_email.txt b/apps/registration/templates/registration/mails/email_validation_email.txt index 025136f..f70e1bb 100644 --- a/apps/registration/templates/registration/mails/email_validation_email.txt +++ b/apps/registration/templates/registration/mails/email_validation_email.txt @@ -1,6 +1,6 @@ {% load i18n %} -{% trans "Hi" %} {{ user.username }}, +{% trans "Hi" %} {{ user.registration }}, {% trans "You recently registered on the TFJM² platform. Please click on the link below to confirm your registration." %} diff --git a/apps/registration/views.py b/apps/registration/views.py index d8dde49..37fd404 100644 --- a/apps/registration/views.py +++ b/apps/registration/views.py @@ -6,13 +6,17 @@ import os from django.conf import settings from django.contrib.auth.mixins import LoginRequiredMixin from django.contrib.auth.models import User +from django.contrib.sites.models import Site from django.core.exceptions import PermissionDenied, ValidationError from django.db import transaction from django.db.models import Q from django.http import FileResponse, Http404 from django.shortcuts import redirect, resolve_url +from django.template.loader import render_to_string from django.urls import reverse_lazy -from django.utils.http import urlsafe_base64_decode +from django.utils.crypto import get_random_string +from django.utils.encoding import force_bytes +from django.utils.http import urlsafe_base64_decode, urlsafe_base64_encode from django.utils.translation import gettext_lazy as _ from django.views.generic import CreateView, DetailView, RedirectView, TemplateView, UpdateView, View from django_tables2 import SingleTableView @@ -114,6 +118,22 @@ class AddOrganizerView(VolunteerMixin, CreateView): registration.save() registration.send_email_validation_link() + password = get_random_string(16) + form.instance.set_password(password) + form.instance.save() + + subject = "[TFJM²] " + str(_("New TFJM² organizer account")) + site = Site.objects.first() + message = render_to_string('registration/mails/add_organizer.txt', dict(user=registration.user, + inviter=self.request.user, + password=password, + domain=site.domain)) + html = render_to_string('registration/mails/add_organizer.html', dict(user=registration.user, + inviter=self.request.user, + password=password, + domain=site.domain)) + registration.user.email_user(subject, message, html_message=html) + return ret def get_success_url(self):