Fix buttons for third round
Signed-off-by: Emmy D'Anello <emmy.danello@animath.fr>
This commit is contained in:
parent
2e99b3ea8e
commit
40db20a471
|
@ -7,7 +7,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: TFJM\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-07-05 16:44+0200\n"
|
||||
"POT-Creation-Date: 2024-07-06 10:16+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"
|
||||
|
@ -78,8 +78,8 @@ msgstr "Type de permission nécessaire pour écrire un message dans un canal."
|
|||
|
||||
#: chat/models.py:62 draw/admin.py:53 draw/admin.py:71 draw/admin.py:88
|
||||
#: draw/models.py:27 participation/admin.py:79 participation/admin.py:144
|
||||
#: participation/admin.py:176 participation/models.py:781
|
||||
#: participation/models.py:805 participation/models.py:1114
|
||||
#: participation/admin.py:176 participation/models.py:783
|
||||
#: participation/models.py:807 participation/models.py:1116
|
||||
#: registration/models.py:763
|
||||
#: registration/templates/registration/payment_form.html:53
|
||||
msgid "tournament"
|
||||
|
@ -95,7 +95,7 @@ msgstr ""
|
|||
|
||||
#: chat/models.py:73 draw/models.py:446 draw/models.py:473
|
||||
#: participation/admin.py:140 participation/admin.py:160
|
||||
#: participation/models.py:1642 participation/models.py:1651
|
||||
#: participation/models.py:1651 participation/models.py:1660
|
||||
#: participation/tables.py:84
|
||||
msgid "pool"
|
||||
msgstr "poule"
|
||||
|
@ -109,7 +109,7 @@ msgstr ""
|
|||
|
||||
#: chat/models.py:84 draw/templates/draw/tournament_content.html:277
|
||||
#: participation/admin.py:172 participation/models.py:261
|
||||
#: participation/models.py:796
|
||||
#: participation/models.py:798
|
||||
#: participation/templates/participation/tournament_harmonize.html:15
|
||||
#: registration/models.py:158 registration/models.py:754
|
||||
#: registration/tables.py:39
|
||||
|
@ -265,7 +265,7 @@ msgid "teams"
|
|||
msgstr "équipes"
|
||||
|
||||
#: draw/admin.py:92 draw/models.py:245 draw/models.py:465
|
||||
#: participation/models.py:1118
|
||||
#: participation/models.py:1120
|
||||
msgid "round"
|
||||
msgstr "tour"
|
||||
|
||||
|
@ -634,7 +634,7 @@ msgstr "Le numéro du tour doit être entre 1 et {nb}."
|
|||
msgid "rounds"
|
||||
msgstr "tours"
|
||||
|
||||
#: draw/models.py:268 participation/models.py:1126
|
||||
#: draw/models.py:268 participation/models.py:1128
|
||||
msgid "letter"
|
||||
msgstr "lettre"
|
||||
|
||||
|
@ -672,12 +672,12 @@ msgstr "L'instance complète de la poule."
|
|||
msgid "Pool {letter}{number}"
|
||||
msgstr "Poule {letter}{number}"
|
||||
|
||||
#: draw/models.py:447 participation/models.py:1643
|
||||
#: draw/models.py:447 participation/models.py:1652
|
||||
msgid "pools"
|
||||
msgstr "poules"
|
||||
|
||||
#: draw/models.py:459 participation/models.py:1104 participation/models.py:1862
|
||||
#: participation/models.py:1892 participation/models.py:1934
|
||||
#: draw/models.py:459 participation/models.py:1106 participation/models.py:1871
|
||||
#: participation/models.py:1901 participation/models.py:1943
|
||||
msgid "participation"
|
||||
msgstr "participation"
|
||||
|
||||
|
@ -701,9 +701,9 @@ msgid ""
|
|||
msgstr ""
|
||||
"L'ordre de choix dans la poule, entre 0 et la taille de la poule moins 1."
|
||||
|
||||
#: draw/models.py:496 draw/models.py:519 participation/models.py:1234
|
||||
#: participation/models.py:1665 participation/models.py:1899
|
||||
#: participation/views.py:1487 participation/views.py:1752
|
||||
#: draw/models.py:496 draw/models.py:519 participation/models.py:1237
|
||||
#: participation/models.py:1674 participation/models.py:1908
|
||||
#: participation/views.py:1489 participation/views.py:1754
|
||||
#, python-brace-format
|
||||
msgid "Problem #{problem}"
|
||||
msgstr "Problème n°{problem}"
|
||||
|
@ -914,31 +914,31 @@ msgstr "Changelog de type \"{action}\" pour le modèle {model} le {timestamp}"
|
|||
msgid "valid"
|
||||
msgstr "valide"
|
||||
|
||||
#: participation/admin.py:87 participation/models.py:817
|
||||
#: participation/admin.py:87 participation/models.py:819
|
||||
msgid "selected for final"
|
||||
msgstr "sélectionnée pour la finale"
|
||||
|
||||
#: participation/admin.py:124 participation/admin.py:188
|
||||
#: participation/models.py:1672 participation/tables.py:114
|
||||
#: participation/models.py:1681 participation/tables.py:114
|
||||
msgid "defender"
|
||||
msgstr "défenseur⋅se"
|
||||
|
||||
#: participation/admin.py:128 participation/models.py:1679
|
||||
#: participation/models.py:1946
|
||||
#: participation/admin.py:128 participation/models.py:1688
|
||||
#: participation/models.py:1955
|
||||
msgid "opponent"
|
||||
msgstr "opposant⋅e"
|
||||
|
||||
#: participation/admin.py:132 participation/models.py:1686
|
||||
#: participation/models.py:1947
|
||||
#: participation/admin.py:132 participation/models.py:1695
|
||||
#: participation/models.py:1956
|
||||
msgid "reviewer"
|
||||
msgstr "rapporteur⋅rice"
|
||||
|
||||
#: participation/admin.py:136 participation/models.py:1693
|
||||
#: participation/models.py:1948
|
||||
#: participation/admin.py:136 participation/models.py:1702
|
||||
#: participation/models.py:1957
|
||||
msgid "observer"
|
||||
msgstr "observateur⋅rice"
|
||||
|
||||
#: participation/admin.py:192 participation/models.py:1897
|
||||
#: participation/admin.py:192 participation/models.py:1906
|
||||
msgid "problem"
|
||||
msgstr "numéro de problème"
|
||||
|
||||
|
@ -1289,12 +1289,12 @@ msgid "Google Sheet ID"
|
|||
msgstr "ID de la feuille Google Sheets"
|
||||
|
||||
#: participation/models.py:473 participation/models.py:474
|
||||
#: participation/models.py:476 participation/models.py:714
|
||||
#: participation/models.py:476 participation/models.py:716
|
||||
msgid "Final ranking"
|
||||
msgstr "Classement final"
|
||||
|
||||
#: participation/models.py:481 participation/models.py:551
|
||||
#: participation/models.py:1309 participation/views.py:1726
|
||||
#: participation/models.py:481 participation/models.py:553
|
||||
#: participation/models.py:1312 participation/views.py:1728
|
||||
msgid "Team"
|
||||
msgstr "Équipe"
|
||||
|
||||
|
@ -1306,82 +1306,82 @@ msgstr "Scores jour 1"
|
|||
msgid "Tweaks day 1"
|
||||
msgstr "Ajustements 1"
|
||||
|
||||
#: participation/models.py:481
|
||||
#: participation/models.py:482
|
||||
msgid "Scores day 2"
|
||||
msgstr "Scores jour 2"
|
||||
|
||||
#: participation/models.py:481
|
||||
#: participation/models.py:482
|
||||
msgid "Tweaks day 2"
|
||||
msgstr "Ajustements 2"
|
||||
|
||||
#: participation/models.py:482
|
||||
#: participation/models.py:483
|
||||
msgid "Total D1 + D2"
|
||||
msgstr "Total J1 + J2"
|
||||
|
||||
#: participation/models.py:482
|
||||
#: participation/models.py:483
|
||||
msgid "Scores day 3"
|
||||
msgstr "Scores jour 3"
|
||||
|
||||
#: participation/models.py:482
|
||||
#: participation/models.py:483
|
||||
msgid "Tweaks day 3"
|
||||
msgstr "Ajustements 3"
|
||||
|
||||
#: participation/models.py:484 participation/models.py:1309
|
||||
#: participation/views.py:1733
|
||||
#: participation/models.py:485 participation/models.py:1312
|
||||
#: participation/views.py:1735
|
||||
msgid "Total"
|
||||
msgstr "Total"
|
||||
|
||||
#: participation/models.py:484 participation/models.py:551
|
||||
#: participation/models.py:1309
|
||||
#: participation/models.py:485 participation/models.py:553
|
||||
#: participation/models.py:1312
|
||||
#: participation/templates/participation/tournament_harmonize.html:14
|
||||
#: participation/views.py:1736
|
||||
#: participation/views.py:1738
|
||||
msgid "Rank"
|
||||
msgstr "Rang"
|
||||
|
||||
#: participation/models.py:551 participation/models.py:716
|
||||
#: participation/models.py:553 participation/models.py:718
|
||||
msgid "Score"
|
||||
msgstr "Score"
|
||||
|
||||
#: participation/models.py:551
|
||||
#: participation/models.py:553
|
||||
msgid "Mention"
|
||||
msgstr "Mention"
|
||||
|
||||
#: participation/models.py:696 participation/models.py:1572
|
||||
#: participation/models.py:698 participation/models.py:1581
|
||||
msgid "Don't update the table structure for a better automated integration."
|
||||
msgstr ""
|
||||
"Ne pas mettre à jour la structure de la table pour une meilleure intégration "
|
||||
"automatisée."
|
||||
|
||||
#: participation/models.py:782 registration/admin.py:125
|
||||
#: participation/models.py:784 registration/admin.py:125
|
||||
msgid "tournaments"
|
||||
msgstr "tournois"
|
||||
|
||||
#: participation/models.py:811
|
||||
#: participation/models.py:813
|
||||
msgid "valid team"
|
||||
msgstr "équipe valide"
|
||||
|
||||
#: participation/models.py:812
|
||||
#: participation/models.py:814
|
||||
msgid "The participation got the validation of the organizers."
|
||||
msgstr "La participation a été validée par les organisateur⋅rices."
|
||||
|
||||
#: participation/models.py:818
|
||||
#: participation/models.py:820
|
||||
msgid "The team is selected for the final tournament."
|
||||
msgstr "L'équipe est sélectionnée pour la finale."
|
||||
|
||||
#: participation/models.py:822
|
||||
#: participation/models.py:824
|
||||
msgid "mention"
|
||||
msgstr "mention"
|
||||
|
||||
#: participation/models.py:829
|
||||
#: participation/models.py:831
|
||||
msgid "mention (final)"
|
||||
msgstr "Mention (pour la finale) :"
|
||||
|
||||
#: participation/models.py:839
|
||||
#: participation/models.py:841
|
||||
#, python-brace-format
|
||||
msgid "Participation of the team {name} ({trigram})"
|
||||
msgstr "Participation de l'équipe {name} ({trigram})"
|
||||
|
||||
#: participation/models.py:846
|
||||
#: participation/models.py:848
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"<p>The team {trigram} has {nb_missing_payments} missing payments. Each "
|
||||
|
@ -1394,11 +1394,11 @@ msgstr ""
|
|||
"notification de bourse) pour participer au tournoi.</p><p>Les participant⋅es "
|
||||
"qui n'ont pas encore payé sont : {participants}.</p>"
|
||||
|
||||
#: participation/models.py:854
|
||||
#: participation/models.py:856
|
||||
msgid "Missing payments"
|
||||
msgstr "Paiements manquants"
|
||||
|
||||
#: participation/models.py:871
|
||||
#: participation/models.py:873
|
||||
msgid ""
|
||||
"<p>The solutions for the tournament of {tournament} are due on the {date:%Y-"
|
||||
"%m-%d %H:%M}.</p><p>You have currently sent <strong>{nb_solutions}</strong> "
|
||||
|
@ -1413,11 +1413,11 @@ msgstr ""
|
|||
"pouvez envoyer vos solutions sur <a href='{url}'>votre page de "
|
||||
"participation</a>.</p>"
|
||||
|
||||
#: participation/models.py:881 participation/models.py:895
|
||||
#: participation/models.py:883 participation/models.py:897
|
||||
msgid "Solutions due"
|
||||
msgstr "Rendu des solutions"
|
||||
|
||||
#: participation/models.py:887
|
||||
#: participation/models.py:889
|
||||
msgid ""
|
||||
"<p>The solutions for the tournament of {tournament} are due on the {date:%Y-"
|
||||
"%m-%d %H:%M}.</p><p>Remember that you can only fix minor changes to your "
|
||||
|
@ -1430,7 +1430,7 @@ msgstr ""
|
|||
"parties.</p><p>Vous pouvez envoyer vos solutions sur <a href='{url}'>votre "
|
||||
"page de participation</a>.</p>"
|
||||
|
||||
#: participation/models.py:901 registration/models.py:607
|
||||
#: participation/models.py:903 registration/models.py:607
|
||||
msgid ""
|
||||
"<p>The draw of the solutions for the tournament {tournament} is planned on "
|
||||
"the {date:%Y-%m-%d %H:%M}. You can join it on <a href='{url}'>this link</a>."
|
||||
|
@ -1440,11 +1440,11 @@ msgstr ""
|
|||
"{date:%d/%m/%Y %H:%M}. Vous pouvez y participer sur <a href='{url}'>ce lien</"
|
||||
"a>.</p>"
|
||||
|
||||
#: participation/models.py:907 registration/models.py:614
|
||||
#: participation/models.py:909 registration/models.py:614
|
||||
msgid "Draw of solutions"
|
||||
msgstr "Tirage au sort des solutions"
|
||||
|
||||
#: participation/models.py:919
|
||||
#: participation/models.py:921
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"<p>The solutions draw is ended. You can check the result on <a "
|
||||
|
@ -1456,8 +1456,8 @@ msgstr ""
|
|||
"tour, vous défendrez <a href='{solution_url}'>votre solution du problème "
|
||||
"{problem}</a>.</p>"
|
||||
|
||||
#: participation/models.py:928 participation/models.py:986
|
||||
#: participation/models.py:1045
|
||||
#: participation/models.py:930 participation/models.py:988
|
||||
#: participation/models.py:1047
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"<p>You will oppose the solution of the team {opponent} on the <a "
|
||||
|
@ -1468,8 +1468,8 @@ 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:937 participation/models.py:995
|
||||
#: participation/models.py:1054
|
||||
#: participation/models.py:939 participation/models.py:997
|
||||
#: participation/models.py:1056
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"<p>You will report the solution of the team {reviewer} on the <a "
|
||||
|
@ -1480,8 +1480,8 @@ 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:947 participation/models.py:1005
|
||||
#: participation/models.py:1064
|
||||
#: participation/models.py:949 participation/models.py:1007
|
||||
#: participation/models.py:1066
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"<p>You will observe the solution of the team {observer} on the <a "
|
||||
|
@ -1492,11 +1492,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:967 registration/models.py:629
|
||||
#: participation/models.py:969 registration/models.py:629
|
||||
msgid "First round"
|
||||
msgstr "Premier tour"
|
||||
|
||||
#: participation/models.py:979
|
||||
#: participation/models.py:981
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"<p>For the second round, you will defend <a href='{solution_url}'>your "
|
||||
|
@ -1505,12 +1505,12 @@ msgstr ""
|
|||
"<p>Pour le second tour, vous défendrez <a href='{solution_url}'>votre "
|
||||
"solution du problème {problem}</a>.</p>"
|
||||
|
||||
#: participation/models.py:1025 participation/models.py:1084
|
||||
#: participation/models.py:1027 participation/models.py:1086
|
||||
#: registration/models.py:640
|
||||
msgid "Second round"
|
||||
msgstr "Second tour"
|
||||
|
||||
#: participation/models.py:1038
|
||||
#: participation/models.py:1040
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"<p>For the third round, you will defend <a href='{solution_url}'>your "
|
||||
|
@ -1519,7 +1519,7 @@ msgstr ""
|
|||
"<p>Pour le troisième tour, vous défendrez <a href='{solution_url}'>votre "
|
||||
"solution du problème {problem}</a>.</p>"
|
||||
|
||||
#: participation/models.py:1090
|
||||
#: participation/models.py:1092
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"<p>The tournament {tournament} is ended. You can check the results on the <a "
|
||||
|
@ -1528,57 +1528,57 @@ 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:1095
|
||||
#: participation/models.py:1097
|
||||
msgid "Tournament ended"
|
||||
msgstr "Tournoi terminé"
|
||||
|
||||
#: participation/models.py:1105 participation/models.py:1148
|
||||
#: participation/models.py:1107 participation/models.py:1150
|
||||
msgid "participations"
|
||||
msgstr "participations"
|
||||
|
||||
#: participation/models.py:1120 participation/models.py:1121
|
||||
#: participation/models.py:1122
|
||||
#: participation/models.py:1122 participation/models.py:1123
|
||||
#: participation/models.py:1124
|
||||
#, python-brace-format
|
||||
msgid "Round {round}"
|
||||
msgstr "Tour {round}"
|
||||
|
||||
#: participation/models.py:1136
|
||||
#: participation/models.py:1138
|
||||
msgid "room"
|
||||
msgstr "salle"
|
||||
|
||||
#: participation/models.py:1138
|
||||
#: participation/models.py:1140
|
||||
msgid "Room 1"
|
||||
msgstr "Salle 1"
|
||||
|
||||
#: participation/models.py:1139
|
||||
#: participation/models.py:1141
|
||||
msgid "Room 2"
|
||||
msgstr "Salle 2"
|
||||
|
||||
#: participation/models.py:1142
|
||||
#: participation/models.py:1144
|
||||
msgid "For 5-teams pools only"
|
||||
msgstr "Pour les poules de 5 équipe uniquement"
|
||||
|
||||
#: participation/models.py:1154
|
||||
#: participation/models.py:1156
|
||||
msgid "juries"
|
||||
msgstr "jurys"
|
||||
|
||||
#: participation/models.py:1163
|
||||
#: participation/models.py:1165
|
||||
msgid "president of the jury"
|
||||
msgstr "président⋅e du jury"
|
||||
|
||||
#: participation/models.py:1170
|
||||
#: participation/models.py:1172
|
||||
msgid "BigBlueButton URL"
|
||||
msgstr "Lien BigBlueButton"
|
||||
|
||||
#: participation/models.py:1171
|
||||
#: participation/models.py:1173
|
||||
msgid "The link of the BBB visio for this pool."
|
||||
msgstr "Le lien du salon BBB pour cette poule."
|
||||
|
||||
#: participation/models.py:1176
|
||||
#: participation/models.py:1178
|
||||
msgid "results available"
|
||||
msgstr "résultats disponibles"
|
||||
|
||||
#: participation/models.py:1177
|
||||
#: participation/models.py:1179
|
||||
msgid ""
|
||||
"Check this case when results become accessible to teams. They stay "
|
||||
"accessible to you. Only averages are given."
|
||||
|
@ -1587,61 +1587,65 @@ msgstr ""
|
|||
"Ils restent toujours accessibles pour vous. Seules les moyennes sont "
|
||||
"communiquées."
|
||||
|
||||
#: participation/models.py:1209
|
||||
#: participation/models.py:1211
|
||||
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:1235 participation/models.py:1309
|
||||
#: participation/views.py:1481 participation/views.py:1730
|
||||
#: participation/models.py:1238 participation/models.py:1312
|
||||
#: participation/views.py:1483 participation/views.py:1732
|
||||
msgid "Problem"
|
||||
msgstr "Problème"
|
||||
|
||||
#: participation/models.py:1245 participation/views.py:1530
|
||||
#: participation/views.py:1531
|
||||
#: participation/models.py:1243 participation/views.py:1498
|
||||
msgid "Role"
|
||||
msgstr "Rôle"
|
||||
|
||||
#: participation/models.py:1248 participation/views.py:1532
|
||||
#: participation/views.py:1533
|
||||
msgid "Juree"
|
||||
msgstr "Juré⋅e"
|
||||
|
||||
#: participation/models.py:1268 participation/models.py:1588
|
||||
#: participation/models.py:1610 participation/views.py:1600
|
||||
#: participation/models.py:1271 participation/models.py:1597
|
||||
#: participation/models.py:1619 participation/views.py:1602
|
||||
msgid "Average"
|
||||
msgstr "Moyenne"
|
||||
|
||||
#: participation/models.py:1274 participation/views.py:1619
|
||||
#: participation/models.py:1277 participation/views.py:1621
|
||||
msgid "Coefficient"
|
||||
msgstr "Coefficien"
|
||||
|
||||
#: participation/models.py:1275 participation/views.py:1662
|
||||
#: participation/models.py:1278 participation/views.py:1664
|
||||
msgid "Subtotal"
|
||||
msgstr "Sous-total"
|
||||
|
||||
#: participation/models.py:1535
|
||||
#: participation/models.py:1544
|
||||
#, python-brace-format
|
||||
msgid "Input must be a valid integer between {min_note} and {max_note}."
|
||||
msgstr "L'entrée doit être un entier valide entre {min_note} et {max_note}."
|
||||
|
||||
#: participation/models.py:1623
|
||||
#: participation/models.py:1632
|
||||
#, 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:1636
|
||||
#: participation/models.py:1645
|
||||
#, python-brace-format
|
||||
msgid "Pool {code} for tournament {tournament} with teams {teams}"
|
||||
msgstr "Poule {code} du tournoi {tournament} avec les équipes {teams}"
|
||||
|
||||
#: participation/models.py:1656
|
||||
#: participation/models.py:1665
|
||||
msgid "position"
|
||||
msgstr "position"
|
||||
|
||||
#: participation/models.py:1663
|
||||
#: participation/models.py:1672
|
||||
msgid "defended solution"
|
||||
msgstr "solution défendue"
|
||||
|
||||
#: participation/models.py:1701
|
||||
#: participation/models.py:1710
|
||||
msgid "penalties"
|
||||
msgstr "pénalités"
|
||||
|
||||
#: participation/models.py:1703
|
||||
#: participation/models.py:1712
|
||||
msgid ""
|
||||
"Number of penalties for the defender. The defender will loose a 0.5 "
|
||||
"coefficient per penalty."
|
||||
|
@ -1649,128 +1653,128 @@ 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:1829 participation/models.py:1832
|
||||
#: participation/models.py:1835 participation/models.py:1838
|
||||
#: participation/models.py:1838 participation/models.py:1841
|
||||
#: participation/models.py:1844 participation/models.py:1847
|
||||
#, 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:1843
|
||||
#: participation/models.py:1852
|
||||
#, python-brace-format
|
||||
msgid "Passage of {defender} for problem {problem}"
|
||||
msgstr "Passage de {defender} pour le problème {problem}"
|
||||
|
||||
#: participation/models.py:1847 participation/models.py:1856
|
||||
#: participation/models.py:1941 participation/models.py:1984
|
||||
#: participation/models.py:1856 participation/models.py:1865
|
||||
#: participation/models.py:1950 participation/models.py:1993
|
||||
msgid "passage"
|
||||
msgstr "passage"
|
||||
|
||||
#: participation/models.py:1848
|
||||
#: participation/models.py:1857
|
||||
msgid "passages"
|
||||
msgstr "passages"
|
||||
|
||||
#: participation/models.py:1867
|
||||
#: participation/models.py:1876
|
||||
msgid "difference"
|
||||
msgstr "différence"
|
||||
|
||||
#: participation/models.py:1868
|
||||
#: participation/models.py:1877
|
||||
msgid "Score to add/remove on the final score"
|
||||
msgstr "Score à ajouter/retrancher au score final"
|
||||
|
||||
#: participation/models.py:1875
|
||||
#: participation/models.py:1884
|
||||
msgid "tweak"
|
||||
msgstr "harmonisation"
|
||||
|
||||
#: participation/models.py:1876
|
||||
#: participation/models.py:1885
|
||||
msgid "tweaks"
|
||||
msgstr "harmonisations"
|
||||
|
||||
#: participation/models.py:1904
|
||||
#: participation/models.py:1913
|
||||
msgid "solution for the final tournament"
|
||||
msgstr "solution pour la finale"
|
||||
|
||||
#: participation/models.py:1909 participation/models.py:1953
|
||||
#: participation/models.py:1918 participation/models.py:1962
|
||||
msgid "file"
|
||||
msgstr "fichier"
|
||||
|
||||
#: participation/models.py:1919
|
||||
#: participation/models.py:1928
|
||||
#, 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:1921
|
||||
#: participation/models.py:1930
|
||||
msgid "for final"
|
||||
msgstr "pour la finale"
|
||||
|
||||
#: participation/models.py:1924
|
||||
#: participation/models.py:1933
|
||||
msgid "solution"
|
||||
msgstr "solution"
|
||||
|
||||
#: participation/models.py:1925
|
||||
#: participation/models.py:1934
|
||||
msgid "solutions"
|
||||
msgstr "solutions"
|
||||
|
||||
#: participation/models.py:1959
|
||||
#: participation/models.py:1968
|
||||
#, 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:1967
|
||||
#: participation/models.py:1976
|
||||
msgid "synthesis"
|
||||
msgstr "note de synthèse"
|
||||
|
||||
#: participation/models.py:1968
|
||||
#: participation/models.py:1977
|
||||
msgid "syntheses"
|
||||
msgstr "notes de synthèse"
|
||||
|
||||
#: participation/models.py:1977
|
||||
#: participation/models.py:1986
|
||||
msgid "jury"
|
||||
msgstr "jury"
|
||||
|
||||
#: participation/models.py:1989
|
||||
#: participation/models.py:1998
|
||||
msgid "defender writing note"
|
||||
msgstr "note d'écrit défenseur⋅se"
|
||||
|
||||
#: participation/models.py:1995
|
||||
#: participation/models.py:2004
|
||||
msgid "defender oral note"
|
||||
msgstr "note d'oral défenseur⋅se"
|
||||
|
||||
#: participation/models.py:2001
|
||||
#: participation/models.py:2010
|
||||
msgid "opponent writing note"
|
||||
msgstr "note d'écrit opposant⋅e"
|
||||
|
||||
#: participation/models.py:2007
|
||||
#: participation/models.py:2016
|
||||
msgid "opponent oral note"
|
||||
msgstr "note d'oral opposant⋅e"
|
||||
|
||||
#: participation/models.py:2013
|
||||
#: participation/models.py:2022
|
||||
msgid "reviewer writing note"
|
||||
msgstr "note d'écrit rapporteur⋅rice"
|
||||
|
||||
#: participation/models.py:2019
|
||||
#: participation/models.py:2028
|
||||
msgid "reviewer oral note"
|
||||
msgstr "note d'oral du rapporteur⋅rice"
|
||||
|
||||
#: participation/models.py:2025
|
||||
#: participation/models.py:2034
|
||||
msgid "observer writing note"
|
||||
msgstr "note d'écrit de l'observateur⋅rice"
|
||||
|
||||
#: participation/models.py:2031
|
||||
#: participation/models.py:2040
|
||||
msgid "observer oral note"
|
||||
msgstr "note d'oral de l'observateur⋅rice"
|
||||
|
||||
#: participation/models.py:2096
|
||||
#: participation/models.py:2105
|
||||
#, python-brace-format
|
||||
msgid "Notes of {jury} for {passage}"
|
||||
msgstr "Notes de {jury} pour le {passage}"
|
||||
|
||||
#: participation/models.py:2099
|
||||
#: participation/models.py:2108
|
||||
msgid "note"
|
||||
msgstr "note"
|
||||
|
||||
#: participation/models.py:2100
|
||||
#: participation/models.py:2109
|
||||
msgid "notes"
|
||||
msgstr "notes"
|
||||
|
||||
|
@ -2420,31 +2424,41 @@ msgstr "Sélectionner pour la finale"
|
|||
|
||||
#: participation/templates/participation/tournament_detail.html:148
|
||||
#: participation/templates/participation/tournament_detail.html:152
|
||||
#: participation/templates/participation/tournament_detail.html:157
|
||||
msgid "Harmonize"
|
||||
msgstr "Harmoniser"
|
||||
|
||||
#: participation/templates/participation/tournament_detail.html:148
|
||||
#: participation/templates/participation/tournament_detail.html:152
|
||||
#: participation/templates/participation/tournament_detail.html:157
|
||||
msgid "Day"
|
||||
msgstr "Jour"
|
||||
|
||||
#: participation/templates/participation/tournament_detail.html:161
|
||||
#: participation/templates/participation/tournament_detail.html:167
|
||||
msgid "Publish notes for first round"
|
||||
msgstr "Publier les notes pour le premier tour"
|
||||
|
||||
#: participation/templates/participation/tournament_detail.html:166
|
||||
#: participation/templates/participation/tournament_detail.html:172
|
||||
msgid "Unpublish notes for first round"
|
||||
msgstr "Dépublier les notes pour le premier tour"
|
||||
|
||||
#: participation/templates/participation/tournament_detail.html:172
|
||||
#: participation/templates/participation/tournament_detail.html:178
|
||||
msgid "Publish notes for second round"
|
||||
msgstr "Publier les notes pour le second tour"
|
||||
|
||||
#: participation/templates/participation/tournament_detail.html:177
|
||||
#: participation/templates/participation/tournament_detail.html:183
|
||||
msgid "Unpublish notes for second round"
|
||||
msgstr "Dépublier les notes pour le second tour"
|
||||
|
||||
#: participation/templates/participation/tournament_detail.html:189
|
||||
#: participation/templates/participation/tournament_detail.html:190
|
||||
msgid "Publish notes for third round"
|
||||
msgstr "Publier les notes pour le troisième tour"
|
||||
|
||||
#: participation/templates/participation/tournament_detail.html:195
|
||||
msgid "Unpublish notes for third round"
|
||||
msgstr "Dépublier les notes pour le troisième tour"
|
||||
|
||||
#: participation/templates/participation/tournament_detail.html:208
|
||||
msgid "Files available for download"
|
||||
msgstr "Fichiers disponibles au téléchargement"
|
||||
|
||||
|
@ -2615,126 +2629,122 @@ msgstr "L'équipe n'est pas encore validée."
|
|||
msgid "Participation of team {trigram}"
|
||||
msgstr "Participation de l'équipe {trigram}"
|
||||
|
||||
#: participation/views.py:654
|
||||
#: participation/views.py:655
|
||||
#, python-brace-format
|
||||
msgid "Payments of {tournament}"
|
||||
msgstr "Paiements de {tournament}"
|
||||
|
||||
#: participation/views.py:754
|
||||
#: participation/views.py:755
|
||||
msgid "Notes published!"
|
||||
msgstr "Notes publiées !"
|
||||
|
||||
#: participation/views.py:756
|
||||
#: participation/views.py:757
|
||||
msgid "Notes hidden!"
|
||||
msgstr "Notes dissimulées !"
|
||||
|
||||
#: participation/views.py:787
|
||||
#: participation/views.py:788
|
||||
#, python-brace-format
|
||||
msgid "Harmonize notes of {tournament} - Day {round}"
|
||||
msgstr "Harmoniser les notes de {tournament} - Jour {round}"
|
||||
|
||||
#: participation/views.py:900
|
||||
#: participation/views.py:902
|
||||
msgid "You can't upload a solution after the deadline."
|
||||
msgstr "Vous ne pouvez pas envoyer de solution après la date limite."
|
||||
|
||||
#: participation/views.py:1020
|
||||
#: participation/views.py:1022
|
||||
#, python-brace-format
|
||||
msgid "Solutions of team {trigram}.zip"
|
||||
msgstr "Solutions de l'équipe {trigram}.zip"
|
||||
|
||||
#: participation/views.py:1020
|
||||
#: participation/views.py:1022
|
||||
#, python-brace-format
|
||||
msgid "Syntheses of team {trigram}.zip"
|
||||
msgstr "Notes de synthèse de l'équipe {trigram}.zip"
|
||||
|
||||
#: participation/views.py:1037 participation/views.py:1052
|
||||
#: participation/views.py:1039 participation/views.py:1054
|
||||
#, python-brace-format
|
||||
msgid "Solutions of {tournament}.zip"
|
||||
msgstr "Solutions de {tournament}.zip"
|
||||
|
||||
#: participation/views.py:1037 participation/views.py:1052
|
||||
#: participation/views.py:1039 participation/views.py:1054
|
||||
#, python-brace-format
|
||||
msgid "Syntheses of {tournament}.zip"
|
||||
msgstr "Notes de synthèse de {tournament}.zip"
|
||||
|
||||
#: participation/views.py:1061
|
||||
#: participation/views.py:1063
|
||||
#, python-brace-format
|
||||
msgid "Solutions for pool {pool} of tournament {tournament}.zip"
|
||||
msgstr "Solutions pour la poule {pool} du tournoi {tournament}.zip"
|
||||
|
||||
#: participation/views.py:1062
|
||||
#: participation/views.py:1064
|
||||
#, python-brace-format
|
||||
msgid "Syntheses for pool {pool} of tournament {tournament}.zip"
|
||||
msgstr "Notes de synthèses pour la poule {pool} du tournoi {tournament}.zip"
|
||||
|
||||
#: participation/views.py:1104
|
||||
#: participation/views.py:1106
|
||||
#, python-brace-format
|
||||
msgid "Jury of pool {pool} for {tournament} with teams {teams}"
|
||||
msgstr "Jury de la poule {pool} pour {tournament} avec les équipes {teams}"
|
||||
|
||||
#: participation/views.py:1120
|
||||
#: participation/views.py:1122
|
||||
#, python-brace-format
|
||||
msgid "The jury {name} is already in the pool!"
|
||||
msgstr "{name} est déjà dans la poule !"
|
||||
|
||||
#: participation/views.py:1140
|
||||
#: participation/views.py:1142
|
||||
msgid "New jury account"
|
||||
msgstr "Nouveau compte de juré⋅e"
|
||||
|
||||
#: participation/views.py:1161
|
||||
#: participation/views.py:1163
|
||||
#, python-brace-format
|
||||
msgid "The jury {name} has been successfully added!"
|
||||
msgstr "{name} a été ajouté⋅e avec succès en tant que juré⋅e !"
|
||||
|
||||
#: participation/views.py:1197
|
||||
#: participation/views.py:1199
|
||||
#, python-brace-format
|
||||
msgid "The jury {name} has been successfully removed!"
|
||||
msgstr "{name} a été retiré⋅e avec succès du jury !"
|
||||
|
||||
#: participation/views.py:1223
|
||||
#: participation/views.py:1225
|
||||
#, python-brace-format
|
||||
msgid "The jury {name} has been successfully promoted president!"
|
||||
msgstr "{name} a été nommé⋅e président⋅e du jury !"
|
||||
|
||||
#: participation/views.py:1251
|
||||
#: participation/views.py:1253
|
||||
msgid "The following user is not registered as a jury:"
|
||||
msgstr "L'utilisateur⋅rice suivant n'est pas inscrit⋅e en tant que juré⋅e :"
|
||||
|
||||
#: participation/views.py:1267
|
||||
#: participation/views.py:1269
|
||||
msgid "Notes were successfully uploaded."
|
||||
msgstr "Les notes ont bien été envoyées."
|
||||
|
||||
#: participation/views.py:1496
|
||||
msgid "Role"
|
||||
msgstr "Rôle"
|
||||
|
||||
#: participation/views.py:1502
|
||||
#: participation/views.py:1504
|
||||
msgid "Defender"
|
||||
msgstr "Défenseur⋅se"
|
||||
|
||||
#: participation/views.py:1508
|
||||
#: participation/views.py:1510
|
||||
msgid "Opponent"
|
||||
msgstr "Opposant⋅e"
|
||||
|
||||
#: participation/views.py:1515
|
||||
#: participation/views.py:1517
|
||||
msgid "Reviewer"
|
||||
msgstr "Rapporteur⋅rice"
|
||||
|
||||
#: participation/views.py:1522
|
||||
#: participation/views.py:1524
|
||||
msgid "Observer"
|
||||
msgstr "Observateur⋅rice"
|
||||
|
||||
#: participation/views.py:1893
|
||||
#: participation/views.py:1895
|
||||
#, python-brace-format
|
||||
msgid "Notation sheets of pool {pool} of {tournament}.zip"
|
||||
msgstr "Feuilles de notations pour la poule {pool} du tournoi {tournament}.zip"
|
||||
|
||||
#: participation/views.py:1898
|
||||
#: participation/views.py:1900
|
||||
#, python-brace-format
|
||||
msgid "Notation sheets of {tournament}.zip"
|
||||
msgstr "Feuilles de notation de {tournament}.zip"
|
||||
|
||||
#: participation/views.py:2065
|
||||
#: participation/views.py:2067
|
||||
msgid "You can't upload a synthesis after the deadline."
|
||||
msgstr "Vous ne pouvez pas envoyer de note de synthèse après la date limite."
|
||||
|
||||
|
|
|
@ -151,6 +151,12 @@
|
|||
<i class="fas fa-ranking-star"></i>
|
||||
{% trans "Harmonize" %} - {% trans "Day" %} 2
|
||||
</a>
|
||||
{% if TFJM.NB_ROUNDS >= 3 %}
|
||||
<a href="{% url 'participation:tournament_harmonize' pk=tournament.pk round=3 %}" class="btn btn-secondary">
|
||||
<i class="fas fa-ranking-star"></i>
|
||||
{% trans "Harmonize" %} - {% trans "Day" %} 3
|
||||
</a>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-footer text-center">
|
||||
|
@ -177,6 +183,19 @@
|
|||
{% trans "Unpublish notes for second round" %}
|
||||
</a>
|
||||
{% endif %}
|
||||
{% if TFJM.NB_ROUNDS >= 3 %}
|
||||
{% if not available_notes_3 %}
|
||||
<a href="{% url 'participation:tournament_publish_notes' pk=tournament.pk round=3 %}" class="btn btn-sm btn-info">
|
||||
<i class="fas fa-eye"></i>
|
||||
{% trans "Publish notes for third round" %}
|
||||
</a>
|
||||
{% else %}
|
||||
<a href="{% url 'participation:tournament_publish_notes' pk=tournament.pk round=3 %}?hide" class="btn btn-sm btn-danger">
|
||||
<i class="fas fa-eye-slash"></i>
|
||||
{% trans "Unpublish notes for third round" %}
|
||||
</a>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
|
|
@ -626,8 +626,9 @@ class TournamentDetailView(MultiTableMixin, DetailView):
|
|||
context["notes"] = sorted_notes
|
||||
context["available_notes_1"] = all(pool.results_available for pool in self.object.pools.filter(round=1).all())
|
||||
context["available_notes_2"] = all(pool.results_available for pool in self.object.pools.filter(round=2).all())
|
||||
context["available_notes_3"] = all(pool.results_available for pool in self.object.pools.filter(round=3).all())
|
||||
|
||||
if not self.object.final and notes and context["available_notes_2"] \
|
||||
if settings.HAS_FINAL and not self.object.final and notes and context["available_notes_2"] \
|
||||
and not self.request.user.is_anonymous and self.request.user.registration.is_volunteer:
|
||||
context["team_selectable_for_final"] = next(participation for participation, _note in sorted_notes
|
||||
if not participation.final)
|
||||
|
@ -774,7 +775,7 @@ class TournamentHarmonizeView(VolunteerMixin, DetailView):
|
|||
reg = request.user.registration
|
||||
if not reg.is_admin and (not reg.is_volunteer or tournament not in reg.organized_tournaments.all()):
|
||||
return self.handle_no_permission()
|
||||
if self.kwargs['round'] not in (1, 2):
|
||||
if self.kwargs['round'] not in range(1, settings.NB_ROUNDS + 1):
|
||||
raise Http404
|
||||
return super().dispatch(request, *args, **kwargs)
|
||||
|
||||
|
@ -807,7 +808,8 @@ class TournamentHarmonizeNoteView(VolunteerMixin, DetailView):
|
|||
reg = request.user.registration
|
||||
if not reg.is_admin and (not reg.is_volunteer or tournament not in reg.organized_tournaments.all()):
|
||||
return self.handle_no_permission()
|
||||
if self.kwargs['round'] not in (1, 2) or self.kwargs['action'] not in ('add', 'remove') \
|
||||
if self.kwargs['round'] not in range(1, settings.NB_ROUNDS + 1) \
|
||||
or self.kwargs['action'] not in ('add', 'remove') \
|
||||
or self.kwargs['trigram'] not in [p.team.trigram
|
||||
for p in tournament.participations.filter(valid=True).all()]:
|
||||
raise Http404
|
||||
|
@ -829,7 +831,7 @@ class TournamentHarmonizeNoteView(VolunteerMixin, DetailView):
|
|||
gc = gspread.service_account_from_dict(settings.GOOGLE_SERVICE_CLIENT)
|
||||
spreadsheet = gc.open_by_key(tournament.notes_sheet_id)
|
||||
worksheet = spreadsheet.worksheet("Classement final")
|
||||
column = 3 if kwargs['round'] == 1 else 5
|
||||
column = 3 if kwargs['round'] == 1 else 5 if kwargs['round'] == 2 else 8
|
||||
row = worksheet.find(f"{participation.team.name} ({participation.team.trigram})", in_column=1).row
|
||||
worksheet.update_cell(row, column, new_diff)
|
||||
|
||||
|
|
|
@ -10,6 +10,7 @@ def tfjm_context(request):
|
|||
'TFJM': {
|
||||
'APP': settings.TFJM_APP,
|
||||
'APP_NAME': settings.APP_NAME,
|
||||
'NB_ROUNDS': settings.NB_ROUNDS,
|
||||
'ML_MANAGEMENT': settings.ML_MANAGEMENT,
|
||||
'PAYMENT_MANAGEMENT': settings.PAYMENT_MANAGEMENT,
|
||||
'SINGLE_TOURNAMENT':
|
||||
|
|
|
@ -351,6 +351,7 @@ if TFJM_APP == "TFJM":
|
|||
TEAM_CODE_LENGTH = 3
|
||||
RECOMMENDED_SOLUTIONS_COUNT = 5
|
||||
NB_ROUNDS = 2
|
||||
HAS_FINAL = True
|
||||
ML_MANAGEMENT = True
|
||||
PAYMENT_MANAGEMENT = True
|
||||
HEALTH_SHEET_REQUIRED = True
|
||||
|
@ -374,6 +375,7 @@ elif TFJM_APP == "ETEAM":
|
|||
TEAM_CODE_LENGTH = 4
|
||||
RECOMMENDED_SOLUTIONS_COUNT = 6
|
||||
NB_ROUNDS = 3
|
||||
HAS_FINAL = False
|
||||
ML_MANAGEMENT = False
|
||||
PAYMENT_MANAGEMENT = False
|
||||
HEALTH_SHEET_REQUIRED = False
|
||||
|
|
Loading…
Reference in New Issue