mirror of
https://github.com/nikdoof/test-auth.git
synced 2025-12-14 06:42:16 +00:00
Finish moving the eve_api functions out to the eve_api app
This commit is contained in:
@@ -6,16 +6,11 @@ from sso import views
|
||||
urlpatterns = patterns('',
|
||||
('^$', views.profile),
|
||||
(r'^profile/$', views.profile),
|
||||
(r'^profile/add/eveapi', views.eveapi_add),
|
||||
(r'^profile/del/eveapi/$', views.eveapi_del),
|
||||
(r'^profile/del/eveapi/(?P<userid>\d+)/$', views.eveapi_del),
|
||||
(r'^profile/add/service', views.service_add),
|
||||
(r'^profile/del/service/$', views.service_del),
|
||||
(r'^profile/del/service/(?P<serviceid>\d+)/$', views.service_del),
|
||||
(r'^profile/reset/service/(?P<serviceid>\d+)/$', views.service_reset),
|
||||
(r'^profile/reset/service/(?P<serviceid>\d+)/(?P<accept>\d+)$', views.service_reset),
|
||||
(r'^profile/refresh/eveapi/(?P<userid>\d+)/$', views.eveapi_refresh),
|
||||
(r'^profile/log/eveapi/(?P<userid>\d+)/$', views.eveapi_log),
|
||||
(r'^profile/characters$', views.characters),
|
||||
(r'^profile/characters/(?P<charid>.*)/$', views.characters),
|
||||
(r'^profile/apipassword/', views.set_apipasswd),
|
||||
|
||||
83
sso/views.py
83
sso/views.py
@@ -22,7 +22,7 @@ from eve_api.tasks import import_apikey, import_apikey_result
|
||||
from eve_proxy.models import ApiAccessLog
|
||||
|
||||
from sso.models import ServiceAccount, Service, SSOUser, ExistingUser, ServiceError
|
||||
from sso.forms import EveAPIForm, UserServiceAccountForm, ServiceAccountResetForm, UserLookupForm, APIPasswordForm
|
||||
from sso.forms import UserServiceAccountForm, ServiceAccountResetForm, UserLookupForm, APIPasswordForm
|
||||
|
||||
@login_required
|
||||
def profile(request):
|
||||
@@ -51,87 +51,6 @@ def characters(request, charid=0):
|
||||
return render_to_response('sso/characterlist.html', locals(), context_instance=RequestContext(request))
|
||||
|
||||
|
||||
@login_required
|
||||
def eveapi_add(request):
|
||||
""" Add a EVE API key to a user's account """
|
||||
|
||||
if request.method == 'POST':
|
||||
form = EveAPIForm(request.POST)
|
||||
if form.is_valid():
|
||||
|
||||
task = import_apikey.delay(api_key=form.cleaned_data['api_key'], api_userid=form.cleaned_data['user_id'], user=request.user.id)
|
||||
try:
|
||||
task.wait(5)
|
||||
except celery.exceptions.TimeoutError:
|
||||
messages.add_message(request, messages.INFO, "The addition of your API key is still processing, please check back in a minute or so")
|
||||
pass
|
||||
else:
|
||||
messages.add_message(request, messages.INFO, "EVE API successfully added.")
|
||||
|
||||
return redirect('sso.views.profile')
|
||||
else:
|
||||
form = EveAPIForm() # An unbound form
|
||||
|
||||
return render_to_response('sso/eveapi.html', locals(), context_instance=RequestContext(request))
|
||||
|
||||
|
||||
@login_required
|
||||
def eveapi_del(request, userid=0):
|
||||
""" Delete a EVE API key from a account """
|
||||
|
||||
if userid > 0:
|
||||
try:
|
||||
acc = EVEAccount.objects.get(id=userid)
|
||||
except EVEAccount.DoesNotExist:
|
||||
return redirect('sso.views.profile')
|
||||
if acc.user == request.user:
|
||||
acc.delete()
|
||||
messages.add_message(request, messages.INFO, "EVE API key successfully deleted.")
|
||||
|
||||
return redirect('sso.views.profile')
|
||||
|
||||
|
||||
@login_required
|
||||
def eveapi_refresh(request, userid=0):
|
||||
""" Force refresh a EVE API key """
|
||||
|
||||
if userid > 0:
|
||||
try:
|
||||
acc = EVEAccount.objects.get(id=userid)
|
||||
except EVEAccount.DoesNotExist:
|
||||
pass
|
||||
else:
|
||||
if acc.user == request.user or request.user.is_superuser:
|
||||
task = import_apikey_result.delay(api_key=acc.api_key, api_userid=acc.api_user_id, force_cache=True, user=request.user.id)
|
||||
|
||||
if request.is_ajax():
|
||||
try:
|
||||
acc = task.wait(30)
|
||||
except celery.exceptions.TimeoutError:
|
||||
acc = EVEAccount.objects.get(id=userid)
|
||||
return HttpResponse(serializers.serialize('json', [acc]), mimetype='application/javascript')
|
||||
else:
|
||||
messages.add_message(request, messages.INFO, "Key %s has been queued to be refreshed from the API" % acc.api_user_id)
|
||||
|
||||
return redirect('sso.views.profile')
|
||||
|
||||
|
||||
@login_required
|
||||
def eveapi_log(request, userid=0):
|
||||
""" Provides a list of access logs for a specific EVE API key """
|
||||
if userid > 0:
|
||||
try:
|
||||
acc = EVEAccount.objects.get(id=userid)
|
||||
except:
|
||||
pass
|
||||
|
||||
if acc and (acc.user == request.user or request.user.is_staff):
|
||||
logs = ApiAccessLog.objects.filter(userid=userid).order_by('-time_access')[:50]
|
||||
return render_to_response('sso/eveapi_log.html', locals(), context_instance=RequestContext(request))
|
||||
|
||||
return redirect('sso.views.profile')
|
||||
|
||||
|
||||
@login_required
|
||||
def service_add(request):
|
||||
""" Add a service to a user's account """
|
||||
|
||||
Reference in New Issue
Block a user