Revision 34a76cdb snf-astakos-app/astakos/im/views.py
b/snf-astakos-app/astakos/im/views.py | ||
---|---|---|
670 | 670 |
confirm_template_name='registration/email_change_done.html', |
671 | 671 |
extra_context=None): |
672 | 672 |
extra_context = extra_context or {} |
673 |
|
|
674 |
|
|
673 | 675 |
if activation_key: |
674 | 676 |
try: |
675 | 677 |
user = EmailChange.objects.change_email(activation_key) |
... | ... | |
679 | 681 |
auth_logout(request) |
680 | 682 |
response = prepare_response(request, user) |
681 | 683 |
transaction.commit() |
682 |
return response
|
|
684 |
return HttpResponseRedirect(reverse('edit_profile'))
|
|
683 | 685 |
except ValueError, e: |
684 | 686 |
messages.error(request, e) |
687 |
transaction.rollback() |
|
688 |
return HttpResponseRedirect(reverse('index')) |
|
689 |
|
|
685 | 690 |
return render_response(confirm_template_name, |
686 |
modified_user=user if 'user' in locals( |
|
687 |
) else None, |
|
688 |
context_instance=get_context(request, |
|
691 |
modified_user=user if 'user' in locals() \ |
|
692 |
else None, context_instance=get_context(request, |
|
689 | 693 |
extra_context)) |
690 | 694 |
|
691 | 695 |
if not request.user.is_authenticated(): |
692 | 696 |
path = quote(request.get_full_path()) |
693 | 697 |
url = request.build_absolute_uri(reverse('index')) |
694 | 698 |
return HttpResponseRedirect(url + '?next=' + path) |
699 |
|
|
700 |
# clean up expired email changes |
|
701 |
if request.user.email_change_is_pending(): |
|
702 |
change = request.user.emailchanges.get() |
|
703 |
if change.activation_key_expired(): |
|
704 |
change.delete() |
|
705 |
transaction.commit() |
|
706 |
return HttpResponseRedirect(reverse('email_change')) |
|
707 |
|
|
695 | 708 |
form = EmailChangeForm(request.POST or None) |
696 | 709 |
if request.method == 'POST' and form.is_valid(): |
697 | 710 |
try: |
711 |
# delete pending email changes |
|
712 |
request.user.emailchanges.all().delete() |
|
698 | 713 |
ec = form.save(email_template_name, request) |
699 | 714 |
except SendMailError, e: |
700 | 715 |
msg = e |
701 | 716 |
messages.error(request, msg) |
702 | 717 |
transaction.rollback() |
703 |
except IntegrityError, e: |
|
704 |
msg = _(astakos_messages.PENDING_EMAIL_CHANGE_REQUEST) |
|
705 |
messages.error(request, msg) |
|
718 |
return HttpResponseRedirect(reverse('edit_profile')) |
|
706 | 719 |
else: |
707 | 720 |
msg = _(astakos_messages.EMAIL_CHANGE_REGISTERED) |
708 | 721 |
messages.success(request, msg) |
709 | 722 |
transaction.commit() |
723 |
return HttpResponseRedirect(reverse('edit_profile')) |
|
724 |
|
|
725 |
if request.user.email_change_is_pending(): |
|
726 |
messages.warning(request, astakos_messages.PENDING_EMAIL_CHANGE_REQUEST) |
|
727 |
|
|
710 | 728 |
return render_response( |
711 | 729 |
form_template_name, |
712 | 730 |
form=form, |
Also available in: Unified diff