diff --git a/sso/views.py b/sso/views.py index f141614..ff6a9ba 100644 --- a/sso/views.py +++ b/sso/views.py @@ -3,8 +3,8 @@ import random import re import unicodedata -from django.http import HttpResponse, HttpResponseRedirect, Http404 -from django.shortcuts import render_to_response +from django.http import HttpResponse +from django.shortcuts import render_to_response, get_object_or_404, redirect from django.core.urlresolvers import reverse from django.contrib import messages from django.contrib.auth.models import User @@ -24,7 +24,7 @@ import settings def index(request): if request.user: - return HttpResponseRedirect(reverse('sso.views.profile')) + return redirect('sso.views.profile') else: return render_to_response('sso/index.html', context_instance=RequestContext(request)) @@ -43,10 +43,7 @@ def profile(request): @login_required def characters(request, charid=0): if charid: - try: - character = EVEPlayerCharacter.objects.select_related('corporation', 'corporation__aliance').get(id=charid) - except EVEPlayerCharacter.DoesNotExist: - raise Http404('Character does not exist') + character = get_object_or_404(EVEPlayerCharacter.objects.select_related('corporation', 'corporation__aliance'), id=charid) return render_to_response('sso/character.html', locals(), context_instance=RequestContext(request)) characters = EVEPlayerCharacter.objects.select_related('corporation', 'corporation__alliance').filter(eveaccount__user=request.user).only('id', 'name', 'corporation__name', 'corporation__alliance__name') @@ -60,11 +57,11 @@ def eveapi_add(request): try: acc = import_eve_account(form.cleaned_data['api_key'], form.cleaned_data['user_id']) except APIAuthException: - return HttpResponseRedirect(reverse('sso.views.profile')) + return redirect('sso.views.profile') if not acc: messages.add_message(request, messages.ERROR, "A error was encountered while adding your API key, try again later. If the issue persists, contact a Admin.") - return HttpResponseRedirect(reverse('sso.views.profile')) + return redirect('sso.views.profile') acc.user = request.user acc.description = form.cleaned_data['description'] @@ -75,7 +72,7 @@ def eveapi_add(request): request.user.get_profile().update_access() - return HttpResponseRedirect(reverse('sso.views.profile')) # Redirect after POST + return redirect('sso.views.profile') else: form = EveAPIForm() # An unbound form @@ -88,7 +85,7 @@ def eveapi_del(request, userid=0): try: acc = EVEAccount.objects.get(id=userid) except EVEAccount.DoesNotExist: - return HttpResponseRedirect(reverse('sso.views.profile')) + return redirect('sso.views.profile') if acc.user == request.user: user = acc.user @@ -96,7 +93,7 @@ def eveapi_del(request, userid=0): user.get_profile().update_access() messages.add_message(request, messages.INFO, "EVE API key successfully deleted.") - return HttpResponseRedirect(reverse('sso.views.profile')) + return redirect('sso.views.profile') @login_required def eveapi_refresh(request, userid=0): @@ -117,7 +114,7 @@ def eveapi_refresh(request, userid=0): else: messages.add_message(request, messages.INFO,"Key %s has been refreshed from the EVE API." % acc.api_user_id) - return HttpResponseRedirect(reverse('sso.views.profile')) + return redirect('sso.views.profile') @login_required def eveapi_log(request, userid=0): @@ -131,7 +128,7 @@ def eveapi_log(request, userid=0): 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 HttpResponseRedirect(reverse('sso.views.profile')) + return redirect('sso.views.profile') @login_required def service_add(request): @@ -183,10 +180,10 @@ def service_del(request, serviceid=0): try: acc = ServiceAccount.objects.get(id=serviceid) except ServiceAccount.DoesNotExist: - return HttpResponseRedirect(reverse('sso.views.profile')) + return redirect('sso.views.profile') if not acc.user == request.user: - return HttpResponseRedirect(reverse('sso.views.profile')) + return redirect('sso.views.profile') if request.method == 'POST': if 'confirm-delete' in request.POST: @@ -199,7 +196,7 @@ def service_del(request, serviceid=0): else: return render_to_response('sso/serviceaccount/deleteconfirm.html', locals(), context_instance=RequestContext(request)) - return HttpResponseRedirect(reverse('sso.views.profile')) + return redirect('sso.views.profile') @login_required def service_reset(request, serviceid=0): @@ -207,10 +204,10 @@ def service_reset(request, serviceid=0): try: acc = ServiceAccount.objects.get(id=serviceid) except ServiceAccount.DoesNotExist: - return HttpResponseRedirect(reverse('sso.views.profile')) + return redirect('sso.views.profile') if not acc.active: - return HttpResponseRedirect(reverse('sso.views.profile')) + return redirect('sso.views.profile') if acc.user == request.user: if not request.method == 'POST': @@ -231,7 +228,7 @@ def service_reset(request, serviceid=0): else: return render_to_response('sso/serviceaccount/reset.html', locals(), context_instance=RequestContext(request)) - return HttpResponseRedirect(reverse('sso.views.profile')) + return redirect('sso.views.profile') @login_required def reddit_add(request): @@ -249,7 +246,7 @@ def reddit_add(request): acc.save() messages.add_message(request, messages.INFO, "Reddit account %s successfully added." % acc.username) - return HttpResponseRedirect(reverse('sso.views.profile')) # Redirect after POST + return redirect('sso.views.profile') # Redirect after POST else: defaults = { 'username': request.user.username, } form = RedditAccountForm(defaults) # An unbound form @@ -262,13 +259,13 @@ def reddit_del(request, redditid=0): try: acc = RedditAccount.objects.get(id=redditid) except RedditAccount.DoesNotExist: - return HttpResponseRedirect(reverse('sso.views.profile')) + return redirect('sso.views.profile') if acc.user == request.user: acc.delete() messages.add_message(request, messages.INFO, "Reddit account successfully deleted.") - return HttpResponseRedirect(reverse('sso.views.profile')) + return redirect('sso.views.profile') @login_required def user_view(request, username=None): @@ -276,9 +273,9 @@ def user_view(request, username=None): try: user = User.objects.get(username=username) except User.DoesNotExist: - return HttpResponseRedirect(reverse('sso.views.user_lookup')) + return redirect('sso.views.user_lookup') else: - return HttpResponseRedirect(reverse('sso.views.user_lookup')) + return redirect('sso.views.user_lookup') profile = user.get_profile() is_admin = request.user.is_staff @@ -312,15 +309,15 @@ def user_lookup(request): users = User.objects.filter(email__icontains=form.cleaned_data['username']).only('username') else: messages.add_message(request, messages.ERROR, "Error parsing form, Type: %s, Value: %s" % (form.cleaned_data['type'], form.cleaned_data['username'])) - return HttpResponseRedirect(reverse('sso.views.user_lookup')) + return redirect('sso.views.user_lookup') if users and len(users) == 1: - return HttpResponseRedirect(reverse(user_view, args=[users[0].username])) + return redirect(user_view, args=[users[0].username]) elif users and len(users) > 1: return render_to_response('sso/lookup/lookuplist.html', locals(), context_instance=RequestContext(request)) else: messages.add_message(request, messages.INFO, "No results found") - return HttpResponseRedirect(reverse('sso.views.user_lookup')) + return redirect('sso.views.user_lookup') return render_to_response('sso/lookup/userlookup.html', locals(), context_instance=RequestContext(request)) @@ -334,7 +331,7 @@ def set_apipasswd(request): profile.api_service_password = hashlib.sha1(form.cleaned_data['password']).hexdigest() profile.save() messages.add_message(request, messages.INFO, "Your API Services password has been set.") - return HttpResponseRedirect(reverse('sso.views.profile')) # Redirect after POST + return redirect('sso.views.profile') # Redirect after POST else: form = APIPasswordForm() # An unbound form