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