diff --git a/sso/urls.py b/sso/urls.py
index c978f21..3805aea 100644
--- a/sso/urls.py
+++ b/sso/urls.py
@@ -16,6 +16,7 @@ urlpatterns = patterns('',
(r'^profile/add/reddit', views.reddit_add),
(r'^profile/del/reddit/$', views.reddit_del),
(r'^profile/del/reddit/(?P\d+)/$', views.reddit_del),
+ (r'^profile/refresh/eveapi/(?P\d+)/$', views.eveapi_refresh),
(r'^profile/characters$', views.characters),
(r'^profile/characters/(?P.*)/$', views.characters),
(r'^users/(?P.*)/$', views.user_view),
diff --git a/sso/views.py b/sso/views.py
index 9eef356..13cf89b 100644
--- a/sso/views.py
+++ b/sso/views.py
@@ -115,6 +115,19 @@ def eveapi_del(request, userid=0):
return HttpResponseRedirect(reverse('sso.views.profile'))
+def eveapi_refresh(request, userid=0):
+ if userid > 0 :
+ try:
+ acc = EVEAccount.objects.get(id=userid)
+ except EVEAccount.DoesNotExist:
+ pass
+ else:
+ import_eve_account(acc.api_key, acc.api_user_id)
+ request.user.get_profile().update_access()
+ request.user.message_set.create(message="Key %s has been refreshed from the EVE API." % acc.api_user_id)
+
+ return HttpResponseRedirect(reverse('sso.views.profile'))
+
@login_required
def service_add(request):
clsform = UserServiceAccountForm(request.user)
diff --git a/templates/sso/profile.html b/templates/sso/profile.html
index 0f39cbb..ad494c1 100644
--- a/templates/sso/profile.html
+++ b/templates/sso/profile.html
@@ -64,7 +64,8 @@ setup.
{{ acc.api_key }} |
{{ acc.description }} |
{{ acc.api_status_description }} |
- Delete |
+ Refresh,
+ Delete |
{% endfor %}