hopefully better events view

This commit is contained in:
James Turk 2012-05-27 02:38:37 -04:00
parent 0becec7382
commit 860453a8d0
2 changed files with 25 additions and 12 deletions

View File

@ -15,18 +15,20 @@ match details:</p>
<div class="accordion" id="accordion">
{% regroup points by match.event as event_list %}
{% for event in event_list %}
{% for event in events.values %}
<div class="accordion-group">
<div class="accordion-heading">
<a class="accordion-toggle event-title" data-toggle="collapse"
data-parent="#accordion" href="#event-{{event.grouper.id}}">
{{event.grouper.name}} - {{event.grouper.date}}
data-parent="#accordion" href="#event-{{event.id}}">
{{event.name}} - {{event.date}}
</a>
{% for team,score in event.scores.iteritems %}
{{team}}: {{score}}
{% endfor %}
</div>
<div id="event-{{event.grouper.id}}" class="accordion-body collapse in">
<div id="event-{{event.id}}" class="accordion-body collapse in">
<div class="accordion-inner">
<table class="table">
<thead>
@ -36,13 +38,12 @@ match details:</p>
</tr>
</thead>
<tbody>
{% regroup event.list by match as match_list %}
{% for match in match_list %}
{% for match, tp_list in event.match_list.items %}
<tr>
<td>{{match.grouper}}</td>
<td>{{match}}</td>
<td>
<ul>
{% for tp in match.list %}
{% for tp in tp_list %}
{% if tp.points %}
<li> {{tp.team}} received {{tp.points}}
point{{tp.points|pluralize}} for {{tp.star}}

View File

@ -1,12 +1,24 @@
from collections import defaultdict
from django.shortcuts import render
from fowl.game.models import TeamPoints
def events(request):
events = {}
points = TeamPoints.objects.filter().order_by('match',
'team').select_related()
totals = TeamPoints.objects.values('match__event',
'team__name').annotate(points=Sum('points'))
return render(request, "events.html", {'points': points})
for tp in points:
event_id = tp.match.event_id
if event_id not in events:
events[event_id] = tp.match.event
events[event_id].scores = {}
events[event_id].match_list = {}
events[event_id].match_list.setdefault(tp.match, []
).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})
def stables(request):
return render(request, "stables.html")