From ec4f9da00463b26ce3e60af2d87369d801971029 Mon Sep 17 00:00:00 2001 From: Andrew Williams Date: Sat, 10 Dec 2011 18:48:43 +0000 Subject: [PATCH] Add mass updating for corps/alliances --- app/eve_api/templates/eve_api/alliance.html | 6 ++++++ app/eve_api/templates/eve_api/corporation.html | 6 ++++++ app/eve_api/urls.py | 12 ++++++++++++ app/sso/urls.py | 2 +- app/sso/views.py | 14 +++++++++++++- 5 files changed, 38 insertions(+), 2 deletions(-) diff --git a/app/eve_api/templates/eve_api/alliance.html b/app/eve_api/templates/eve_api/alliance.html index 319ad1c..47041bf 100644 --- a/app/eve_api/templates/eve_api/alliance.html +++ b/app/eve_api/templates/eve_api/alliance.html @@ -16,6 +16,12 @@

+{% if request.user.is_superuser %} +

+ Mass Update Access +

+{% endif %} +

Corporations

diff --git a/app/eve_api/templates/eve_api/corporation.html b/app/eve_api/templates/eve_api/corporation.html index 1fed768..8594264 100644 --- a/app/eve_api/templates/eve_api/corporation.html +++ b/app/eve_api/templates/eve_api/corporation.html @@ -23,6 +23,12 @@

+{% if request.user.is_superuser %} +

+ Mass Update Access +

+{% endif %} + {% if view_members %} {% autopaginate members 25 %}

diff --git a/app/eve_api/urls.py b/app/eve_api/urls.py index 2f4be4c..6d014a1 100644 --- a/app/eve_api/urls.py +++ b/app/eve_api/urls.py @@ -17,5 +17,17 @@ urlpatterns = patterns('', url(r'^corporation/(?P\d+)/$', views.eveapi_corporation, name="eveapi-corporation"), url(r'^corporation/(?P\d+)/export/$', views.eveapi_corporation_members_csv, name="eveapi-corporation-members-csv"), + url(r'^alliance/(?P\d+)/$', views.eveapi_alliance, name="eveapi-alliance"), ) + +try: + import sso.views as ssoviews +except ImportError: + pass +else: + urlpatterns += patterns('', + url(r'^corporation/(?P\d+)/refresh/$', ssoviews.refresh_access, name='eveapi-corporation-refresh'), + url(r'^alliance/(?P\d+)/refresh/$', ssoviews.refresh_access, name='eveapi-alliance-refresh'), + ) + diff --git a/app/sso/urls.py b/app/sso/urls.py index 69e8144..ca131ef 100644 --- a/app/sso/urls.py +++ b/app/sso/urls.py @@ -15,7 +15,7 @@ urlpatterns = patterns('', (r'^profile/reset/service/(?P\d+)/(?P\d+)$', views.service_reset), (r'^profile/apipassword/', views.set_apipasswd), (r'^profile/refresh/$', views.refresh_access), - (r'^profile/refresh/(?P\d+)/$', views.refresh_access), + url(r'^profile/refresh/(?P\d+)/$', views.refresh_access, name='sso-refreshaccess'), (r'^profile/change/password/$', password_change), (r'^profile/change/email/$', views.email_change), (r'^profile/change/primary/$', views.primarychar_change), diff --git a/app/sso/views.py b/app/sso/views.py index 5f77f4b..07e6ab5 100644 --- a/app/sso/views.py +++ b/app/sso/views.py @@ -245,7 +245,7 @@ def set_apipasswd(request): @login_required -def refresh_access(request, userid=0): +def refresh_access(request, userid=0, corpid=0, allianceid=0): """ Refreshes the user's access """ if userid > 0 and request.user.has_perm('sso.can_refresh_users'): @@ -253,6 +253,18 @@ def refresh_access(request, userid=0): update_user_access(u.id) messages.add_message(request, messages.INFO, "%s's access has been updated." % u.username) return redirect(user_view, username=u.username) + if corpid > 0 and request.user.has_perm('sso.can_refresh_users'): + users = User.objects.filter(eveaccount__characters__corporation__id=corpid).distinct() + for u in users: + update_user_access.delay(u.id) + messages.add_message(request, messages.INFO, "%s accounts queued for update." % users.count()) + return redirect('eveapi-corporation', corporationid=corpid) + if allianceid > 0 and request.user.has_perm('sso.can_refresh_users'): + users = User.objects.filter(eveaccount__characters__corporation__alliance__id=allianceid).distinct() + for u in users: + update_user_access.delay(u.id) + messages.add_message(request, messages.INFO, "%s accounts queued for update." % users.count()) + return redirect('eveapi-alliance', allianceid=allianceid) else: update_user_access(request.user.id) messages.add_message(request, messages.INFO, "User access updated.")