diff --git a/templates/graph_base.html b/templates/graph_base.html
new file mode 100644
index 0000000..dae0eb3
--- /dev/null
+++ b/templates/graph_base.html
@@ -0,0 +1,24 @@
+{# 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 %}
+
+{% block body_js %}
+
+
+{% endblock %}
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/templates/graph_repo.html b/templates/graph_repo.html
new file mode 100644
index 0000000..aa9c0c7
--- /dev/null
+++ b/templates/graph_repo.html
@@ -0,0 +1,6 @@
+{# vim: set ft=htmldjango #}
+{% extends "graph_base.html" %}
+
+{% block graph %}
+PUT A GRAPH OF
{{ username }}'s
{{ repo }} REPO
HERE
+{% endblock %}
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/templates/navbar.html b/templates/navbar.html
new file mode 100644
index 0000000..81872e1
--- /dev/null
+++ b/templates/navbar.html
@@ -0,0 +1,33 @@
+{# vim: set ft=htmldjango #}
+
diff --git a/urls.py b/urls.py
index 00f6c56..4db1e5a 100644
--- a/urls.py
+++ b/urls.py
@@ -11,7 +11,11 @@ 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='graph_followers'),
url(r'^login/$', views.login, name='login'),
+ url(r'^repo/(?P\w+)/(?P\w+)/', views.graph_repo,
+ name='graph_repo'),
url(r'^$', views.index, name='index'),
url(r'', include('social_auth.urls')),
)
diff --git a/views.py b/views.py
index 4a11ea1..471dacd 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,12 +8,12 @@ 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):
- return follower_graph(request)
+ if request.user.is_authenticated():
+ return redirect('graph_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()
- return render_to_response('login.html', RequestContext(request))
+ return render_to_response('index.html', RequestContext(request))
def login(request):
@@ -28,10 +29,21 @@ 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!" })
@login_required
-def follower_graph(request):
- return 'Hello!'
+def graph_followers(request):
+ return render_to_response('graph_followers.html', {
+ 'repos': request.github.get_iter('users/%s/repos' % request.user.username)
+ }, RequestContext(request))
+
+
+@login_required
+def graph_repo(request, user=None, repo=None):
+ return render_to_response('graph_repo.html', {
+ 'graph_user': user,
+ 'graph_repo': repo,
+ 'repos': request.github.get_iter('users/%s/repos' % request.user.username)
+ }, RequestContext(request))