--- a/src/cm/views/user.py Mon Mar 22 11:02:39 2010 +0100
+++ b/src/cm/views/user.py Mon Mar 22 12:50:42 2010 +0100
@@ -394,6 +394,8 @@
return HttpResponse('') # no redirect because this is called by js
raise UnauthorizedException('')
+from django.contrib.auth.forms import PasswordChangeForm
+
@login_required()
def profile(request):
user = request.user
@@ -401,6 +403,7 @@
if request.method == 'POST':
userform = UserForm(request.POST, instance=user)
userprofileform = MyUserProfileForm(request.POST, instance=profile)
+
if userform.is_valid() and userprofileform.is_valid():
userform.save()
userprofileform.save()
@@ -414,6 +417,22 @@
'title' : 'Profile',
}, context_instance=RequestContext(request))
+@login_required()
+def profile_pw(request):
+ user = request.user
+ profile = user.get_profile()
+ if request.method == 'POST':
+ pwform = PasswordChangeForm(profile.user, data = request.POST)
+ if pwform.is_valid():
+ pwform.save()
+ display_message(request, _(u'Password changed'))
+ return HttpResponseRedirect(reverse('profile'))
+ else:
+ pwform = PasswordChangeForm(profile.user)
+ return render_to_response('site/profile_pw.html', {'forms' : [pwform],
+ 'title' : 'Password',
+ }, context_instance=RequestContext(request))
+
class AnonUserRoleForm(UserRoleForm):
def __init__(self, data=None, files=None, auto_id='id_%s', prefix=None,
initial=None, error_class=ErrorList, label_suffix=':',