# HG changeset patch # User Alexandre Segura # Date 1489594308 -3600 # Node ID 60d98f985e3ba6e7759358658ef9e47151092060 # Parent 26338fe87debcc7b41b2a50488b12ea44fbc2da3 Add email to registration form, improve forms HTML. diff -r 26338fe87deb -r 60d98f985e3b src/iconolab/auth/forms.py --- a/src/iconolab/auth/forms.py Wed Mar 15 16:49:22 2017 +0100 +++ b/src/iconolab/auth/forms.py Wed Mar 15 17:11:48 2017 +0100 @@ -1,5 +1,6 @@ from django import forms from django.contrib.auth.models import User +from django.contrib.auth.forms import UserCreationForm class UserForm(forms.ModelForm): email = forms.EmailField(required=False) @@ -7,3 +8,17 @@ class Meta: model = User fields = ('email',) + +class UserCreationForm(UserCreationForm): + email = forms.EmailField(required=True) + + class Meta: + model = User + fields = ("username", "email", "password1", "password2") + + def save(self, commit=True): + user = super(UserCreationForm, self).save(commit=False) + user.email = self.cleaned_data["email"] + if commit: + user.save() + return user diff -r 26338fe87deb -r 60d98f985e3b src/iconolab/auth/views.py --- a/src/iconolab/auth/views.py Wed Mar 15 16:49:22 2017 +0100 +++ b/src/iconolab/auth/views.py Wed Mar 15 17:11:48 2017 +0100 @@ -1,6 +1,6 @@ from django.utils.http import is_safe_url from django.contrib.auth import authenticate, login, logout, get_user_model -from django.contrib.auth.forms import UserCreationForm +from iconolab.auth.forms import UserCreationForm from django.shortcuts import redirect, render, HttpResponseRedirect from django.core.urlresolvers import reverse_lazy from django.contrib.auth.forms import AuthenticationForm @@ -15,7 +15,7 @@ def login_view(request): return HttpResponse('show show a login form') - + def logout_view(request): logout(request) @@ -25,38 +25,38 @@ form_class = AuthenticationForm success_url = reverse_lazy('home') redirect_field_name = "next" - + def get_context_data(self, **kwargs): context = super(LoginView, self).get_context_data(**kwargs) context["next"] = self.get_success_url() return context - + def get(self, request, *args, **kwargs): if request.user.is_authenticated(): return HttpResponseRedirect(self.get_success_url()) return super(LoginView, self).get(request, *args, **kwargs) - + def form_valid(self, form): login(self.request, form.get_user()) return HttpResponseRedirect(self.get_success_url()) - + def get_success_url(self): redirect_to = self.request.POST.get(self.redirect_field_name, self.request.GET.get(self.redirect_field_name, self.success_url)) return redirect_to class LogoutView(RedirectView): url = reverse_lazy("home") - + def get(self, request, *args, **kwargs): logout(request) return super(LogoutView, self).get(request, *args, **kwargs) - + class RegisterView(CreateView): - model = User + model = User template_name = 'registration/register.html' form_class = UserCreationForm success_url = reverse_lazy("account:user_created") - + def post(self, request, *args, **kwargs): self.object = None form = self.get_form() @@ -69,4 +69,4 @@ return self.form_invalid(form) class UserCreatedView(TemplateView): - template_name='registration/created.html' \ No newline at end of file + template_name='registration/created.html' diff -r 26338fe87deb -r 60d98f985e3b src/iconolab/templates/registration/login.html --- a/src/iconolab/templates/registration/login.html Wed Mar 15 16:49:22 2017 +0100 +++ b/src/iconolab/templates/registration/login.html Wed Mar 15 17:11:48 2017 +0100 @@ -6,8 +6,8 @@

Combinaison identifiant/mot de passe incorrecte. Veuillez réessayer.

{% endif %} -
-

Se connecter

+
+

Se connecter

{% csrf_token %} {% for field in form %} @@ -15,13 +15,13 @@ + id="id_{{ field.name }}" > {% if field.errors %}{{ field.errors }}{% endif %} {% endfor %} - +
-{% endblock %} \ No newline at end of file +{% endblock %} diff -r 26338fe87deb -r 60d98f985e3b src/iconolab/templates/registration/register.html --- a/src/iconolab/templates/registration/register.html Wed Mar 15 16:49:22 2017 +0100 +++ b/src/iconolab/templates/registration/register.html Wed Mar 15 17:11:48 2017 +0100 @@ -1,22 +1,28 @@ {% extends "iconolab_base.html" %} +{% load iconolab_tags %} + {% block content %} -
-

S'enregistrer

-
- {% csrf_token %} +
+

Créer un compte

+ + {% csrf_token %} {% for field in form %} -
+
- - {% if field.errors %}{{ field.errors }}{% else %}

{{ field.help_text }}

{% endif %} + id="id_{{ field.name }}" > + {% if field.errors %} + {{ field.errors.as_text }} + {% else %} + {{ field.help_text }} + {% endif %}
{% endfor %} - +
-{% endblock %} \ No newline at end of file +{% endblock %} diff -r 26338fe87deb -r 60d98f985e3b src_js/iconolab-bundle/src/iconolab.scss --- a/src_js/iconolab-bundle/src/iconolab.scss Wed Mar 15 16:49:22 2017 +0100 +++ b/src_js/iconolab-bundle/src/iconolab.scss Wed Mar 15 17:11:48 2017 +0100 @@ -1,6 +1,9 @@ header { margin-bottom: 20px; } +footer { + margin-top: 20px; +} #topnav { .navbar {