taskapp/forms/user.py
changeset 44 2b09336352b5
parent 40 43853e376bb8
child 47 4e059a4220cc
--- a/taskapp/forms/user.py	Wed Feb 17 19:28:18 2010 +0530
+++ b/taskapp/forms/user.py	Thu Feb 18 19:39:54 2010 +0530
@@ -3,8 +3,26 @@
 from django import forms
 from pytask.taskapp.models import GENDER_CHOICES, Profile
 from django.forms import ModelForm
+from registration.forms import RegistrationForm
+from registration.models import RegistrationProfile
 
 class UserProfileEditForm(ModelForm):
+    """Form used to edit the profile of a user"""
+    
     class Meta:
         model = Profile
         exclude = ('user','rights','dob','credits')
+
+class RegistrationFormCustom(RegistrationForm):
+    """Used instead of RegistrationForm used by default django-registration backend, this adds date of birth and gender to the default django-registration RegistrationForm"""
+    
+    dob = forms.DateField(help_text = "YYYY-MM-DD", required=True, label=u'date of birth')
+    gender = forms.ChoiceField(choices = GENDER_CHOICES, required=True, label=u'gender')
+    
+    def save(self,profile_callback=None):
+        new_user = RegistrationProfile.objects.create_inactive_user(username=self.cleaned_data['username'],password=self.cleaned_data['password1'],email=self.cleaned_data['email'])
+        
+        new_profile = Profile(user=new_user,dob=self.cleaned_data['dob'],gender=self.cleaned_data['gender'])
+        new_profile.save()
+        
+        return new_user