Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class RegistrationForm(forms.Form):
- username = forms.CharField(max_length=30)
- email = forms.EmailField()
- password1 = forms.CharField(widget=forms.PasswordInput(render_value=False), label="Password")
- password2 = forms.CharField(widget=forms.PasswordInput(render_value=False), label="Confirm Password")
- street_address = forms.CharField()
- city = forms.CharField()
- country = forms.CharField()
- postal_code = forms.CharField()
- company = forms.CharField()
- title = forms.CharField()
- minimum_payment = forms.CharField()
- payee = forms.CharField()
- tax_id = forms.CharField()
- phone = forms.CharField()
- def clean(self):
- if 'password1' in self.cleaned_data and 'password2' in self.cleaned_data:
- if self.cleaned_data['password1'] != self.cleaned_data['password2']:
- raise forms.ValidationError(u'The passwords you typed don\'t match.')
- return self.cleaned_data
- def clean_username(self):
- if not alnum_re.search(self.cleaned_data['username']):
- raise forms.ValidationError(u'Usernames can only contain letters, numbers and underscores')
- try:
- user = User.objects.get(username__exact=self.cleaned_data['username'])
- except User.DoesNotExist:
- return self.cleaned_data['username']
- raise forms.ValidationError(_(u'This username is already taken. Please choose another.'))
- def clean_email(self):
- if not email_re.search(self.cleaned_data['email']):
- raise forms.ValidationError(u'Email is not valid')
- try:
- user = User.objects.get(email__exact=self.cleaned_data['email'])
- except User.DoesNotExist:
- return self.cleaned_data['email']
- raise forms.ValidationError(_(u'This email address is already taken'))
- def save(self):
- new_user = User.objects.create_user(username=self.cleaned_data['username'], email=self.cleaned_data['email'], password=self.cleaned_data['password1'])
- new_address = Address.objects.create(street_address=self.cleaned_data['street_address'],city=self.cleaned_data['city'],country=self.cleaned_data['country'],postal_code=self.cleaned_data['postal_code'])
- new_user_profile = ExtendedProfile.objects.create(user=new_user, address=new_address, company=self.cleaned_data['company'], title=self.cleaned_data['title'], minimum_payment=self.cleaned_data['minimum_payment'], payee=self.cleaned_data['payee'], tax_id=self.cleaned_data['tax_id'], phone=self.cleaned_data['phone'])
- return new_user
Add Comment
Please, Sign In to add comment