From d66f3b4a9f21f1f559d1d1387f870c1dfc6788b7 Mon Sep 17 00:00:00 2001 From: Andrew Williams Date: Fri, 29 Oct 2010 11:03:08 +0100 Subject: [PATCH] Allow eveapi_refresh to be called via XHR and return a JSON representation of the key --- sso/views.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/sso/views.py b/sso/views.py index 70ca937..65df491 100644 --- a/sso/views.py +++ b/sso/views.py @@ -3,12 +3,13 @@ import random import re import unicodedata -from django.http import HttpResponseRedirect, Http404 +from django.http import HttpResponse, HttpResponseRedirect, Http404 from django.shortcuts import render_to_response from django.core.urlresolvers import reverse from django.contrib.auth.models import User from django.contrib.auth.decorators import login_required from django.template import RequestContext +from django.core import serializers from eve_api.api_exceptions import APIAuthException, APINoUserIDException from eve_api.api_puller.accounts import import_eve_account @@ -96,6 +97,7 @@ def eveapi_del(request, userid=0): @login_required def eveapi_refresh(request, userid=0): + if userid > 0 : try: acc = EVEAccount.objects.get(id=userid) @@ -104,7 +106,13 @@ def eveapi_refresh(request, userid=0): else: import_eve_account(acc.api_key, acc.api_user_id, force_cache=True) 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) + + print request.GET + if request.is_ajax(): + acc = EVEAccount.objects.get(id=userid) + return HttpResponse(serializers.serialize('json', [acc]), mimetype='application/javascript') + else: + 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'))