url(r'^group/(?P<group_id>\d+)/(?P<user_id>\d+)/approve/?$', 'approve_member', {}, name='approve_member'),
url(r'^group/(?P<group_id>\d+)/(?P<user_id>\d+)/disapprove/?$', 'disapprove_member', {}, name='disapprove_member'),
url(r'^group/create/?$', 'group_create_list', {}, name='group_create_list'),
+ url(r'^remove_auth_provider/(?P<pk>\d+)?$', 'remove_auth_provider', {},
- name='remove_auth_provider')
++ name='remove_auth_provider'),
+ url(r'^group/how_it_works/?$', 'how_it_works', {}, name='how_it_works')
)
timeline_body=timeline_body)
return data
+ # TODO: action only on POST and user should confirm the removal
+ @require_http_methods(["GET", "POST"])
+ @login_required
+ @signed_terms_required
+ def remove_auth_provider(request, pk):
+ try:
+ provider = request.user.auth_providers.get(pk=pk)
+ except AstakosUserAuthProvider.DoesNotExist:
+ raise Http404
+
+ if provider.can_remove():
+ provider.delete()
+ return HttpResponseRedirect(reverse('edit_profile'))
+ else:
+ raise PermissionDenied
+def how_it_works(request):
+ return render_response(
+ template='im/how_it_works.html',
+ context_instance=get_context(request),)