Inscription d'utilisateurs

This commit is contained in:
Hugo LEVY-FALK 2018-03-11 22:02:16 +01:00
parent caef878ba9
commit c8e0abb073
6 changed files with 84 additions and 5 deletions

View file

@ -40,6 +40,9 @@
<li class="nav-item {% if active == 4 %}active{% endif %}">
<a class="nav-link" href="{% url 'users:login' %}">Connexion<span class="sr-only">(current)</span></a>
</li>
<li>
<a class="nav-link" href="{% url "users:password-reset" %}">(Mot de passe oublié)</a>
</li>
{% endif %}
</ul>

View file

@ -0,0 +1,14 @@
{% load i18n %}{% autoescape off %}
{% blocktrans %}You're receiving this email because you requested a password reset for your user account at {{ site_name }}.{% endblocktrans %}
{% trans "Please go to the following page and choose a new password:" %}
{% block reset_link %}
{{ protocol }}://festart.rezometz.org{% url 'users:password-reset-confirm' uidb64=uid token=token %}
{% endblock %}
{% trans "Your username, in case you've forgotten:" %} {{ user.get_username }}
{% trans "Thanks for using our site!" %}
{% blocktrans %}The {{ site_name }} team{% endblocktrans %}
{% endautoescape %}

View file

@ -11,6 +11,10 @@ Inscription validée
<h1>
{{school.name}}
</h1>
<a class="btn btn-primary btn-sm" href="{% url 'users:password-change' %}">
<i class="fa fa-edit"></i>
Changer mon mot de passe
</a>
<a class="btn btn-primary btn-sm" href="{% url 'users:edit-school-name' school.pk %}">
<i class="fa fa-edit"></i>
Éditer

View file

@ -0,0 +1,14 @@
Bienvenue sur le site d'Il était une fois dans l'Est.
Vous recevez cet email car vous avez été désigné responsable des productions
vidéos pour votre école.
Votre identifiant est : {{id}}
Rendez-vous ici : http://festart.rezometz.org/users/reset pour réinitialiser
votre mot de passe (en utilisant cette adresse email).
Vous pouvez retrouver l'ensemble des informations sur l'évènement ici :
http://festart.rezometz.org
L'équipe de Il était une fois dans l'Est.

View file

@ -1,4 +1,5 @@
from django.urls import path
from django.urls import reverse_lazy
from django.contrib.auth import views as auth_views
from . import views
@ -26,17 +27,22 @@ urlpatterns = [
),
path(
'password_change/done',
auth_views.PasswordChangeDoneView.as_view(template_name="base.html"),
views.PasswordChangeDoneView.as_view(),
name='password-change-done'
),
path(
'reset',
views.PasswordResetView.as_view(),
name='password-reset'
),
path(
'reset/<uidb64>/<token>/',
auth_views.PasswordResetConfirmView.as_view(template_name="edit.html"),
auth_views.PasswordResetConfirmView.as_view(template_name="edit.html", success_url=reverse_lazy('users:password-reset-done')),
name='password-reset-confirm'
),
path(
'reset/done/',
auth_views.PasswordResetCompleteView.as_view(template_name="base.html"),
views.PasswordResetCompleteView.as_view(),
name='password-reset-done'
),
path(

View file

@ -1,7 +1,10 @@
from django.contrib import messages
from django.urls import reverse
from django.urls import reverse, reverse_lazy
from django.core.mail import send_mail
from django.shortcuts import get_object_or_404, redirect, render
from django.contrib.admin.views.decorators import staff_member_required
from django.template.loader import render_to_string
from django.contrib.auth import views as auth_views
from settings.forms import SelectUserForm
from content.models import Category
@ -15,7 +18,14 @@ def create_user(request):
user_form = forms.CreateUser(request.POST or None)
if user_form.is_valid():
u = user_form.save()
messages.success(request, "L'utilisateur {} {} a bien été créé.".format(
send_mail(
"Bienvenue sur Il était une fois dans l'Est.",
render_to_string("users/welcome_user.txt", {'id':u.username}),
"noreply.festart@rezometz.org",
[u.email],
fail_silently=False
)
messages.success(request, "L'utilisateur {} {} a bien été créé un mail lui a été envoyé pour réinitialiser son mot de passe.".format(
u.first_name, u.last_name))
return redirect(reverse('settings:index'))
return render(request, 'edit.html', {
@ -226,3 +236,31 @@ def validate(request, pk):
messages.success(request, 'Inscription validée.')
return redirect(school.get_absolute_url())
class PasswordChangeDoneView(auth_views.PasswordChangeDoneView):
template_name = "home.html"
def dispatch(self, *args, **kwargs):
r = super().dispatch(*args, **kwargs)
messages.success(self.request, "Le mot de passe a été changé.")
return r
class PasswordResetView(auth_views.PasswordResetView):
template_name = "edit.html"
success_url = reverse_lazy('home')
email_template_name = "users/password_reset_mail.html"
def form_valid(self, form):
messages.success(self.request, "Un mail pour le changement de mot de passe a été envoyé.")
return super().form_valid(form)
class PasswordResetCompleteView(auth_views.PasswordResetCompleteView):
template_name = "home.html"
def dispatch(self, *args, **kwargs):
r = super().dispatch(*args, **kwargs)
messages.success(self.request, "Votre mot de passe a été réinitialisé.")
return r