mirror of
https://gitlab.com/animath/si/plateforme.git
synced 2025-01-24 20:21:18 +00:00
Display passages as a table
This commit is contained in:
parent
7397afd236
commit
1a7a411e10
@ -6,7 +6,7 @@ from django.utils.text import format_lazy
|
|||||||
from django.utils.translation import gettext_lazy as _
|
from django.utils.translation import gettext_lazy as _
|
||||||
import django_tables2 as tables
|
import django_tables2 as tables
|
||||||
|
|
||||||
from .models import Note, Pool, Team, Tournament
|
from .models import Note, Passage, Pool, Team, Tournament
|
||||||
|
|
||||||
|
|
||||||
# noinspection PyTypeChecker
|
# noinspection PyTypeChecker
|
||||||
@ -98,6 +98,31 @@ class PoolTable(tables.Table):
|
|||||||
template_name = 'django_tables2/bootstrap4.html'
|
template_name = 'django_tables2/bootstrap4.html'
|
||||||
|
|
||||||
|
|
||||||
|
class PassageTable(tables.Table):
|
||||||
|
defender = tables.LinkColumn(
|
||||||
|
"participation:passage_detail",
|
||||||
|
args=[tables.A("id")],
|
||||||
|
verbose_name=_("defender").capitalize,
|
||||||
|
)
|
||||||
|
|
||||||
|
def render_defender(self, value):
|
||||||
|
return value.team
|
||||||
|
|
||||||
|
def render_opponent(self, value):
|
||||||
|
return value.team
|
||||||
|
|
||||||
|
def render_reporter(self, value):
|
||||||
|
return value.team
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
attrs = {
|
||||||
|
'class': 'table table-condensed table-striped text-center',
|
||||||
|
}
|
||||||
|
model = Passage
|
||||||
|
fields = ('defender', 'opponent', 'reporter', 'place',)
|
||||||
|
template_name = 'django_tables2/bootstrap4.html'
|
||||||
|
|
||||||
|
|
||||||
class NoteTable(tables.Table):
|
class NoteTable(tables.Table):
|
||||||
jury = tables.Column(
|
jury = tables.Column(
|
||||||
attrs={
|
attrs={
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
{% extends "base.html" %}
|
{% extends "base.html" %}
|
||||||
|
|
||||||
{% load i18n %}
|
{% load django_tables2 i18n %}
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
<div class="card bg-light shadow">
|
<div class="card bg-light shadow">
|
||||||
@ -25,12 +25,6 @@
|
|||||||
<dt class="col-sm-3">{% trans "Juries:" %}</dt>
|
<dt class="col-sm-3">{% trans "Juries:" %}</dt>
|
||||||
<dd class="col-sm-9">{{ pool.juries.all|join:", " }}</dd>
|
<dd class="col-sm-9">{{ pool.juries.all|join:", " }}</dd>
|
||||||
|
|
||||||
<dt class="col-sm-3">{% trans "Passages:" %}</dt>
|
|
||||||
<dd class="col-sm-9">
|
|
||||||
{% for passage in pool.passages.all %}
|
|
||||||
<a href="{{ passage.get_absolute_url }}" data-turbolinks="false">{{ passage }}{% if not forloop.last %}, {% endif %}</a>
|
|
||||||
{% endfor %}
|
|
||||||
</dd>
|
|
||||||
<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 %}
|
||||||
@ -61,6 +55,12 @@
|
|||||||
{% endif %}
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<hr>
|
||||||
|
|
||||||
|
<h3>{% trans "Passages" %}</h3>
|
||||||
|
|
||||||
|
{% render_table passages %}
|
||||||
|
|
||||||
{% trans "Add passage" as modal_title %}
|
{% trans "Add passage" as modal_title %}
|
||||||
{% trans "Add" as modal_button %}
|
{% trans "Add" as modal_button %}
|
||||||
{% url "participation:passage_create" pk=pool.pk as modal_action %}
|
{% url "participation:passage_create" pk=pool.pk as modal_action %}
|
||||||
|
@ -26,7 +26,7 @@ from tfjm.views import AdminMixin
|
|||||||
from .forms import JoinTeamForm, NoteForm, ParticipationForm, PassageForm, PoolForm, PoolTeamsForm, \
|
from .forms import JoinTeamForm, NoteForm, ParticipationForm, PassageForm, PoolForm, PoolTeamsForm, \
|
||||||
RequestValidationForm, TeamForm, TournamentForm, ValidateParticipationForm, SolutionForm, SynthesisForm
|
RequestValidationForm, TeamForm, TournamentForm, ValidateParticipationForm, SolutionForm, SynthesisForm
|
||||||
from .models import Note, Participation, Passage, Pool, Team, Tournament, Solution, Synthesis
|
from .models import Note, Participation, Passage, Pool, Team, Tournament, Solution, Synthesis
|
||||||
from .tables import TeamTable, TournamentTable, ParticipationTable, PoolTable, NoteTable
|
from .tables import NoteTable, PassageTable, PoolTable, TeamTable, TournamentTable, ParticipationTable
|
||||||
|
|
||||||
|
|
||||||
class CreateTeamView(LoginRequiredMixin, CreateView):
|
class CreateTeamView(LoginRequiredMixin, CreateView):
|
||||||
@ -489,6 +489,8 @@ class PoolDetailView(LoginRequiredMixin, DetailView):
|
|||||||
def get_context_data(self, **kwargs):
|
def get_context_data(self, **kwargs):
|
||||||
context = super().get_context_data(**kwargs)
|
context = super().get_context_data(**kwargs)
|
||||||
|
|
||||||
|
context["passages"] = PassageTable(self.object.passages.all())
|
||||||
|
|
||||||
notes = dict()
|
notes = dict()
|
||||||
for participation in self.object.participations.all():
|
for participation in self.object.participations.all():
|
||||||
notes[participation] = self.object.average(participation)
|
notes[participation] = self.object.average(participation)
|
||||||
|
@ -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 19:22+0100\n"
|
"POT-Creation-Date: 2021-01-14 19:30+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"
|
||||||
@ -293,7 +293,7 @@ msgstr "solution défendue"
|
|||||||
msgid "Problem #{problem}"
|
msgid "Problem #{problem}"
|
||||||
msgstr "Problème n°{problem}"
|
msgstr "Problème n°{problem}"
|
||||||
|
|
||||||
#: apps/participation/models.py:356
|
#: apps/participation/models.py:356 apps/participation/tables.py:105
|
||||||
msgid "defender"
|
msgid "defender"
|
||||||
msgstr "défenseur"
|
msgstr "défenseur"
|
||||||
|
|
||||||
@ -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:58
|
#: apps/participation/templates/participation/pool_detail.html:52
|
||||||
#: apps/participation/templates/participation/pool_detail.html:70
|
#: apps/participation/templates/participation/pool_detail.html:68
|
||||||
#: apps/participation/templates/participation/pool_detail.html:75
|
#: apps/participation/templates/participation/pool_detail.html:73
|
||||||
#: 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
|
||||||
@ -646,34 +646,34 @@ msgid "Juries:"
|
|||||||
msgstr "Jurys :"
|
msgstr "Jurys :"
|
||||||
|
|
||||||
#: apps/participation/templates/participation/pool_detail.html:28
|
#: apps/participation/templates/participation/pool_detail.html:28
|
||||||
msgid "Passages:"
|
|
||||||
msgstr "Passages :"
|
|
||||||
|
|
||||||
#: apps/participation/templates/participation/pool_detail.html:34
|
|
||||||
msgid "Defended solutions:"
|
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:38
|
||||||
#: apps/participation/templates/participation/tournament_detail.html:79
|
#: apps/participation/templates/participation/tournament_detail.html:79
|
||||||
msgid "Ranking"
|
msgid "Ranking"
|
||||||
msgstr "Classement"
|
msgstr "Classement"
|
||||||
|
|
||||||
#: apps/participation/templates/participation/pool_detail.html:57
|
#: apps/participation/templates/participation/pool_detail.html:51
|
||||||
#: apps/participation/templates/participation/pool_detail.html:64
|
#: apps/participation/templates/participation/pool_detail.html:62
|
||||||
msgid "Add passage"
|
msgid "Add passage"
|
||||||
msgstr "Ajouter un passage"
|
msgstr "Ajouter un passage"
|
||||||
|
|
||||||
#: apps/participation/templates/participation/pool_detail.html:59
|
#: apps/participation/templates/participation/pool_detail.html:53
|
||||||
#: apps/participation/templates/participation/pool_detail.html:74
|
#: apps/participation/templates/participation/pool_detail.html:72
|
||||||
msgid "Update teams"
|
msgid "Update teams"
|
||||||
msgstr "Modifier les équipes"
|
msgstr "Modifier les équipes"
|
||||||
|
|
||||||
#: apps/participation/templates/participation/pool_detail.html:65
|
#: apps/participation/templates/participation/pool_detail.html:60
|
||||||
|
msgid "Passages"
|
||||||
|
msgstr "Passages"
|
||||||
|
|
||||||
|
#: apps/participation/templates/participation/pool_detail.html:63
|
||||||
#: apps/participation/templates/participation/tournament_detail.html:91
|
#: apps/participation/templates/participation/tournament_detail.html:91
|
||||||
msgid "Add"
|
msgid "Add"
|
||||||
msgstr "Ajouter"
|
msgstr "Ajouter"
|
||||||
|
|
||||||
#: apps/participation/templates/participation/pool_detail.html:69
|
#: apps/participation/templates/participation/pool_detail.html:67
|
||||||
#: 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"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user