diff --git a/sso/urls.py b/sso/urls.py index edf0500..b191f79 100644 --- a/sso/urls.py +++ b/sso/urls.py @@ -12,6 +12,7 @@ urlpatterns = patterns('', (r'^profile/reset/service/(?P\d+)/$', views.service_reset), (r'^profile/reset/service/(?P\d+)/(?P\d+)$', views.service_reset), (r'^profile/apipassword/', views.set_apipasswd), + (r'^profile/refresh/', views.refresh_access), (r'^users/(?P.*)/$', views.user_view), (r'^users/$', views.user_lookup), ) diff --git a/sso/views.py b/sso/views.py index fe75905..49afe8e 100644 --- a/sso/views.py +++ b/sso/views.py @@ -17,7 +17,7 @@ from django.conf import settings from utils import installed from eve_api.models import EVEAccount, EVEPlayerCharacter -from eve_api.tasks import import_apikey, import_apikey_result +from eve_api.tasks import import_apikey, import_apikey_result, update_user_access from eve_proxy.models import ApiAccessLog @@ -229,3 +229,13 @@ def set_apipasswd(request): form = APIPasswordForm() # An unbound form return render_to_response('sso/apipassword.html', locals(), context_instance=RequestContext(request)) + + +@login_required +def refresh_access(request): + """ Refreshes the user's access """ + + if request.user: + update_user_access(request.user) + messages.add_message(request, messages.INFO, "User access updated.") + return redirect('sso.views.profile') diff --git a/templates/sso/profile.html b/templates/sso/profile.html index 35d5624..3cd5ca4 100644 --- a/templates/sso/profile.html +++ b/templates/sso/profile.html @@ -44,6 +44,8 @@ function refresh_apikey(key) {

Username: {{ user.username }}
Email: {{ user.email }}
+Groups: {{ user.groups.all|join:", " }}
+Update Access

External API Auth Services