rogueojiiofwales/views.py
Eryn Wells e3e8295e47 Fix test cookie logic
set_test_cookie has to be in a separate request/response cycle than test_ and
delete_test_cookie.

Add some comments about what's going on.
2012-08-17 20:49:57 -07:00

33 lines
1.1 KiB
Python

from django.contrib.auth.decorators import login_required
from django.shortcuts import redirect, render_to_response
def index(request):
'''Index page. Everyone starts here. If the user is logged in (that is, they
have a session id) return the follower_graph view. Otherwise, render the
index page.'''
if request.method == 'POST':
return redirect('login')
if 'sessionid' in request.session:
return follower_graph(request)
# Set a test cookie. When the user clicks the 'Login' button, test and make
# sure this cookie was set properly.
request.session.set_test_cookie()
return render_to_response('login.html')
def login(request):
'''Do a quick check to make sure cookies are enabled. If so, redirect to
GitHub so the user can login.'''
# Make sure the user can accept cookies.
if request.session.test_cookie_worked():
request.session.delete_test_cookie()
return redirect('/login/github/')
else:
# TODO: Render an error -- fix your damn cookies!
return render_to_response('login.html')
@login_required
def follower_graph(request):
return 'Hello!'