Add syntheses templates in information bar

Signed-off-by: Emmy D'Anello <emmy.danello@animath.fr>
This commit is contained in:
Emmy D'Anello 2024-04-03 23:30:31 +02:00
parent 6add9a1419
commit 84860a2875
Signed by: ynerant
GPG Key ID: 3A75C55819C8CF85
2 changed files with 84 additions and 72 deletions

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: TFJM\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-04-03 23:21+0200\n"
"POT-Creation-Date: 2024-04-03 23:29+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: Emmy D'Anello <emmy.danello@animath.fr>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -30,14 +30,14 @@ msgstr "équipes"
#: draw/admin.py:53 draw/admin.py:71 draw/admin.py:88 draw/models.py:26
#: participation/admin.py:79 participation/admin.py:140
#: participation/admin.py:171 participation/models.py:648
#: participation/models.py:672 participation/models.py:841
#: participation/models.py:672 participation/models.py:853
#: registration/models.py:674
#: registration/templates/registration/payment_form.html:53
msgid "tournament"
msgstr "tournoi"
#: draw/admin.py:92 draw/models.py:234 draw/models.py:433
#: participation/models.py:845
#: participation/models.py:857
msgid "round"
msgstr "tour"
@ -175,7 +175,7 @@ msgstr "La poule en cours, où les équipes choisissent leurs problèmes"
msgid "rounds"
msgstr "tours"
#: draw/models.py:257 participation/models.py:859
#: draw/models.py:257 participation/models.py:871
msgid "letter"
msgstr "lettre"
@ -214,17 +214,17 @@ msgid "Pool {letter}{number}"
msgstr "Poule {letter}{number}"
#: draw/models.py:414 draw/models.py:441 participation/admin.py:136
#: participation/admin.py:155 participation/models.py:1328
#: participation/models.py:1337 participation/tables.py:84
#: participation/admin.py:155 participation/models.py:1340
#: participation/models.py:1349 participation/tables.py:84
msgid "pool"
msgstr "poule"
#: draw/models.py:415 participation/models.py:1329
#: draw/models.py:415 participation/models.py:1341
msgid "pools"
msgstr "poules"
#: draw/models.py:427 participation/models.py:831 participation/models.py:1498
#: participation/models.py:1528 participation/models.py:1570
#: draw/models.py:427 participation/models.py:843 participation/models.py:1510
#: participation/models.py:1540 participation/models.py:1582
msgid "participation"
msgstr "participation"
@ -248,8 +248,8 @@ msgid ""
msgstr ""
"L'ordre de choix dans la poule, entre 0 et la taille de la poule moins 1."
#: draw/models.py:464 draw/models.py:487 participation/models.py:1351
#: participation/models.py:1535
#: draw/models.py:464 draw/models.py:487 participation/models.py:1363
#: participation/models.py:1547
#, python-brace-format
msgid "Problem #{problem}"
msgstr "Problème n°{problem}"
@ -457,21 +457,21 @@ msgid "selected for final"
msgstr "sélectionnée pour la finale"
#: participation/admin.py:124 participation/admin.py:183
#: participation/models.py:1358 participation/tables.py:112
#: participation/models.py:1370 participation/tables.py:112
msgid "defender"
msgstr "défenseur⋅se"
#: participation/admin.py:128 participation/models.py:1365
#: participation/models.py:1582
#: participation/admin.py:128 participation/models.py:1377
#: participation/models.py:1594
msgid "opponent"
msgstr "opposant⋅e"
#: participation/admin.py:132 participation/models.py:1372
#: participation/models.py:1583
#: participation/admin.py:132 participation/models.py:1384
#: participation/models.py:1595
msgid "reporter"
msgstr "rapporteur⋅rice"
#: participation/admin.py:187 participation/models.py:1533
#: participation/admin.py:187 participation/models.py:1545
msgid "problem"
msgstr "numéro de problème"
@ -880,7 +880,7 @@ msgstr ""
"tour, vous défendrez <a href='{solution_url}'>votre solution du problème "
"{problem}</a>.</p>"
#: participation/models.py:755 participation/models.py:793
#: participation/models.py:755 participation/models.py:798
#, python-brace-format
msgid ""
"<p>You will oppose the solution of the team {opponent} on the <a "
@ -891,7 +891,7 @@ msgstr ""
"href='{solution_url}'>problème {problem}</a>. Vous pouvez envoyer votre note "
"de synthèse sur <a href='{passage_url}'>cette page</a>.</p>"
#: participation/models.py:764 participation/models.py:801
#: participation/models.py:764 participation/models.py:807
#, python-brace-format
msgid ""
"<p>You will report the solution of the team {reporter} on the <a "
@ -902,11 +902,11 @@ msgstr ""
"href='{solution_url}'>problème {problem}</a>. Vous pouvez envoyer votre note "
"de synthèse sur <a href='{passage_url}'>cette page</a>.</p>"
#: participation/models.py:775 registration/models.py:540
#: participation/models.py:780 registration/models.py:540
msgid "First round"
msgstr "Premier tour"
#: participation/models.py:786
#: participation/models.py:791
#, python-brace-format
msgid ""
"<p>For the second round, you will defend <a href='{solution_url}'>your "
@ -915,11 +915,11 @@ msgstr ""
"<p>Pour le second tour, vous défendrez <a href='{solution_url}'>votre "
"solution du problème {problem}</a>.</p>"
#: participation/models.py:811 registration/models.py:551
#: participation/models.py:823 registration/models.py:551
msgid "Second round"
msgstr "Second tour"
#: participation/models.py:817
#: participation/models.py:829
#, python-brace-format
msgid ""
"<p>The tournament {tournament} is ended. You can check the results on the <a "
@ -928,40 +928,40 @@ msgstr ""
"<p>Le tournoi {tournament} est terminé. Vous pouvez consulter les résultats "
"sur la <a href='{url}'>page du tournoi</a>.</p>"
#: participation/models.py:822
#: participation/models.py:834
msgid "Tournament ended"
msgstr "Tournoi terminé"
#: participation/models.py:832 participation/models.py:865
#: participation/models.py:844 participation/models.py:877
msgid "participations"
msgstr "participations"
#: participation/models.py:847 participation/models.py:848
#: participation/models.py:859 participation/models.py:860
#, python-brace-format
msgid "Round {round}"
msgstr "Tour {round}"
#: participation/models.py:871
#: participation/models.py:883
msgid "juries"
msgstr "jurys"
#: participation/models.py:880
#: participation/models.py:892
msgid "president of the jury"
msgstr "président⋅e du jury"
#: participation/models.py:887
#: participation/models.py:899
msgid "BigBlueButton URL"
msgstr "Lien BigBlueButton"
#: participation/models.py:888
#: participation/models.py:900
msgid "The link of the BBB visio for this pool."
msgstr "Le lien du salon BBB pour cette poule."
#: participation/models.py:893
#: participation/models.py:905
msgid "results available"
msgstr "résultats disponibles"
#: participation/models.py:894
#: participation/models.py:906
msgid ""
"Check this case when results become accessible to teams. They stay "
"accessible to you. Only averages are given."
@ -970,37 +970,37 @@ msgstr ""
"Ils restent toujours accessibles pour vous. Seules les moyennes sont "
"communiquées."
#: participation/models.py:919
#: participation/models.py:931
msgid "The president of the jury must be part of the jury."
msgstr "Læ président⋅e du jury doit faire partie du jury."
#: participation/models.py:1311
#: participation/models.py:1323
#, python-brace-format
msgid "The jury {jury} is not part of the jury for this pool."
msgstr "{jury} ne fait pas partie du jury pour cette poule."
#: participation/models.py:1322
#: participation/models.py:1334
#, python-brace-format
msgid "Pool of day {round} for tournament {tournament} with teams {teams}"
msgstr "Poule du jour {round} du tournoi {tournament} avec les équipes {teams}"
#: participation/models.py:1342
#: participation/models.py:1354
msgid "position"
msgstr "position"
#: participation/models.py:1349
#: participation/models.py:1361
msgid "defended solution"
msgstr "solution défendue"
#: participation/models.py:1382
#: participation/models.py:1394
msgid "observer"
msgstr "observateur⋅rice"
#: participation/models.py:1387
#: participation/models.py:1399
msgid "penalties"
msgstr "pénalités"
#: participation/models.py:1389
#: participation/models.py:1401
msgid ""
"Number of penalties for the defender. The defender will loose a 0.5 "
"coefficient per penalty."
@ -1008,124 +1008,124 @@ msgstr ""
"Nombre de pénalités pour l'équipe défenseuse. Elle perd un coefficient 0.5 "
"sur sa présentation orale par pénalité."
#: participation/models.py:1465 participation/models.py:1468
#: participation/models.py:1471 participation/models.py:1474
#: participation/models.py:1477 participation/models.py:1480
#: participation/models.py:1483 participation/models.py:1486
#, python-brace-format
msgid "Team {trigram} is not registered in the pool."
msgstr "L'équipe {trigram} n'est pas inscrite dans la poule."
#: participation/models.py:1479
#: participation/models.py:1491
#, python-brace-format
msgid "Passage of {defender} for problem {problem}"
msgstr "Passage de {defender} pour le problème {problem}"
#: participation/models.py:1483 participation/models.py:1492
#: participation/models.py:1577 participation/models.py:1619
#: participation/models.py:1495 participation/models.py:1504
#: participation/models.py:1589 participation/models.py:1631
msgid "passage"
msgstr "passage"
#: participation/models.py:1484
#: participation/models.py:1496
msgid "passages"
msgstr "passages"
#: participation/models.py:1503
#: participation/models.py:1515
msgid "difference"
msgstr "différence"
#: participation/models.py:1504
#: participation/models.py:1516
msgid "Score to add/remove on the final score"
msgstr "Score à ajouter/retrancher au score final"
#: participation/models.py:1511
#: participation/models.py:1523
msgid "tweak"
msgstr "harmonisation"
#: participation/models.py:1512
#: participation/models.py:1524
msgid "tweaks"
msgstr "harmonisations"
#: participation/models.py:1540
#: participation/models.py:1552
msgid "solution for the final tournament"
msgstr "solution pour la finale"
#: participation/models.py:1545 participation/models.py:1588
#: participation/models.py:1557 participation/models.py:1600
msgid "file"
msgstr "fichier"
#: participation/models.py:1555
#: participation/models.py:1567
#, python-brace-format
msgid "Solution of team {team} for problem {problem}"
msgstr "Solution de l'équipe {team} pour le problème {problem}"
#: participation/models.py:1557
#: participation/models.py:1569
msgid "for final"
msgstr "pour la finale"
#: participation/models.py:1560
#: participation/models.py:1572
msgid "solution"
msgstr "solution"
#: participation/models.py:1561
#: participation/models.py:1573
msgid "solutions"
msgstr "solutions"
#: participation/models.py:1594
#: participation/models.py:1606
#, python-brace-format
msgid "Synthesis of {team} as {type} for problem {problem} of {defender}"
msgstr ""
"Note de synthèse de l'équipe {team} en tant que {type} pour le problème "
"{problem} de {defender}"
#: participation/models.py:1602
#: participation/models.py:1614
msgid "synthesis"
msgstr "note de synthèse"
#: participation/models.py:1603
#: participation/models.py:1615
msgid "syntheses"
msgstr "notes de synthèse"
#: participation/models.py:1612
#: participation/models.py:1624
msgid "jury"
msgstr "jury"
#: participation/models.py:1624
#: participation/models.py:1636
msgid "defender writing note"
msgstr "note d'écrit défenseur⋅se"
#: participation/models.py:1630
#: participation/models.py:1642
msgid "defender oral note"
msgstr "note d'oral défenseur⋅se"
#: participation/models.py:1636
#: participation/models.py:1648
msgid "opponent writing note"
msgstr "note d'écrit opposant⋅e"
#: participation/models.py:1642
#: participation/models.py:1654
msgid "opponent oral note"
msgstr "note d'oral opposant⋅e"
#: participation/models.py:1648
#: participation/models.py:1660
msgid "reporter writing note"
msgstr "note d'écrit rapporteur⋅rice"
#: participation/models.py:1654
#: participation/models.py:1666
msgid "reporter oral note"
msgstr "note d'oral du rapporteur⋅rice"
#: participation/models.py:1660
#: participation/models.py:1672
msgid "observer note"
msgstr "note de l'observation"
#: participation/models.py:1721
#: participation/models.py:1733
#, python-brace-format
msgid "Notes of {jury} for {passage}"
msgstr "Notes de {jury} pour le {passage}"
#: participation/models.py:1724
#: participation/models.py:1736
msgid "note"
msgstr "note"
#: participation/models.py:1725
#: participation/models.py:1737
msgid "notes"
msgstr "notes"

View File

@ -770,7 +770,12 @@ class Participation(models.Model):
solution_url=solution_url,
problem=reporter_passage.solution_number, passage_url=passage_url)
content = defender_content + opponent_content + reporter_content
syntheses_template_begin = f"{settings.STATIC_URL}Fiche_synthèse."
syntheses_templates = "".join(f"<a href='{syntheses_template_begin}{ext}'>{ext.upper()}</a>"
for ext in ["pdf", "tex", "odt", "docx"])
syntheses_templates_content = f"<p>{_('Templates:')} {syntheses_templates}</p>"
content = defender_content + opponent_content + reporter_content + syntheses_templates_content
informations.append({
'title': _("First round"),
'type': "info",
@ -796,6 +801,7 @@ class Participation(models.Model):
solution_url = opponent_passage.defended_solution.file.url
passage_url = reverse_lazy("participation:passage_detail", args=(opponent_passage.pk,))
opponent_content = format_lazy(opponent_text, opponent=opponent_passage.defender.team.trigram,
solution_url=solution_url,
problem=opponent_passage.solution_number, passage_url=passage_url)
reporter_text = _("<p>You will report the solution of the team {reporter} on the "
@ -804,9 +810,15 @@ class Participation(models.Model):
solution_url = reporter_passage.defended_solution.file.url
passage_url = reverse_lazy("participation:passage_detail", args=(reporter_passage.pk,))
reporter_content = format_lazy(reporter_text, reporter=reporter_passage.defender.team.trigram,
solution_url=solution_url,
problem=reporter_passage.solution_number, passage_url=passage_url)
content = defender_content + opponent_content + reporter_content
syntheses_template_begin = f"{settings.STATIC_URL}Fiche_synthèse."
syntheses_templates = "".join(f"<a href='{syntheses_template_begin}{ext}'>{ext.upper()}</a>"
for ext in ["pdf", "tex", "odt", "docx"])
syntheses_templates_content = f"<p>{_('Templates:')} {syntheses_templates}</p>"
content = defender_content + opponent_content + reporter_content + syntheses_templates_content
informations.append({
'title': _("Second round"),
'type': "info",