From 9330b885ad7a4a185c5d26d87f6af79ea30458cb Mon Sep 17 00:00:00 2001 From: James Turk Date: Mon, 28 May 2012 00:41:16 -0400 Subject: [PATCH] reverse sort matches, make pages use a league --- fowl/game/templates/base.html | 7 ++----- fowl/game/templates/events.html | 2 +- fowl/game/urls.py | 8 +++++--- fowl/game/views.py | 23 ++++++++++++++--------- 4 files changed, 22 insertions(+), 18 deletions(-) diff --git a/fowl/game/templates/base.html b/fowl/game/templates/base.html index 7403d3a..1df54bb 100644 --- a/fowl/game/templates/base.html +++ b/fowl/game/templates/base.html @@ -40,11 +40,8 @@ FOWL diff --git a/fowl/game/templates/events.html b/fowl/game/templates/events.html index 99e52da..92635c6 100644 --- a/fowl/game/templates/events.html +++ b/fowl/game/templates/events.html @@ -9,7 +9,7 @@ PPVs, since the creation of this league.

-{% for event in events.values %} +{% for event in events %}
diff --git a/fowl/game/urls.py b/fowl/game/urls.py index 68cf1ec..c87abfd 100644 --- a/fowl/game/urls.py +++ b/fowl/game/urls.py @@ -1,7 +1,9 @@ from django.conf.urls import patterns, include, url urlpatterns = patterns('', - url(r'^events/$', 'fowl.game.views.events'), - url(r'^edit_event/$', 'fowl.game.views.edit_event'), - url(r'^stables/$', 'fowl.game.views.stables'), + url(r'events/(?P\d+)/$', 'fowl.game.views.events', + name='events'), + url(r'league/(?P\d+)/$', 'fowl.game.views.league', + name='league'), + url(r'^edit_event/$', 'fowl.game.views.edit_event', name='edit_event'), ) diff --git a/fowl/game/views.py b/fowl/game/views.py index a214575..d2712d7 100644 --- a/fowl/game/views.py +++ b/fowl/game/views.py @@ -4,10 +4,10 @@ from django.shortcuts import render, get_object_or_404 from fowl.game.models import Team, TeamPoints -def events(request): +def events(request, league_id): events = {} - points = TeamPoints.objects.filter().order_by('match', - 'team').select_related() + points = TeamPoints.objects.filter(team__league_id=league_id).order_by( + 'match', 'team').select_related() for tp in points: event_id = tp.match.event_id if event_id not in events: @@ -18,7 +18,8 @@ def events(request): ).append(tp) events[event_id].scores.setdefault(tp.team.name, 0) events[event_id].scores[tp.team.name] += tp.points - return render(request, "events.html", {'events': events}) + events = sorted(events.values(), key=lambda x: x.date, reverse=True) + return render(request, "events.html", {'events': events, 'view': 'events'}) def edit_event(request, event_id=None): if event_id: @@ -29,10 +30,14 @@ def edit_event(request, event_id=None): return render(request, "edit_event.html", {"event": event}) -def stables(request): - context = { 'belts': ['ic', 'us', 'heavyweight', 'wwe'] - } - teams = list(Team.objects.all().prefetch_related('stars')) +def league(request, league_id): + context = { + 'view': 'league', + 'belts': ['ic', 'us', 'heavyweight', 'wwe'] + } + teams = list(Team.objects.filter(league__id=league_id) + .prefetch_related('stars')) context['teams'] = teams - context['star_sets'] = izip_longest(*(team.stars.all().order_by("division") for team in teams)) + context['star_sets'] = izip_longest(*(team.stars.all().order_by("division") + for team in teams)) return render(request, "stables.html", context)