392 |
392 |
393 display_message(request, _(u"A new invitation has been sent to user %(prof)s.") % {'prof':profile.simple_print()}) |
393 display_message(request, _(u"A new invitation has been sent to user %(prof)s.") % {'prof':profile.simple_print()}) |
394 return HttpResponse('') # no redirect because this is called by js |
394 return HttpResponse('') # no redirect because this is called by js |
395 raise UnauthorizedException('') |
395 raise UnauthorizedException('') |
396 |
396 |
|
397 from django.contrib.auth.forms import PasswordChangeForm |
|
398 |
397 @login_required() |
399 @login_required() |
398 def profile(request): |
400 def profile(request): |
399 user = request.user |
401 user = request.user |
400 profile = user.get_profile() |
402 profile = user.get_profile() |
401 if request.method == 'POST': |
403 if request.method == 'POST': |
402 userform = UserForm(request.POST, instance=user) |
404 userform = UserForm(request.POST, instance=user) |
403 userprofileform = MyUserProfileForm(request.POST, instance=profile) |
405 userprofileform = MyUserProfileForm(request.POST, instance=profile) |
|
406 |
404 if userform.is_valid() and userprofileform.is_valid(): |
407 if userform.is_valid() and userprofileform.is_valid(): |
405 userform.save() |
408 userform.save() |
406 userprofileform.save() |
409 userprofileform.save() |
407 display_message(request, _(u'Profile updated')) |
410 display_message(request, _(u'Profile updated')) |
408 return HttpResponseRedirect(reverse('index')) |
411 return HttpResponseRedirect(reverse('index')) |
410 userform = UserForm(instance=user) |
413 userform = UserForm(instance=user) |
411 userprofileform = MyUserProfileForm(instance=profile) |
414 userprofileform = MyUserProfileForm(instance=profile) |
412 |
415 |
413 return render_to_response('site/profile.html', {'forms' : [userform, userprofileform], |
416 return render_to_response('site/profile.html', {'forms' : [userform, userprofileform], |
414 'title' : 'Profile', |
417 'title' : 'Profile', |
|
418 }, context_instance=RequestContext(request)) |
|
419 |
|
420 @login_required() |
|
421 def profile_pw(request): |
|
422 user = request.user |
|
423 profile = user.get_profile() |
|
424 if request.method == 'POST': |
|
425 pwform = PasswordChangeForm(profile.user, data = request.POST) |
|
426 if pwform.is_valid(): |
|
427 pwform.save() |
|
428 display_message(request, _(u'Password changed')) |
|
429 return HttpResponseRedirect(reverse('profile')) |
|
430 else: |
|
431 pwform = PasswordChangeForm(profile.user) |
|
432 return render_to_response('site/profile_pw.html', {'forms' : [pwform], |
|
433 'title' : 'Password', |
415 }, context_instance=RequestContext(request)) |
434 }, context_instance=RequestContext(request)) |
416 |
435 |
417 class AnonUserRoleForm(UserRoleForm): |
436 class AnonUserRoleForm(UserRoleForm): |
418 def __init__(self, data=None, files=None, auto_id='id_%s', prefix=None, |
437 def __init__(self, data=None, files=None, auto_id='id_%s', prefix=None, |
419 initial=None, error_class=ErrorList, label_suffix=':', |
438 initial=None, error_class=ErrorList, label_suffix=':', |