8
0
Fork 0
mirror of https://gitlab2.federez.net/re2o/re2o synced 2024-11-23 11:53:12 +00:00

Replace ConfirmMailForm with an html template

This commit is contained in:
Jean-Romain Garnier 2020-04-17 12:25:42 +02:00 committed by Gabriel Detraz
parent 3bee334062
commit 7b4ec26d94
3 changed files with 55 additions and 23 deletions

View file

@ -117,20 +117,6 @@ class PassForm(FormRevMixin, FieldPermissionFormMixin, forms.ModelForm):
user.save() user.save()
class ConfirmMailForm(FormRevMixin, FieldPermissionFormMixin, forms.ModelForm):
"""Formulaire de confirmation de l'email de l'utilisateur"""
class Meta:
model = User
fields = []
def save(self, commit=True):
"""Confirmation de l'email"""
user = super(ConfirmMailForm, self).save(commit=False)
user.confirm_mail()
user.set_active()
user.save()
class UserCreationForm(FormRevMixin, forms.ModelForm): class UserCreationForm(FormRevMixin, forms.ModelForm):
"""A form for creating new users. Includes all the required """A form for creating new users. Includes all the required
fields, plus a repeated password. fields, plus a repeated password.

View file

@ -0,0 +1,44 @@
{% extends 'users/sidebar.html' %}
{% comment %}
Re2o est un logiciel d'administration développé initiallement au rezometz. Il
se veut agnostique au réseau considéré, de manière à être installable en
quelques clics.
Copyright © 2017 Gabriel Détraz
Copyright © 2017 Lara Kermarec
Copyright © 2017 Augustin Lemesle
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
{% endcomment %}
{% load bootstrap3 %}
{% load i18n %}
{% block title %}{% trans "Confirmation email" %}{% endblock %}
{% block content %}
<form class="form" method="post">
{% csrf_token %}
<h4>{% blocktrans %}Confirmation email{% endblocktrans %}</h4>
<p>{% blocktrans %}Confirm the email{% endblocktrans %} <a href="mailto:{{ email }}">{{ email }}</a> {% blocktrans %}for user {{ firstname }} {{ lastname }}.{% endblocktrans %}.</p>
{% trans "Confirm" as tr_confirm %}
{% bootstrap_button tr_confirm button_type="submit" icon="ok" button_class="btn-success" %}
</form>
<br />
<br />
<br />
{% endblock %}

View file

@ -105,7 +105,6 @@ from .forms import (
ClubForm, ClubForm,
MassArchiveForm, MassArchiveForm,
PassForm, PassForm,
ConfirmMailForm,
ResetPasswordForm, ResetPasswordForm,
ClubAdminandMembersForm, ClubAdminandMembersForm,
GroupForm, GroupForm,
@ -1047,7 +1046,9 @@ def resend_confirmation_email(request, userid):
return redirect(reverse("users:profil", kwargs={"userid": userid})) return redirect(reverse("users:profil", kwargs={"userid": userid}))
return form( return form(
{"email": user.email}, "users/resend_confirmation_email.html", request {"email": user.email},
"users/resend_confirmation_email.html",
request
) )
@ -1055,19 +1056,20 @@ def process_email(request, req):
"""Process la confirmation de mail, renvoie le formulaire """Process la confirmation de mail, renvoie le formulaire
de validation""" de validation"""
user = req.user user = req.user
u_form = ConfirmMailForm(request.POST or None, instance=user, user=request.user) if request.method == "POST":
if u_form.is_valid():
with transaction.atomic(), reversion.create_revision(): with transaction.atomic(), reversion.create_revision():
u_form.save() user.confirm_mail()
user.save()
reversion.set_comment("Email confirmation") reversion.set_comment("Email confirmation")
req.delete() req.delete()
messages.success(request, _("The email was confirmed.")) messages.success(request, _("The %(email)s address was confirmed." % user.email))
return redirect(reverse("index")) return redirect(reverse("index"))
return form( return form(
{"userform": u_form, "action_name": _("Confirm the email")}, {"email": user.email, "firstname": user.firstname, "lastname": user.surname},
"users/user.html", "users/confirm_email.html",
request, request
) )