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))