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)
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
def me(request):
context = RequestContext(request)
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)
@ -95,5 +106,6 @@ def get_user_followers(request):
name = request.GET.get('user', None)
if not name:
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')

View file

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

View file

@ -22,7 +22,7 @@ def login(request):
# Make sure the user can accept cookies.
if request.session.test_cookie_worked():
request.session.delete_test_cookie()
return redirect('/login/github/')
return redirect('socialauth_begin', backend='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
@ -33,17 +33,10 @@ def login(request):
{ '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
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)
'repos': _sorted_repos(request)
}, RequestContext(request))