Display the team ranking

This commit is contained in:
Yohann D'ANELLO 2021-01-14 19:23:32 +01:00
parent 61703b130d
commit 7397afd236
Signed by: ynerant
GPG Key ID: 3A75C55819C8CF85
4 changed files with 63 additions and 13 deletions

View File

@ -10,7 +10,7 @@
<div class="card-body"> <div class="card-body">
<dl class="row"> <dl class="row">
<dt class="col-sm-3">{% trans "Tournament:" %}</dt> <dt class="col-sm-3">{% trans "Tournament:" %}</dt>
<dd class="col-sm-9">{{ pool.tournament }}</dd> <dd class="col-sm-9"><a href="{{ pool.tournament.get_absolute_url }}">{{ pool.tournament }}</a></dd>
<dt class="col-sm-3">{% trans "Round:" %}</dt> <dt class="col-sm-3">{% trans "Round:" %}</dt>
<dd class="col-sm-9">{{ pool.get_round_display }}</dd> <dd class="col-sm-9">{{ pool.get_round_display }}</dd>
@ -34,10 +34,23 @@
<dt class="col-sm-3">{% trans "Defended solutions:" %}</dt> <dt class="col-sm-3">{% trans "Defended solutions:" %}</dt>
<dd class="col-sm-9"> <dd class="col-sm-9">
{% for passage in pool.passages.all %} {% for passage in pool.passages.all %}
<a href="{{ passage.defended_solution.get_absolute_url }}" data-turbolinks="false">{{ passage.defended_solution }}{% if not forloop.last %}, {% endif %}</a> <a href="{{ passage.defended_solution.file.url }}" data-turbolinks="false">{{ passage.defended_solution }}{% if not forloop.last %}, {% endif %}</a>
{% endfor %} {% endfor %}
</dd> </dd>
</dl> </dl>
<div class="card bg-light shadow">
<div class="card-header text-center">
<h5>{% trans "Ranking" %}</h5>
</div>
<div class="card-body">
<ul>
{% for participation, note in notes %}
<li><strong>{{ participation.team }} :</strong> {{ note }}</li>
{% endfor %}
</ul>
</div>
</div>
</div> </div>
{% if user.registration.is_admin %} {% if user.registration.is_admin %}
<div class="card-footer text-center"> <div class="card-footer text-center">

View File

@ -72,6 +72,21 @@
<button class="btn btn-block btn-success" data-toggle="modal" data-target="#addPoolModal">{% trans "Add new pool" %}</button> <button class="btn btn-block btn-success" data-toggle="modal" data-target="#addPoolModal">{% trans "Add new pool" %}</button>
{% endif %} {% endif %}
<hr>
<div class="card bg-light shadow">
<div class="card-header text-center">
<h5>{% trans "Ranking" %}</h5>
</div>
<div class="card-body">
<ul>
{% for participation, note in notes %}
<li><strong>{{ participation.team }} :</strong> {{ note }}</li>
{% endfor %}
</ul>
</div>
</div>
{% trans "Add pool" as modal_title %} {% trans "Add pool" as modal_title %}
{% trans "Add" as modal_button %} {% trans "Add" as modal_button %}
{% url "participation:pool_create" as modal_action %} {% url "participation:pool_create" as modal_action %}

View File

@ -435,6 +435,13 @@ class TournamentDetailView(DetailView):
context = super().get_context_data(**kwargs) context = super().get_context_data(**kwargs)
context["teams"] = ParticipationTable(self.object.participations.all()) context["teams"] = ParticipationTable(self.object.participations.all())
context["pools"] = PoolTable(self.object.pools.all()) context["pools"] = PoolTable(self.object.pools.all())
notes = dict()
for participation in self.object.participations.all():
notes[participation] = sum(pool.average(participation)
for pool in self.object.pools.filter(participations=participation).all())
context["notes"] = sorted(notes.items(), key=lambda x: x[1], reverse=True)
return context return context
@ -479,6 +486,16 @@ class PoolCreateView(AdminMixin, CreateView):
class PoolDetailView(LoginRequiredMixin, DetailView): class PoolDetailView(LoginRequiredMixin, DetailView):
model = Pool model = Pool
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
notes = dict()
for participation in self.object.participations.all():
notes[participation] = self.object.average(participation)
context["notes"] = sorted(notes.items(), key=lambda x: x[1], reverse=True)
return context
class PoolUpdateView(AdminMixin, UpdateView): class PoolUpdateView(AdminMixin, UpdateView):
model = Pool model = Pool

View File

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: TFJM\n" "Project-Id-Version: TFJM\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-01-14 18:57+0100\n" "POT-Creation-Date: 2021-01-14 19:22+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: Yohann D'ANELLO <yohann.danello@animath.fr>\n" "Last-Translator: Yohann D'ANELLO <yohann.danello@animath.fr>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@ -478,9 +478,9 @@ msgstr "Rejoindre"
#: apps/participation/templates/participation/passage_detail.html:44 #: apps/participation/templates/participation/passage_detail.html:44
#: apps/participation/templates/participation/passage_detail.html:100 #: apps/participation/templates/participation/passage_detail.html:100
#: apps/participation/templates/participation/passage_detail.html:105 #: apps/participation/templates/participation/passage_detail.html:105
#: apps/participation/templates/participation/pool_detail.html:45 #: apps/participation/templates/participation/pool_detail.html:58
#: apps/participation/templates/participation/pool_detail.html:57 #: apps/participation/templates/participation/pool_detail.html:70
#: apps/participation/templates/participation/pool_detail.html:62 #: apps/participation/templates/participation/pool_detail.html:75
#: apps/participation/templates/participation/team_detail.html:84 #: apps/participation/templates/participation/team_detail.html:84
#: apps/participation/templates/participation/team_detail.html:143 #: apps/participation/templates/participation/team_detail.html:143
#: apps/participation/templates/participation/tournament_form.html:12 #: apps/participation/templates/participation/tournament_form.html:12
@ -654,21 +654,26 @@ msgid "Defended solutions:"
msgstr "Solutions défendues :" msgstr "Solutions défendues :"
#: apps/participation/templates/participation/pool_detail.html:44 #: apps/participation/templates/participation/pool_detail.html:44
#: apps/participation/templates/participation/pool_detail.html:51 #: apps/participation/templates/participation/tournament_detail.html:79
msgid "Ranking"
msgstr "Classement"
#: apps/participation/templates/participation/pool_detail.html:57
#: apps/participation/templates/participation/pool_detail.html:64
msgid "Add passage" msgid "Add passage"
msgstr "Ajouter un passage" msgstr "Ajouter un passage"
#: apps/participation/templates/participation/pool_detail.html:46 #: apps/participation/templates/participation/pool_detail.html:59
#: apps/participation/templates/participation/pool_detail.html:61 #: apps/participation/templates/participation/pool_detail.html:74
msgid "Update teams" msgid "Update teams"
msgstr "Modifier les équipes" msgstr "Modifier les équipes"
#: apps/participation/templates/participation/pool_detail.html:52 #: apps/participation/templates/participation/pool_detail.html:65
#: apps/participation/templates/participation/tournament_detail.html:76 #: apps/participation/templates/participation/tournament_detail.html:91
msgid "Add" msgid "Add"
msgstr "Ajouter" msgstr "Ajouter"
#: apps/participation/templates/participation/pool_detail.html:56 #: apps/participation/templates/participation/pool_detail.html:69
#: apps/participation/templates/participation/pool_form.html:11 #: apps/participation/templates/participation/pool_form.html:11
msgid "Update pool" msgid "Update pool"
msgstr "Modifier la poule" msgstr "Modifier la poule"
@ -850,7 +855,7 @@ msgstr "Poules"
msgid "Add new pool" msgid "Add new pool"
msgstr "Ajouter une nouvelle poule" msgstr "Ajouter une nouvelle poule"
#: apps/participation/templates/participation/tournament_detail.html:75 #: apps/participation/templates/participation/tournament_detail.html:90
msgid "Add pool" msgid "Add pool"
msgstr "Ajouter une poule" msgstr "Ajouter une poule"