Merge pull request #8 from erynofwales/feature/ui

Sort the repo list
This commit is contained in:
Lynn Root 2012-08-19 09:00:45 -07:00
commit cec2d56338
3 changed files with 38 additions and 37 deletions

View file

@ -82,11 +82,22 @@ class NetworkView(DetailView):
return super(ProtectedView, self).dispatch(*args, **kwargs) return super(ProtectedView, self).dispatch(*args, **kwargs)
def _sorted_repos(request):
'''Get a list of repos for the currently authorized user, sort it, and
return it.'''
repos = [r for r in request.github.get_iter('users/%s/repos' %
request.user.username)]
repos.sort(key=lambda x: x['name'])
return repos
@login_required @login_required
def me(request): def me(request):
context = RequestContext(request) context = RequestContext(request)
context['followers'] = simplejson.dumps( context['followers'] = simplejson.dumps(
[{'name': unicode(follower), 'avatar': follower.avatar_url} for follower in GHUser.objects.filter(following=request.gh_user)]) [{'name': unicode(follower), 'avatar': follower.avatar_url}
for follower in GHUser.objects.filter(following=request.gh_user)])
context['repos'] = _sorted_repos(request)
return render_to_response('me.html', context) return render_to_response('me.html', context)
@ -95,5 +106,6 @@ def get_user_followers(request):
name = request.GET.get('user', None) name = request.GET.get('user', None)
if not name: if not name:
raise HttpResponseBadRequest() raise HttpResponseBadRequest()
names = simplejson.dumps([user['login'] for user in request.github.get_iter('users/%s/followers' % name)]) names = simplejson.dumps([user['login']
for user in request.github.get_iter('users/%s/followers' % name)])
return HttpResponse(names, content_type='application/json') return HttpResponse(names, content_type='application/json')

View file

@ -2,32 +2,28 @@
<div class="navbar navbar-fixed-top"> <div class="navbar navbar-fixed-top">
<div class="navbar-inner"> <div class="navbar-inner">
<div class="container-fluid"> <div class="container-fluid">
<a class="brand" href="">Cool name</a> <a class="brand" href="">Cool name</a>
<ul class="nav"> <ul class="nav">
<li class="dropdown"> <li><a href="{% url me %}">Me</a></li>
<a href="#" class="dropdown-toggle" data-toggle="dropdown">My Repos</a> <li class="dropdown">
<ul class="dropdown-menu"> <a href="#" class="dropdown-toggle" data-toggle="dropdown">My Repos</a>
{% for r in repos %} <ul class="dropdown-menu">
<li><a href="#">{{ r.name }}</a></li> {% for r in repos %}
{% endfor %} <li><a href="#">{{ r.name }}</a></li>
</ul> {% endfor %}
</li> </ul>
<li><a href="{% url index %}">Followers</a></li> </li>
</ul> </ul>
<ul class="nav pull-right"> <ul class="nav pull-right">
<li class="dropdown"> <li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown"> <a href="#" class="dropdown-toggle" data-toggle="dropdown">
{{ request.user.username }} {{ request.user.username }}
</a> </a>
<ul class="dropdown-menu"> <ul class="dropdown-menu">
<li><a href="#">Logout</a></li> <li><a href="#">Logout</a></li>
</ul> </ul>
</li> </li>
<li><a href="{% url index %}">Followers</a></li> </ul>
</ul>
<ul class="nav pull-right">
<li><a href="">Logout</a></li>
</ul>
</div> </div>
</div> </div>
</div> </div>

View file

@ -22,7 +22,7 @@ def login(request):
# Make sure the user can accept cookies. # Make sure the user can accept cookies.
if request.session.test_cookie_worked(): if request.session.test_cookie_worked():
request.session.delete_test_cookie() request.session.delete_test_cookie()
return redirect('/login/github/') return redirect('socialauth_begin', backend='github')
else: else:
# During development, I've landed here a lot, despite having cookies # During development, I've landed here a lot, despite having cookies
# enabled. So, set the test cookie so that trying to login from here # enabled. So, set the test cookie so that trying to login from here
@ -33,17 +33,10 @@ def login(request):
{ 'error': "Fix your damn cookies!" }) { 'error': "Fix your damn cookies!" })
@login_required
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 @login_required
def graph_repo(request, user=None, repo=None): def graph_repo(request, user=None, repo=None):
return render_to_response('graph_repo.html', { return render_to_response('graph_repo.html', {
'graph_user': user, 'graph_user': user,
'graph_repo': repo, 'graph_repo': repo,
'repos': request.github.get_iter('users/%s/repos' % request.user.username) 'repos': _sorted_repos(request)
}, RequestContext(request)) }, RequestContext(request))