Advertisement
Guest User

Untitled

a guest
Mar 13th, 2019
203
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.30 KB | None | 0 0
  1. class UserForm(forms.ModelForm):
  2. confirm_password = forms.CharField(label="Confirm Password",widget=forms.PasswordInput(attrs = {'placeholder': 'Confirm Password','class':'required'}))
  3. phone = forms.CharField(max_length = 15,widget = forms.TextInput(attrs = {'placeholder':'Enter mobile no. ','class':'required number'}))
  4. profession = forms.CharField(max_length= 50,widget = forms.Select(choices = PROFESSION_CHOICES,attrs = {'class':'required'}))
  5.  
  6. email = forms.EmailField(label='Email address',max_length = 75,widget = forms.TextInput(attrs={'placeholder':'Enter a valid email.','class':'required email'}))
  7. sex = forms.CharField(max_length = 20,label="I am :",widget=forms.Select(choices=SEX_CHOICES,attrs = {'class':'required'}))
  8. password = forms.CharField(label="Password",widget=forms.PasswordInput(attrs = {'placeholder': 'Password','class':'required'}))
  9. first_name = forms.CharField(max_length = 50,widget = forms.TextInput(attrs={'placeholder':'Please enter your real name.','class':'required alphabets'}))
  10. last_name = forms.CharField(max_length = 50,widget = forms.TextInput(attrs={'placeholder':'Enter last name.','class':'required alphabets'}))
  11. def clean_first_name(self):
  12. first_name = self.cleaned_data['first_name']
  13. if first_name == '':
  14. raise forms.ValidationError("This field is required.")
  15. def clean_phone(self):
  16. phone = self.cleaned_data['phone']
  17. if phone == '':
  18. raise forms.ValidationError("This field is required.")
  19.  
  20. def clean_last_name(self):
  21. last_name = self.cleaned_data['last_name']
  22. if last_name == '':
  23. raise forms.ValidationError("This field is required.")
  24. def clean_email(self):
  25. email = self.cleaned_data.get("email")
  26. try:
  27. user = User.objects.get(email = email)
  28. raise forms.ValidationError("Email already in use.")
  29. except User.DoesNotExist:
  30. return email
  31. def clean_profession(self):
  32. profession = self.cleaned_data['profession']
  33. if profession == "":
  34. raise forms.ValidationError("Select a valid option.")
  35.  
  36. def clean_sex(self):
  37. sex = self.cleaned_data['sex']
  38. if sex == "":
  39. raise forms.ValidationError("Select a valid option.")
  40.  
  41. def save(self,*args,**kw):
  42. user = super(UserForm,self).save(*args,**kw)
  43. user.set_password(self.cleaned_data.get("password"))
  44. user.first_name = self.cleaned_data.get("first_name")
  45. user.last_name = self.cleaned_data.get("last_name")
  46. user.email = self.cleaned_data.get("email")
  47. user.save()
  48. user.get_profile().phone = self.cleaned_data.get('phone')
  49. user.get_profile().location = self.cleaned_data.get('location')
  50. user.get_profile().profession = self.cleaned_data.get('profession')
  51. user.get_profile().sex = self.cleaned_data.get('sex')
  52. return user
  53.  
  54. class Meta:
  55. model = User
  56. fields = ('username','email','password','confirm_password','first_name','last_name','sex','phone','profession')
  57. widgets = {
  58. 'password': forms.PasswordInput(),
  59. }
  60.  
  61. def register_user(request):
  62. if request.POST:
  63. data = request.POST.copy()
  64.  
  65. data["username"] = 'user'
  66. rform = UserForm(data)
  67. #form = UserProfileForm()
  68. if rform.is_valid():
  69. try:
  70. user = rform.save()
  71. user.username = "user"+str(user.id)
  72. user.save()
  73. user = authenticate(username = user.username,password=user.password)
  74. #register user
  75. login(request,user)
  76. return redirect(index)
  77. except:
  78. print "Unexpected error"
  79. raise
  80. else:
  81. # submit the same form again.
  82. form = LoginForm();
  83. sform = LoginForm()
  84. return render_to_response('register.html',{'rform':rform,'form':form,'sform':sform},context_instance = RequestContext(request))
  85. else:
  86. rform = UserForm()
  87. #form = UserProfileForm()
  88. form = LoginForm()
  89. sform = LoginForm()
  90. return render_to_response('register.html',{'rform':rform,'form':form,'sform':sform},context_instance = RequestContext(request))
  91.  
  92. IntegrityError at /accounts/register/
  93. auth_user.first_name may not be NULL
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement