Revision f432088a snf-astakos-app/astakos/im/views.py

b/snf-astakos-app/astakos/im/views.py
65 65

  
66 66
from astakos.im.models import (AstakosUser, ApprovalTerms, AstakosGroup,
67 67
                               EmailChange, GroupKind, Membership,
68
                               RESOURCE_SEPARATOR)
68
                               RESOURCE_SEPARATOR, AstakosUserAuthProvider)
69 69
from astakos.im.util import get_context, prepare_response, get_query, restrict_next
70 70
from astakos.im.forms import (LoginForm, InvitationForm, ProfileForm,
71 71
                              FeedbackForm, SignApprovalTermsForm,
......
1406 1406
                           timeline_body=timeline_body)
1407 1407
    return data
1408 1408

  
1409
# TODO: action only on POST and user should confirm the removal
1409 1410
@require_http_methods(["GET", "POST"])
1410 1411
@login_required
1411 1412
@signed_terms_required
1412 1413
def remove_auth_provider(request, pk):
1413
    provider = request.user.auth_providers.get(pk=pk)
1414
    try:
1415
        provider = request.user.auth_providers.get(pk=pk)
1416
    except AstakosUserAuthProvider.DoesNotExist:
1417
        raise Http404
1418

  
1414 1419
    if provider.can_remove():
1415 1420
        provider.delete()
1416 1421
        return HttpResponseRedirect(reverse('edit_profile'))
1417 1422
    else:
1418
        messages.error(_('Authentication method cannot be removed'))
1419
        return HttpResponseRedirect(reverse('edit_profile'))
1423
        raise PermissionDenied
1424

  

Also available in: Unified diff