Parcourir la source

correction création des utilisateurs

Élie Bouttier il y a 8 ans
Parent
commit
0b854c648c
4 fichiers modifiés avec 14 ajouts et 16 suppressions
  1. 7 7
      accounts/forms.py
  2. 2 2
      accounts/tests.py
  3. 2 2
      accounts/views.py
  4. 3 5
      adhesions/views.py

+ 7 - 7
accounts/forms.py

@@ -4,13 +4,13 @@ from django.contrib.auth.models import User
 from .models import Profile
 
 
-#class UserCreationForm(ModelForm):
-#    class Meta:
-#        model = User
-#        fields = ('username', 'first_name', 'last_name', 'email',)
-#
-#
-class UserForm(ModelForm):
+class UserCreateForm(ModelForm):
+    class Meta:
+        model = User
+        fields = ('username', 'first_name', 'last_name', 'email',)
+
+
+class UserChangeForm(ModelForm):
     def __init__(self, *args, **kwargs):
         super().__init__(*args, **kwargs)
         for key in self.Meta.readonly_fields:

+ 2 - 2
accounts/tests.py

@@ -3,7 +3,7 @@ from django.core.urlresolvers import reverse
 from django.test import TestCase
 
 from .models import Profile
-from .forms import UserForm, ProfileForm
+from .forms import UserChangeForm, ProfileForm
 
 
 class AccountsTests(TestCase):
@@ -34,7 +34,7 @@ class AccountsTests(TestCase):
         response = self.client.get(reverse('profile'))
         self.assertEqual(response.status_code, 200)
         user = User.objects.get(username='user')
-        user_form = UserForm(None, instance=user)
+        user_form = UserChangeForm(None, instance=user)
         data = {key: getattr(user_form.instance, key) for key in user_form.fields}
         profile_form = ProfileForm(instance=user.profile)
         data.update({key: getattr(profile_form.instance, key) for key in profile_form.fields})

+ 2 - 2
accounts/views.py

@@ -2,12 +2,12 @@ from django.contrib.auth.decorators import login_required
 from django.shortcuts import get_object_or_404, redirect, render
 from django.contrib import messages
 
-from .forms import UserForm, ProfileForm
+from .forms import UserChangeForm, ProfileForm
 
 
 @login_required
 def profile(request):
-    user_form = UserForm(request.POST or None, instance=request.user)
+    user_form = UserChangeForm(request.POST or None, instance=request.user)
     profile_form = ProfileForm(request.POST or None, instance=request.user.profile)
     forms = [user_form, profile_form]
     if request.method == 'POST' and all(form.is_valid() for form in forms):

+ 3 - 5
adhesions/views.py

@@ -9,7 +9,7 @@ from django.contrib.contenttypes.models import ContentType
 from django.contrib import messages
 
 from accounts.models import Profile
-from accounts.forms import UserForm, ProfileForm
+from accounts.forms import UserCreateForm, UserChangeForm, ProfileForm
 #from banking.forms import PaymentForm
 
 from .models import Adhesion, Corporation
@@ -49,18 +49,16 @@ class UserDetail(UserMixin, DetailView):
     template_name = 'adhesions/user_detail.html'
 
 
-#class UserCreate(UserMixin, CreateView):
-#    form_class = UserForm
-#    template_name = 'adhesions/user_form.html'
 @permission_required('auth.change_user')
 def user_edit(request, pk=None):
     if pk:
         user = get_object_or_404(User, pk=pk)
+        user_form = UserChangeForm(request.POST or None, instance=user)
         profile = user.profile
     else:
         user = None
+        user_form = UserCreateForm(request.POST or None)
         profile = None
-    user_form = UserForm(request.POST or None, instance=user)
     profile_form = ProfileForm(request.POST or None, instance=profile)
     forms = [user_form, profile_form]
     if not pk or not user.profile.adhesion: