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.
This commit is contained in:
		
							parent
							
								
									b25eb12d7e
								
							
						
					
					
						commit
						e3e8295e47
					
				
					 1 changed files with 5 additions and 1 deletions
				
			
		
							
								
								
									
										6
									
								
								views.py
									
										
									
									
									
								
							
							
						
						
									
										6
									
								
								views.py
									
										
									
									
									
								
							|  | @ -7,20 +7,24 @@ def index(request): | |||
|     have a session id) return the follower_graph view. Otherwise, render the | ||||
|     index page.''' | ||||
|     if request.method == 'POST': | ||||
|         request.session.set_test_cookie() | ||||
|         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') | ||||
| 
 | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue