Add mass updating for corps/alliances

This commit is contained in:
2011-12-10 18:48:43 +00:00
parent 62a8fe0e53
commit ec4f9da004
5 changed files with 38 additions and 2 deletions

View File

@@ -16,6 +16,12 @@
</ul>
</p>
{% if request.user.is_superuser %}
<p>
<a href="{% url eveapi-alliance-refresh alliance.id %}" title="Forces a access update for all users in this alliance" class="btn error">Mass Update Access</a>
<p>
{% endif %}
<h2>Corporations</h2>
<table class="zebra-striped" id="corporations">

View File

@@ -23,6 +23,12 @@
</ul>
</p>
{% if request.user.is_superuser %}
<p>
<a href="{% url eveapi-corporation-refresh corporation.id %}" title="Forces a access update for all users in this corporation" class="btn error">Mass Update Access</a>
<p>
{% endif %}
{% if view_members %}
{% autopaginate members 25 %}
<table class="zebra-striped" id="members">

View File

@@ -17,5 +17,17 @@ urlpatterns = patterns('',
url(r'^corporation/(?P<corporationid>\d+)/$', views.eveapi_corporation, name="eveapi-corporation"),
url(r'^corporation/(?P<corporationid>\d+)/export/$', views.eveapi_corporation_members_csv, name="eveapi-corporation-members-csv"),
url(r'^alliance/(?P<allianceid>\d+)/$', views.eveapi_alliance, name="eveapi-alliance"),
)
try:
import sso.views as ssoviews
except ImportError:
pass
else:
urlpatterns += patterns('',
url(r'^corporation/(?P<corpid>\d+)/refresh/$', ssoviews.refresh_access, name='eveapi-corporation-refresh'),
url(r'^alliance/(?P<allianceid>\d+)/refresh/$', ssoviews.refresh_access, name='eveapi-alliance-refresh'),
)

View File

@@ -15,7 +15,7 @@ urlpatterns = patterns('',
(r'^profile/reset/service/(?P<serviceid>\d+)/(?P<accept>\d+)$', views.service_reset),
(r'^profile/apipassword/', views.set_apipasswd),
(r'^profile/refresh/$', views.refresh_access),
(r'^profile/refresh/(?P<userid>\d+)/$', views.refresh_access),
url(r'^profile/refresh/(?P<userid>\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),

View File

@@ -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.")