# HG changeset patch # User anoop # Date 1266502194 -19800 # Node ID 2b09336352b546be090b7c6901bb4fef3e42134b # Parent b5b9a4fc508f8942a53afdc96cc167c57eba0b38 fixed creation of user profile at registration time, added custom registration form so as to include dob and gender. diff -r b5b9a4fc508f -r 2b09336352b5 taskapp/forms/user.py --- 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 diff -r b5b9a4fc508f -r 2b09336352b5 urls.py --- a/urls.py Wed Feb 17 19:28:18 2010 +0530 +++ b/urls.py Thu Feb 18 19:39:54 2010 +0530 @@ -7,6 +7,8 @@ from pytask.taskapp.views import user as userViews from pytask.taskapp.views import task as taskViews +from pytask.taskapp.forms.user import RegistrationFormCustom +from registration.views import register urlpatterns = patterns('', # Example: @@ -29,6 +31,7 @@ (r'^admin/', include(admin.site.urls)), + url(r'^accounts/register/$',register,{'form_class' : RegistrationFormCustom},name='registration_register'), (r'^accounts/', include('registration.urls')), (r'^accounts/profile/$', userViews.view_my_profile),