From 77c5efe5eede4466b8ec85fe1f8114aa1a671366 Mon Sep 17 00:00:00 2001 From: Andrew Williams Date: Fri, 2 Sep 2011 07:49:36 +0100 Subject: [PATCH] Added gargoyle switch to enable key deletion --- app/conf/common.py | 5 +++++ app/eve_api/urls.py | 2 +- app/eve_api/views.py | 15 ++++++++------- app/sso/templates/sso/profile.html | 3 ++- 4 files changed, 16 insertions(+), 9 deletions(-) diff --git a/app/conf/common.py b/app/conf/common.py index 88d809b..3685a3b 100644 --- a/app/conf/common.py +++ b/app/conf/common.py @@ -133,6 +133,11 @@ GARGOYLE_SWITCH_DEFAULTS = { 'label': 'EVE Test API Endpoints', 'description': 'Use the Test API endpoints instead of Live.', }, + 'eve-keydelete': { + 'is_active': False, + 'label': 'Allow EVE API Key Delete', + 'description': 'Allows API keys to be deleted by th end user.', + }, 'api-disableprocessing': { 'is_active': False, 'label': 'Disable API Backend Processing', diff --git a/app/eve_api/urls.py b/app/eve_api/urls.py index ffeca20..ccab5ca 100644 --- a/app/eve_api/urls.py +++ b/app/eve_api/urls.py @@ -6,7 +6,7 @@ from eve_api import views urlpatterns = patterns('', url(r'^eveapi/add/', views.eveapi_add, name="eveapi-add"), url(r'^eveapi/update/(?P\d+)/$', views.eveapi_update, name="eveapi-update"), - #url(r'^eveapi/delete/(?P\d+)/$', views.eveapi_del, name="eveapi-delete"), + url(r'^eveapi/delete/(?P\d+)/$', views.eveapi_del, name="eveapi-delete"), url(r'^eveapi/refresh/(?P\d+)/$', views.eveapi_refresh, name="eveapi-refresh"), url(r'^eveapi/log/(?P\d+)/$', views.eveapi_log, name="eveapi-log"), diff --git a/app/eve_api/views.py b/app/eve_api/views.py index 2f2678f..2d5bdbf 100644 --- a/app/eve_api/views.py +++ b/app/eve_api/views.py @@ -95,13 +95,14 @@ def eveapi_update(request, userid, post_save_redirect='/', template='eve_api/upd def eveapi_del(request, userid, post_save_redirect='/'): """ Delete a EVE API key from a account """ - try: - acc = EVEAccount.objects.get(pk=userid) - except EVEAccount.DoesNotExist: - return redirect(post_save_redirect) - if acc.user == request.user: - acc.delete() - messages.success(request, "EVE API key successfully deleted.", fail_silently=True) + if gargoyle.is_active('eve-keydelete'): + try: + acc = EVEAccount.objects.get(pk=userid) + except EVEAccount.DoesNotExist: + return redirect(post_save_redirect) + if acc.user == request.user: + acc.delete() + messages.success(request, "EVE API key successfully deleted.", fail_silently=True) return redirect(post_save_redirect) diff --git a/app/sso/templates/sso/profile.html b/app/sso/templates/sso/profile.html index 04b639d..9d48865 100644 --- a/app/sso/templates/sso/profile.html +++ b/app/sso/templates/sso/profile.html @@ -114,7 +114,8 @@ setup.

{{ acc.api_last_updated|naturaltimediff }} {% ifswitch api-disableprocessing %}{% else %}RefreshUpdate Key, {% endifswitch %} - Logs + Logs{% ifswitch eve-keydelete %},  + Delete{% endifswitch %} {% endfor %}