Guest User

Untitled

a guest
Mar 10th, 2018
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.39 KB | None | 0 0
  1. class RegistrationForm(forms.Form):
  2. username = forms.CharField(max_length=30)
  3. email = forms.EmailField()
  4. password1 = forms.CharField(widget=forms.PasswordInput(render_value=False), label="Password")
  5. password2 = forms.CharField(widget=forms.PasswordInput(render_value=False), label="Confirm Password")
  6. street_address = forms.CharField()
  7. city = forms.CharField()
  8. country = forms.CharField()
  9. postal_code = forms.CharField()
  10. company = forms.CharField()
  11. title = forms.CharField()
  12. minimum_payment = forms.CharField()
  13. payee = forms.CharField()
  14. tax_id = forms.CharField()
  15. phone = forms.CharField()
  16.  
  17. def clean(self):
  18. if 'password1' in self.cleaned_data and 'password2' in self.cleaned_data:
  19. if self.cleaned_data['password1'] != self.cleaned_data['password2']:
  20. raise forms.ValidationError(u'The passwords you typed don\'t match.')
  21. return self.cleaned_data
  22.  
  23. def clean_username(self):
  24. if not alnum_re.search(self.cleaned_data['username']):
  25. raise forms.ValidationError(u'Usernames can only contain letters, numbers and underscores')
  26. try:
  27. user = User.objects.get(username__exact=self.cleaned_data['username'])
  28. except User.DoesNotExist:
  29. return self.cleaned_data['username']
  30. raise forms.ValidationError(_(u'This username is already taken. Please choose another.'))
  31.  
  32. def clean_email(self):
  33. if not email_re.search(self.cleaned_data['email']):
  34. raise forms.ValidationError(u'Email is not valid')
  35. try:
  36. user = User.objects.get(email__exact=self.cleaned_data['email'])
  37. except User.DoesNotExist:
  38. return self.cleaned_data['email']
  39. raise forms.ValidationError(_(u'This email address is already taken'))
  40.  
  41. def save(self):
  42. new_user = User.objects.create_user(username=self.cleaned_data['username'], email=self.cleaned_data['email'], password=self.cleaned_data['password1'])
  43. 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'])
  44. 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'])
  45. return new_user
Add Comment
Please, Sign In to add comment