Advertisement
Guest User

Untitled

a guest
Feb 16th, 2017
106
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.60 KB | None | 0 0
  1. url(r'^profile/(?P<username>[-w.]+)/$', views.profile, name='profile'),
  2. url(r'^password_change/(?P<username>[-w.]+)/$', views.password_change, name='password_change'),
  3. url(r'^password_change_done/$', views.password_change_done, name='password_change_done'),
  4.  
  5. oldpassword = forms.CharField(max_length = 20, widget=forms.TextInput(attrs={'type':'password', 'placeholder':'your old Password', 'class' : 'span'}))
  6. newpassword1 = forms.CharField(max_length = 20, widget=forms.TextInput(attrs={'type':'password', 'placeholder':'New Password', 'class' : 'span'}))
  7. newpassword2 = forms.CharField(max_length = 20, widget=forms.TextInput(attrs={'type':'password', 'placeholder':'Confirm New Password', 'class' : 'span'}))
  8.  
  9. class Meta:
  10. model = User
  11. fields = ("username",)
  12. field_classes = {'username': UsernameField}
  13.  
  14. def __init__(self, *args, **kwargs):
  15. super().__init__(*args, **kwargs)
  16. if self._meta.model.USERNAME_FIELD in self.fields:
  17. self.fields[self._meta.model.USERNAME_FIELD].widget.attrs.update({'autofocus': True})
  18.  
  19. def clean(self):
  20. if 'newpassword1' in self.cleaned_data and 'newpassword2' in self.cleaned_data:
  21. if self.cleaned_data['newpassword1'] != self.cleaned_data['newpassword2']:
  22. raise forms.ValidationError(_("The two password fields did not match."))
  23. return self.cleaned_data
  24.  
  25. def save(self, commit=True):
  26. user = super().save(commit=False)
  27. user.set_password(self.cleaned_data["password1"])
  28. if commit:
  29. user.save()
  30. return user
  31.  
  32. @login_required
  33. def password_change(request, username):
  34. if request.method == 'POST':
  35. form = PasswordChangeForm(data=request.POST, user=request.user)
  36. print("username is "+username)
  37.  
  38. if form.is_valid():
  39. #form.save()
  40. update_session_auth_hash(request, form.user)
  41. form.save()
  42. print("A")
  43. return HttpResponseRedirect('/blog/password_change_done/')
  44. else:
  45. update_session_auth_hash(request, form.user)
  46. form.save()
  47. print("B")
  48. return redirect(reverse('blog:profile', args=[form.user.get_username()]))
  49. else:
  50. print("C")
  51. form = PasswordChangeForm(user=request.user)#unbound
  52. return redirect(reverse('blog:profile', args=[form.user.get_username()]))
  53.  
  54. <h2>password change</h2>
  55. {% if error_message %}
  56. <p><strong>{{ error_message }}</strong></p>
  57. {% else %}
  58. {% endif %}
  59. <form class="form-horizontal" role="form" action="{% url 'blog:password_change' user.username %}" method="post" enctype="multipart/form-data">
  60. {% csrf_token %}
  61. {{ form.as_p }}
  62. <button type="submit" class="button-primary">password change</button></div>
  63. </form>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement