fix sign up forms

This commit is contained in:
Pierre-antoine Comby 2019-08-11 17:39:05 +02:00
parent 633663f95d
commit 4a52272558
5 changed files with 21 additions and 20 deletions

View File

@ -12,3 +12,4 @@ class ProfileForm(forms.ModelForm):
class Meta:
model = Profile
fields = '__all__'
exclude = ['user']

View File

@ -138,11 +138,11 @@ class Membership(models.Model):
verbose_name_plural = _('memberships')
@receiver(post_save, sender=settings.AUTH_USER_MODEL)
def save_user_profile(instance, created, **_kwargs):
"""
Hook to save an user profile when an user is updated
"""
if created:
Profile.objects.create(user=instance)
instance.profile.save()
# @receiver(post_save, sender=settings.AUTH_USER_MODEL)
# def save_user_profile(instance, created, **_kwargs):
# """
# Hook to save an user profile when an user is updated
# """
# if created:
# Profile.objects.create(user=instance)
# instance.profile.save()

View File

@ -4,12 +4,3 @@
# Copyright (C) 2018-2019 by BDE ENS Paris-Saclay
# SPDX-License-Identifier: GPL-3.0-or-later
def save_user_profile(instance, created, **_kwargs):
"""
Hook to create and save a note when an user is updated
"""
if created:
from .models import Profile
Profile.objects.create(user=instance)
instance.note.save()

View File

@ -6,7 +6,7 @@
from django.contrib.auth.mixins import LoginRequiredMixin
from django.utils.translation import gettext_lazy as _
from django.views.generic.edit import CreateView
from django.http import HttpResponseRedirect
from django.contrib.auth.forms import UserCreationForm
from django.urls import reverse_lazy
from .models import Profile
@ -27,3 +27,12 @@ class SignUp(CreateView):
context["user_form"] = self.second_form
return context
def form_valid(self, form):
user_form = UserCreationForm(self.request.POST)
if user_form.is_valid():
user = user_form.save()
user_profile = form.save(commit=False) # do not save to db
user_profile.user = user
user_profile.save()
return super().form_valid(form)

View File

@ -7,8 +7,8 @@
<h2>Sign up</h2>
<form method="post">
{% csrf_token %}
{{ form.as_p |crispy }}
{{ user_form.as_p |crispy }}
{{ user_form|crispy }}
{{ form|crispy }}
<button type="submit">Sign up</button>
</form>
{% endblock %}