From f4218775ae9250e89c199252f90e0c6a12fcfd1e Mon Sep 17 00:00:00 2001 From: Eryn Wells Date: Sat, 18 Aug 2012 09:17:04 -0700 Subject: [PATCH 01/23] Move login template to index.html --- templates/{login.html => index.html} | 0 views.py | 4 ++-- 2 files changed, 2 insertions(+), 2 deletions(-) rename templates/{login.html => index.html} (100%) diff --git a/templates/login.html b/templates/index.html similarity index 100% rename from templates/login.html rename to templates/index.html diff --git a/views.py b/views.py index a536f83..ea5be8c 100644 --- a/views.py +++ b/views.py @@ -12,7 +12,7 @@ def index(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', RequestContext(request)) + return render_to_response('index.html', RequestContext(request)) def login(request): @@ -24,7 +24,7 @@ def login(request): return redirect('/login/github/') else: # Render an error -- fix your damn cookies! - return render_to_response('login.html', + return render_to_response('index.html', { 'error': "Fix your damn cookies!" }) From 2d81fb01436fcc5366e4d431460dfe93e3168b80 Mon Sep 17 00:00:00 2001 From: Eryn Wells Date: Sat, 18 Aug 2012 09:27:56 -0700 Subject: [PATCH 02/23] Check if user is authenticated and show follower_graph --- views.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/views.py b/views.py index ea5be8c..9ae2254 100644 --- a/views.py +++ b/views.py @@ -1,4 +1,5 @@ from django.contrib.auth.decorators import login_required +from django.http import HttpResponse from django.shortcuts import redirect, render_to_response from django.template import RequestContext @@ -7,7 +8,7 @@ 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.session.get('sessionid', False): + if request.user.is_authenticated(): return follower_graph(request) # Set a test cookie. When the user clicks the 'Login' button, test and make # sure this cookie was set properly. @@ -30,4 +31,4 @@ def login(request): @login_required def follower_graph(request): - return 'Hello!' + return render_to_response('index.html', RequestContext(request)) From 41718d128a26054edc086dcc9a1b9a3039cdeff4 Mon Sep 17 00:00:00 2001 From: Eryn Wells Date: Sat, 18 Aug 2012 09:47:09 -0700 Subject: [PATCH 03/23] Navbar --- templates/navbar.html | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 templates/navbar.html diff --git a/templates/navbar.html b/templates/navbar.html new file mode 100644 index 0000000..db95ce4 --- /dev/null +++ b/templates/navbar.html @@ -0,0 +1,14 @@ +{# vim: set ft=htmldjango #} + From 1fb1bec70e814e94277e244c2fdc242262f3b19b Mon Sep 17 00:00:00 2001 From: Eryn Wells Date: Sat, 18 Aug 2012 09:47:22 -0700 Subject: [PATCH 04/23] Graph base template --- templates/graph_base.html | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 templates/graph_base.html diff --git a/templates/graph_base.html b/templates/graph_base.html new file mode 100644 index 0000000..3ff2730 --- /dev/null +++ b/templates/graph_base.html @@ -0,0 +1,19 @@ +{# vim: set ft=htmldjango #} +{% extends "base.html" %} + +{% block head_css %} + +{% endblock %} + +{% block container %} +{% include "navbar.html" %} +
+ {% block graph %}

PUT A GRAPH HERE

{% endblock %} +
+{% endblock container %} From 127ae209b12ab93028c2f49bd82875e294d5a182 Mon Sep 17 00:00:00 2001 From: Eryn Wells Date: Sat, 18 Aug 2012 09:49:08 -0700 Subject: [PATCH 05/23] Render the graph template when rendering followers view --- views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/views.py b/views.py index 9ae2254..89ccfc7 100644 --- a/views.py +++ b/views.py @@ -31,4 +31,4 @@ def login(request): @login_required def follower_graph(request): - return render_to_response('index.html', RequestContext(request)) + return render_to_response('graph.html', RequestContext(request)) From 99f37ede0376d44f8c4b6ee2f25601aa05752e58 Mon Sep 17 00:00:00 2001 From: Eryn Wells Date: Sat, 18 Aug 2012 09:52:40 -0700 Subject: [PATCH 06/23] Rename follower_graph to graph_followers Create graph_followers template Add urlconf for graph_followers Redirect use to followers view instead of just calling it --- templates/graph_followers.html | 2 ++ urls.py | 1 + views.py | 6 +++--- 3 files changed, 6 insertions(+), 3 deletions(-) create mode 100644 templates/graph_followers.html diff --git a/templates/graph_followers.html b/templates/graph_followers.html new file mode 100644 index 0000000..8252d3b --- /dev/null +++ b/templates/graph_followers.html @@ -0,0 +1,2 @@ +{# vim: set ft=htmldjango #} +{% extends "graph_base.html" %} diff --git a/urls.py b/urls.py index 00f6c56..44491e3 100644 --- a/urls.py +++ b/urls.py @@ -11,6 +11,7 @@ admin.autodiscover() urlpatterns = patterns('', url(r'^%s(?P.*)$' % re.escape(settings.STATIC_URL.lstrip('/')), 'django.contrib.staticfiles.views.serve', {'insecure': True}), url(r'^admin/', include(admin.site.urls)), + url(r'^followers/', views.graph_followers, name='followers'), url(r'^login/$', views.login, name='login'), url(r'^$', views.index, name='index'), url(r'', include('social_auth.urls')), diff --git a/views.py b/views.py index 89ccfc7..608007e 100644 --- a/views.py +++ b/views.py @@ -9,7 +9,7 @@ def index(request): have a session id) return the follower_graph view. Otherwise, render the index page.''' if request.user.is_authenticated(): - return follower_graph(request) + return redirect('followers') # 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() @@ -30,5 +30,5 @@ def login(request): @login_required -def follower_graph(request): - return render_to_response('graph.html', RequestContext(request)) +def graph_followers(request): + return render_to_response('graph_followers.html', RequestContext(request)) From 5435ed5789b5119f7e692f4be4707185051d388b Mon Sep 17 00:00:00 2001 From: Eryn Wells Date: Sat, 18 Aug 2012 12:41:03 -0700 Subject: [PATCH 07/23] Set test cookie even if cookies are disabled It doesn't hurt anything, but we've hit this during development a bunch. --- views.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/views.py b/views.py index a536f83..4a11ea1 100644 --- a/views.py +++ b/views.py @@ -23,6 +23,10 @@ def login(request): request.session.delete_test_cookie() return redirect('/login/github/') else: + # During development, I've landed here a lot, despite having cookies + # enabled. So, set the test cookie so that trying to login from here + # actually works. + request.session.set_test_cookie() # Render an error -- fix your damn cookies! return render_to_response('login.html', { 'error': "Fix your damn cookies!" }) From d2fc4ca84b34a4e79db828e9642c9931d3b5f4bf Mon Sep 17 00:00:00 2001 From: Eryn Wells Date: Sat, 18 Aug 2012 09:17:04 -0700 Subject: [PATCH 08/23] Move login template to index.html --- templates/{login.html => index.html} | 0 views.py | 4 ++-- 2 files changed, 2 insertions(+), 2 deletions(-) rename templates/{login.html => index.html} (100%) diff --git a/templates/login.html b/templates/index.html similarity index 100% rename from templates/login.html rename to templates/index.html diff --git a/views.py b/views.py index 4a11ea1..6b044ef 100644 --- a/views.py +++ b/views.py @@ -12,7 +12,7 @@ def index(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', RequestContext(request)) + return render_to_response('index.html', RequestContext(request)) def login(request): @@ -28,7 +28,7 @@ def login(request): # actually works. request.session.set_test_cookie() # Render an error -- fix your damn cookies! - return render_to_response('login.html', + return render_to_response('index.html', { 'error': "Fix your damn cookies!" }) From fdb900a8a3fca478782e767ffaa341314c6998ed Mon Sep 17 00:00:00 2001 From: Eryn Wells Date: Sat, 18 Aug 2012 09:27:56 -0700 Subject: [PATCH 09/23] Check if user is authenticated and show follower_graph --- views.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/views.py b/views.py index 6b044ef..1c477b8 100644 --- a/views.py +++ b/views.py @@ -1,4 +1,5 @@ from django.contrib.auth.decorators import login_required +from django.http import HttpResponse from django.shortcuts import redirect, render_to_response from django.template import RequestContext @@ -7,7 +8,7 @@ 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.session.get('sessionid', False): + if request.user.is_authenticated(): return follower_graph(request) # Set a test cookie. When the user clicks the 'Login' button, test and make # sure this cookie was set properly. @@ -34,4 +35,4 @@ def login(request): @login_required def follower_graph(request): - return 'Hello!' + return render_to_response('index.html', RequestContext(request)) From 529c932e33c6ddbb7dd6d1b208a1547b58824183 Mon Sep 17 00:00:00 2001 From: Eryn Wells Date: Sat, 18 Aug 2012 09:47:09 -0700 Subject: [PATCH 10/23] Navbar --- templates/navbar.html | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 templates/navbar.html diff --git a/templates/navbar.html b/templates/navbar.html new file mode 100644 index 0000000..db95ce4 --- /dev/null +++ b/templates/navbar.html @@ -0,0 +1,14 @@ +{# vim: set ft=htmldjango #} + From 2da6b7395c82ad338088f72371c7d8ebce0e06a8 Mon Sep 17 00:00:00 2001 From: Eryn Wells Date: Sat, 18 Aug 2012 09:47:22 -0700 Subject: [PATCH 11/23] Graph base template --- templates/graph_base.html | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 templates/graph_base.html diff --git a/templates/graph_base.html b/templates/graph_base.html new file mode 100644 index 0000000..3ff2730 --- /dev/null +++ b/templates/graph_base.html @@ -0,0 +1,19 @@ +{# vim: set ft=htmldjango #} +{% extends "base.html" %} + +{% block head_css %} + +{% endblock %} + +{% block container %} +{% include "navbar.html" %} +
+ {% block graph %}

PUT A GRAPH HERE

{% endblock %} +
+{% endblock container %} From 068403f81ff5837f17b127674e55402ce99b5ec4 Mon Sep 17 00:00:00 2001 From: Eryn Wells Date: Sat, 18 Aug 2012 09:49:08 -0700 Subject: [PATCH 12/23] Render the graph template when rendering followers view --- views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/views.py b/views.py index 1c477b8..6ca9d32 100644 --- a/views.py +++ b/views.py @@ -35,4 +35,4 @@ def login(request): @login_required def follower_graph(request): - return render_to_response('index.html', RequestContext(request)) + return render_to_response('graph.html', RequestContext(request)) From 2184fab67850f4bb1a604fd9aabf31540abb0ad6 Mon Sep 17 00:00:00 2001 From: Eryn Wells Date: Sat, 18 Aug 2012 09:52:40 -0700 Subject: [PATCH 13/23] Rename follower_graph to graph_followers Create graph_followers template Add urlconf for graph_followers Redirect use to followers view instead of just calling it --- templates/graph_followers.html | 2 ++ urls.py | 1 + views.py | 6 +++--- 3 files changed, 6 insertions(+), 3 deletions(-) create mode 100644 templates/graph_followers.html diff --git a/templates/graph_followers.html b/templates/graph_followers.html new file mode 100644 index 0000000..8252d3b --- /dev/null +++ b/templates/graph_followers.html @@ -0,0 +1,2 @@ +{# vim: set ft=htmldjango #} +{% extends "graph_base.html" %} diff --git a/urls.py b/urls.py index 00f6c56..44491e3 100644 --- a/urls.py +++ b/urls.py @@ -11,6 +11,7 @@ admin.autodiscover() urlpatterns = patterns('', url(r'^%s(?P.*)$' % re.escape(settings.STATIC_URL.lstrip('/')), 'django.contrib.staticfiles.views.serve', {'insecure': True}), url(r'^admin/', include(admin.site.urls)), + url(r'^followers/', views.graph_followers, name='followers'), url(r'^login/$', views.login, name='login'), url(r'^$', views.index, name='index'), url(r'', include('social_auth.urls')), diff --git a/views.py b/views.py index 6ca9d32..fdb9e1c 100644 --- a/views.py +++ b/views.py @@ -9,7 +9,7 @@ def index(request): have a session id) return the follower_graph view. Otherwise, render the index page.''' if request.user.is_authenticated(): - return follower_graph(request) + return redirect('followers') # 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() @@ -34,5 +34,5 @@ def login(request): @login_required -def follower_graph(request): - return render_to_response('graph.html', RequestContext(request)) +def graph_followers(request): + return render_to_response('graph_followers.html', RequestContext(request)) From e044dbf19ad8ee797f17147af57c1e5f8cd10cdc Mon Sep 17 00:00:00 2001 From: Eryn Wells Date: Sat, 18 Aug 2012 11:19:21 -0700 Subject: [PATCH 14/23] Dropdown menu for user stuff --- templates/graph_base.html | 5 +++++ templates/navbar.html | 9 ++++++++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/templates/graph_base.html b/templates/graph_base.html index 3ff2730..dae0eb3 100644 --- a/templates/graph_base.html +++ b/templates/graph_base.html @@ -17,3 +17,8 @@ h1.placeholder { {% block graph %}

PUT A GRAPH HERE

{% endblock %} {% endblock container %} + +{% block body_js %} + + +{% endblock %} diff --git a/templates/navbar.html b/templates/navbar.html index db95ce4..71e65b0 100644 --- a/templates/navbar.html +++ b/templates/navbar.html @@ -7,7 +7,14 @@
  • Followers
  • From 56587aa345ea0778bc6efa5f7f3bd2622e3609b0 Mon Sep 17 00:00:00 2001 From: Eryn Wells Date: Sat, 18 Aug 2012 11:21:06 -0700 Subject: [PATCH 15/23] Repo stub view --- urls.py | 1 + views.py | 5 +++++ 2 files changed, 6 insertions(+) diff --git a/urls.py b/urls.py index 44491e3..ac00ccd 100644 --- a/urls.py +++ b/urls.py @@ -13,6 +13,7 @@ urlpatterns = patterns('', url(r'^admin/', include(admin.site.urls)), url(r'^followers/', views.graph_followers, name='followers'), url(r'^login/$', views.login, name='login'), + url(r'^repo/(?P\w+)/(?P\w+)/', views.graph_repo, name='repo'), url(r'^$', views.index, name='index'), url(r'', include('social_auth.urls')), ) diff --git a/views.py b/views.py index fdb9e1c..3af27a9 100644 --- a/views.py +++ b/views.py @@ -36,3 +36,8 @@ def login(request): @login_required def graph_followers(request): return render_to_response('graph_followers.html', RequestContext(request)) + + +@login_required +def graph_repo(request, user, repo): + return render_to_response('graph_followers.html', RequestContext(request)) From 8e2decc27e888dfdfbd53c5712332f9965ccfee5 Mon Sep 17 00:00:00 2001 From: Eryn Wells Date: Sat, 18 Aug 2012 11:25:46 -0700 Subject: [PATCH 16/23] Dropdown for user's repos --- templates/navbar.html | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/templates/navbar.html b/templates/navbar.html index 71e65b0..28d1b8e 100644 --- a/templates/navbar.html +++ b/templates/navbar.html @@ -4,6 +4,11 @@
    Cool name