Associe User à Chercheur, et valide que le courriel n'est pas utilisé
authorPA Parent <paparent@paparent.me>
Wed, 14 Dec 2011 20:51:04 +0000 (15:51 -0500)
committerPA Parent <paparent@paparent.me>
Wed, 14 Dec 2011 20:51:04 +0000 (15:51 -0500)
auf_savoirs_en_partage/chercheurs/forms.py
auf_savoirs_en_partage/chercheurs/views.py

index 81f24e4..204d7f3 100644 (file)
@@ -135,6 +135,13 @@ class ChercheurForm(forms.ModelForm):
         existing = Chercheur.objects.filter(courriel=courriel, actif=True)
         if self.instance and self.instance.id:
             existing = existing.exclude(id=self.instance.id)
+
+        else:
+            # Nouveau chercheur
+            user = User.objects.filter(is_active=True, email=courriel)
+            if user.count():
+                raise forms.ValidationError('Il existe déjà une fiche pour cette adresse électronique')
+
         if existing.count():
             raise forms.ValidationError('Il existe déjà une fiche pour cette adresse électronique')
         return courriel
index 1b8066c..d5c0995 100644 (file)
@@ -91,10 +91,11 @@ def activation(request, id_base36, token):
                 password = form.cleaned_data['password']
                 email = chercheur.courriel
                 chercheur.actif = True
-                chercheur.save()
                 user = get_django_user_for_email(email)
                 user.set_password(password)
                 user.save()
+                chercheur.user = user
+                chercheur.save()
 
                 # Auto-login
                 auth_login(request, authenticate(username=email, password=password))