Fix buttons for third round

Signed-off-by: Emmy D'Anello <emmy.danello@animath.fr>
This commit is contained in:
Emmy D'Anello 2024-07-06 10:16:54 +02:00
parent 2e99b3ea8e
commit 40db20a471
Signed by: ynerant
GPG Key ID: 3A75C55819C8CF85
5 changed files with 198 additions and 164 deletions

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: 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" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: Emmy D'Anello <emmy.danello@animath.fr>\n" "Last-Translator: Emmy D'Anello <emmy.danello@animath.fr>\n"
"Language-Team: LANGUAGE <LL@li.org>\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 #: 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 #: draw/models.py:27 participation/admin.py:79 participation/admin.py:144
#: participation/admin.py:176 participation/models.py:781 #: participation/admin.py:176 participation/models.py:783
#: participation/models.py:805 participation/models.py:1114 #: participation/models.py:807 participation/models.py:1116
#: registration/models.py:763 #: registration/models.py:763
#: registration/templates/registration/payment_form.html:53 #: registration/templates/registration/payment_form.html:53
msgid "tournament" msgid "tournament"
@ -95,7 +95,7 @@ msgstr ""
#: chat/models.py:73 draw/models.py:446 draw/models.py:473 #: chat/models.py:73 draw/models.py:446 draw/models.py:473
#: participation/admin.py:140 participation/admin.py:160 #: 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 #: participation/tables.py:84
msgid "pool" msgid "pool"
msgstr "poule" msgstr "poule"
@ -109,7 +109,7 @@ msgstr ""
#: chat/models.py:84 draw/templates/draw/tournament_content.html:277 #: chat/models.py:84 draw/templates/draw/tournament_content.html:277
#: participation/admin.py:172 participation/models.py:261 #: participation/admin.py:172 participation/models.py:261
#: participation/models.py:796 #: participation/models.py:798
#: participation/templates/participation/tournament_harmonize.html:15 #: participation/templates/participation/tournament_harmonize.html:15
#: registration/models.py:158 registration/models.py:754 #: registration/models.py:158 registration/models.py:754
#: registration/tables.py:39 #: registration/tables.py:39
@ -265,7 +265,7 @@ msgid "teams"
msgstr "équipes" msgstr "équipes"
#: draw/admin.py:92 draw/models.py:245 draw/models.py:465 #: draw/admin.py:92 draw/models.py:245 draw/models.py:465
#: participation/models.py:1118 #: participation/models.py:1120
msgid "round" msgid "round"
msgstr "tour" msgstr "tour"
@ -634,7 +634,7 @@ msgstr "Le numéro du tour doit être entre 1 et {nb}."
msgid "rounds" msgid "rounds"
msgstr "tours" msgstr "tours"
#: draw/models.py:268 participation/models.py:1126 #: draw/models.py:268 participation/models.py:1128
msgid "letter" msgid "letter"
msgstr "lettre" msgstr "lettre"
@ -672,12 +672,12 @@ msgstr "L'instance complète de la poule."
msgid "Pool {letter}{number}" msgid "Pool {letter}{number}"
msgstr "Poule {letter}{number}" msgstr "Poule {letter}{number}"
#: draw/models.py:447 participation/models.py:1643 #: draw/models.py:447 participation/models.py:1652
msgid "pools" msgid "pools"
msgstr "poules" msgstr "poules"
#: draw/models.py:459 participation/models.py:1104 participation/models.py:1862 #: draw/models.py:459 participation/models.py:1106 participation/models.py:1871
#: participation/models.py:1892 participation/models.py:1934 #: participation/models.py:1901 participation/models.py:1943
msgid "participation" msgid "participation"
msgstr "participation" msgstr "participation"
@ -701,9 +701,9 @@ msgid ""
msgstr "" msgstr ""
"L'ordre de choix dans la poule, entre 0 et la taille de la poule moins 1." "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 #: draw/models.py:496 draw/models.py:519 participation/models.py:1237
#: participation/models.py:1665 participation/models.py:1899 #: participation/models.py:1674 participation/models.py:1908
#: participation/views.py:1487 participation/views.py:1752 #: participation/views.py:1489 participation/views.py:1754
#, python-brace-format #, python-brace-format
msgid "Problem #{problem}" msgid "Problem #{problem}"
msgstr "Problème n°{problem}" msgstr "Problème n°{problem}"
@ -914,31 +914,31 @@ msgstr "Changelog de type \"{action}\" pour le modèle {model} le {timestamp}"
msgid "valid" msgid "valid"
msgstr "valide" msgstr "valide"
#: participation/admin.py:87 participation/models.py:817 #: participation/admin.py:87 participation/models.py:819
msgid "selected for final" msgid "selected for final"
msgstr "sélectionnée pour la finale" msgstr "sélectionnée pour la finale"
#: participation/admin.py:124 participation/admin.py:188 #: 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" msgid "defender"
msgstr "défenseur⋅se" msgstr "défenseur⋅se"
#: participation/admin.py:128 participation/models.py:1679 #: participation/admin.py:128 participation/models.py:1688
#: participation/models.py:1946 #: participation/models.py:1955
msgid "opponent" msgid "opponent"
msgstr "opposant⋅e" msgstr "opposant⋅e"
#: participation/admin.py:132 participation/models.py:1686 #: participation/admin.py:132 participation/models.py:1695
#: participation/models.py:1947 #: participation/models.py:1956
msgid "reviewer" msgid "reviewer"
msgstr "rapporteur⋅rice" msgstr "rapporteur⋅rice"
#: participation/admin.py:136 participation/models.py:1693 #: participation/admin.py:136 participation/models.py:1702
#: participation/models.py:1948 #: participation/models.py:1957
msgid "observer" msgid "observer"
msgstr "observateur⋅rice" msgstr "observateur⋅rice"
#: participation/admin.py:192 participation/models.py:1897 #: participation/admin.py:192 participation/models.py:1906
msgid "problem" msgid "problem"
msgstr "numéro de problème" msgstr "numéro de problème"
@ -1289,12 +1289,12 @@ msgid "Google Sheet ID"
msgstr "ID de la feuille Google Sheets" msgstr "ID de la feuille Google Sheets"
#: participation/models.py:473 participation/models.py:474 #: 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" msgid "Final ranking"
msgstr "Classement final" msgstr "Classement final"
#: participation/models.py:481 participation/models.py:551 #: participation/models.py:481 participation/models.py:553
#: participation/models.py:1309 participation/views.py:1726 #: participation/models.py:1312 participation/views.py:1728
msgid "Team" msgid "Team"
msgstr "Équipe" msgstr "Équipe"
@ -1306,82 +1306,82 @@ msgstr "Scores jour 1"
msgid "Tweaks day 1" msgid "Tweaks day 1"
msgstr "Ajustements 1" msgstr "Ajustements 1"
#: participation/models.py:481 #: participation/models.py:482
msgid "Scores day 2" msgid "Scores day 2"
msgstr "Scores jour 2" msgstr "Scores jour 2"
#: participation/models.py:481 #: participation/models.py:482
msgid "Tweaks day 2" msgid "Tweaks day 2"
msgstr "Ajustements 2" msgstr "Ajustements 2"
#: participation/models.py:482 #: participation/models.py:483
msgid "Total D1 + D2" msgid "Total D1 + D2"
msgstr "Total J1 + J2" msgstr "Total J1 + J2"
#: participation/models.py:482 #: participation/models.py:483
msgid "Scores day 3" msgid "Scores day 3"
msgstr "Scores jour 3" msgstr "Scores jour 3"
#: participation/models.py:482 #: participation/models.py:483
msgid "Tweaks day 3" msgid "Tweaks day 3"
msgstr "Ajustements 3" msgstr "Ajustements 3"
#: participation/models.py:484 participation/models.py:1309 #: participation/models.py:485 participation/models.py:1312
#: participation/views.py:1733 #: participation/views.py:1735
msgid "Total" msgid "Total"
msgstr "Total" msgstr "Total"
#: participation/models.py:484 participation/models.py:551 #: participation/models.py:485 participation/models.py:553
#: participation/models.py:1309 #: participation/models.py:1312
#: participation/templates/participation/tournament_harmonize.html:14 #: participation/templates/participation/tournament_harmonize.html:14
#: participation/views.py:1736 #: participation/views.py:1738
msgid "Rank" msgid "Rank"
msgstr "Rang" msgstr "Rang"
#: participation/models.py:551 participation/models.py:716 #: participation/models.py:553 participation/models.py:718
msgid "Score" msgid "Score"
msgstr "Score" msgstr "Score"
#: participation/models.py:551 #: participation/models.py:553
msgid "Mention" msgid "Mention"
msgstr "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." msgid "Don't update the table structure for a better automated integration."
msgstr "" msgstr ""
"Ne pas mettre à jour la structure de la table pour une meilleure intégration " "Ne pas mettre à jour la structure de la table pour une meilleure intégration "
"automatisée." "automatisée."
#: participation/models.py:782 registration/admin.py:125 #: participation/models.py:784 registration/admin.py:125
msgid "tournaments" msgid "tournaments"
msgstr "tournois" msgstr "tournois"
#: participation/models.py:811 #: participation/models.py:813
msgid "valid team" msgid "valid team"
msgstr "équipe valide" msgstr "équipe valide"
#: participation/models.py:812 #: participation/models.py:814
msgid "The participation got the validation of the organizers." msgid "The participation got the validation of the organizers."
msgstr "La participation a été validée par les organisateur⋅rices." 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." msgid "The team is selected for the final tournament."
msgstr "L'équipe est sélectionnée pour la finale." msgstr "L'équipe est sélectionnée pour la finale."
#: participation/models.py:822 #: participation/models.py:824
msgid "mention" msgid "mention"
msgstr "mention" msgstr "mention"
#: participation/models.py:829 #: participation/models.py:831
msgid "mention (final)" msgid "mention (final)"
msgstr "Mention (pour la finale) :" msgstr "Mention (pour la finale) :"
#: participation/models.py:839 #: participation/models.py:841
#, python-brace-format #, python-brace-format
msgid "Participation of the team {name} ({trigram})" msgid "Participation of the team {name} ({trigram})"
msgstr "Participation de l'équipe {name} ({trigram})" msgstr "Participation de l'équipe {name} ({trigram})"
#: participation/models.py:846 #: participation/models.py:848
#, python-brace-format #, python-brace-format
msgid "" msgid ""
"<p>The team {trigram} has {nb_missing_payments} missing payments. Each " "<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 " "notification de bourse) pour participer au tournoi.</p><p>Les participant⋅es "
"qui n'ont pas encore payé sont : {participants}.</p>" "qui n'ont pas encore payé sont : {participants}.</p>"
#: participation/models.py:854 #: participation/models.py:856
msgid "Missing payments" msgid "Missing payments"
msgstr "Paiements manquants" msgstr "Paiements manquants"
#: participation/models.py:871 #: participation/models.py:873
msgid "" msgid ""
"<p>The solutions for the tournament of {tournament} are due on the {date:%Y-" "<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> " "%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 " "pouvez envoyer vos solutions sur <a href='{url}'>votre page de "
"participation</a>.</p>" "participation</a>.</p>"
#: participation/models.py:881 participation/models.py:895 #: participation/models.py:883 participation/models.py:897
msgid "Solutions due" msgid "Solutions due"
msgstr "Rendu des solutions" msgstr "Rendu des solutions"
#: participation/models.py:887 #: participation/models.py:889
msgid "" msgid ""
"<p>The solutions for the tournament of {tournament} are due on the {date:%Y-" "<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 " "%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 " "parties.</p><p>Vous pouvez envoyer vos solutions sur <a href='{url}'>votre "
"page de participation</a>.</p>" "page de participation</a>.</p>"
#: participation/models.py:901 registration/models.py:607 #: participation/models.py:903 registration/models.py:607
msgid "" msgid ""
"<p>The draw of the solutions for the tournament {tournament} is planned on " "<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>." "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</" "{date:%d/%m/%Y %H:%M}. Vous pouvez y participer sur <a href='{url}'>ce lien</"
"a>.</p>" "a>.</p>"
#: participation/models.py:907 registration/models.py:614 #: participation/models.py:909 registration/models.py:614
msgid "Draw of solutions" msgid "Draw of solutions"
msgstr "Tirage au sort des solutions" msgstr "Tirage au sort des solutions"
#: participation/models.py:919 #: participation/models.py:921
#, python-brace-format #, python-brace-format
msgid "" msgid ""
"<p>The solutions draw is ended. You can check the result on <a " "<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 " "tour, vous défendrez <a href='{solution_url}'>votre solution du problème "
"{problem}</a>.</p>" "{problem}</a>.</p>"
#: participation/models.py:928 participation/models.py:986 #: participation/models.py:930 participation/models.py:988
#: participation/models.py:1045 #: participation/models.py:1047
#, python-brace-format #, python-brace-format
msgid "" msgid ""
"<p>You will oppose the solution of the team {opponent} on the <a " "<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 " "href='{solution_url}'>problème {problem}</a>. Vous pouvez envoyer votre note "
"de synthèse sur <a href='{passage_url}'>cette page</a>.</p>" "de synthèse sur <a href='{passage_url}'>cette page</a>.</p>"
#: participation/models.py:937 participation/models.py:995 #: participation/models.py:939 participation/models.py:997
#: participation/models.py:1054 #: participation/models.py:1056
#, python-brace-format #, python-brace-format
msgid "" msgid ""
"<p>You will report the solution of the team {reviewer} on the <a " "<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 " "href='{solution_url}'>problème {problem}</a>. Vous pouvez envoyer votre note "
"de synthèse sur <a href='{passage_url}'>cette page</a>.</p>" "de synthèse sur <a href='{passage_url}'>cette page</a>.</p>"
#: participation/models.py:947 participation/models.py:1005 #: participation/models.py:949 participation/models.py:1007
#: participation/models.py:1064 #: participation/models.py:1066
#, python-brace-format #, python-brace-format
msgid "" msgid ""
"<p>You will observe the solution of the team {observer} on the <a " "<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 " "href='{solution_url}'>problème {problem}</a>. Vous pouvez envoyer votre note "
"de synthèse sur <a href='{passage_url}'>cette page</a>.</p>" "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" msgid "First round"
msgstr "Premier tour" msgstr "Premier tour"
#: participation/models.py:979 #: participation/models.py:981
#, python-brace-format #, python-brace-format
msgid "" msgid ""
"<p>For the second round, you will defend <a href='{solution_url}'>your " "<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 " "<p>Pour le second tour, vous défendrez <a href='{solution_url}'>votre "
"solution du problème {problem}</a>.</p>" "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 #: registration/models.py:640
msgid "Second round" msgid "Second round"
msgstr "Second tour" msgstr "Second tour"
#: participation/models.py:1038 #: participation/models.py:1040
#, python-brace-format #, python-brace-format
msgid "" msgid ""
"<p>For the third round, you will defend <a href='{solution_url}'>your " "<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 " "<p>Pour le troisième tour, vous défendrez <a href='{solution_url}'>votre "
"solution du problème {problem}</a>.</p>" "solution du problème {problem}</a>.</p>"
#: participation/models.py:1090 #: participation/models.py:1092
#, python-brace-format #, python-brace-format
msgid "" msgid ""
"<p>The tournament {tournament} is ended. You can check the results on the <a " "<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 " "<p>Le tournoi {tournament} est terminé. Vous pouvez consulter les résultats "
"sur la <a href='{url}'>page du tournoi</a>.</p>" "sur la <a href='{url}'>page du tournoi</a>.</p>"
#: participation/models.py:1095 #: participation/models.py:1097
msgid "Tournament ended" msgid "Tournament ended"
msgstr "Tournoi terminé" msgstr "Tournoi terminé"
#: participation/models.py:1105 participation/models.py:1148 #: participation/models.py:1107 participation/models.py:1150
msgid "participations" msgid "participations"
msgstr "participations" msgstr "participations"
#: participation/models.py:1120 participation/models.py:1121 #: participation/models.py:1122 participation/models.py:1123
#: participation/models.py:1122 #: participation/models.py:1124
#, python-brace-format #, python-brace-format
msgid "Round {round}" msgid "Round {round}"
msgstr "Tour {round}" msgstr "Tour {round}"
#: participation/models.py:1136 #: participation/models.py:1138
msgid "room" msgid "room"
msgstr "salle" msgstr "salle"
#: participation/models.py:1138 #: participation/models.py:1140
msgid "Room 1" msgid "Room 1"
msgstr "Salle 1" msgstr "Salle 1"
#: participation/models.py:1139 #: participation/models.py:1141
msgid "Room 2" msgid "Room 2"
msgstr "Salle 2" msgstr "Salle 2"
#: participation/models.py:1142 #: participation/models.py:1144
msgid "For 5-teams pools only" msgid "For 5-teams pools only"
msgstr "Pour les poules de 5 équipe uniquement" msgstr "Pour les poules de 5 équipe uniquement"
#: participation/models.py:1154 #: participation/models.py:1156
msgid "juries" msgid "juries"
msgstr "jurys" msgstr "jurys"
#: participation/models.py:1163 #: participation/models.py:1165
msgid "president of the jury" msgid "president of the jury"
msgstr "président⋅e du jury" msgstr "président⋅e du jury"
#: participation/models.py:1170 #: participation/models.py:1172
msgid "BigBlueButton URL" msgid "BigBlueButton URL"
msgstr "Lien BigBlueButton" msgstr "Lien BigBlueButton"
#: participation/models.py:1171 #: participation/models.py:1173
msgid "The link of the BBB visio for this pool." msgid "The link of the BBB visio for this pool."
msgstr "Le lien du salon BBB pour cette poule." msgstr "Le lien du salon BBB pour cette poule."
#: participation/models.py:1176 #: participation/models.py:1178
msgid "results available" msgid "results available"
msgstr "résultats disponibles" msgstr "résultats disponibles"
#: participation/models.py:1177 #: participation/models.py:1179
msgid "" msgid ""
"Check this case when results become accessible to teams. They stay " "Check this case when results become accessible to teams. They stay "
"accessible to you. Only averages are given." "accessible to you. Only averages are given."
@ -1587,61 +1587,65 @@ msgstr ""
"Ils restent toujours accessibles pour vous. Seules les moyennes sont " "Ils restent toujours accessibles pour vous. Seules les moyennes sont "
"communiquées." "communiquées."
#: participation/models.py:1209 #: participation/models.py:1211
msgid "The president of the jury must be part of the jury." msgid "The president of the jury must be part of the jury."
msgstr "Læ président⋅e du jury doit faire partie du jury." msgstr "Læ président⋅e du jury doit faire partie du jury."
#: participation/models.py:1235 participation/models.py:1309 #: participation/models.py:1238 participation/models.py:1312
#: participation/views.py:1481 participation/views.py:1730 #: participation/views.py:1483 participation/views.py:1732
msgid "Problem" msgid "Problem"
msgstr "Problème" msgstr "Problème"
#: participation/models.py:1245 participation/views.py:1530 #: participation/models.py:1243 participation/views.py:1498
#: participation/views.py:1531 msgid "Role"
msgstr "Rôle"
#: participation/models.py:1248 participation/views.py:1532
#: participation/views.py:1533
msgid "Juree" msgid "Juree"
msgstr "Juré⋅e" msgstr "Juré⋅e"
#: participation/models.py:1268 participation/models.py:1588 #: participation/models.py:1271 participation/models.py:1597
#: participation/models.py:1610 participation/views.py:1600 #: participation/models.py:1619 participation/views.py:1602
msgid "Average" msgid "Average"
msgstr "Moyenne" msgstr "Moyenne"
#: participation/models.py:1274 participation/views.py:1619 #: participation/models.py:1277 participation/views.py:1621
msgid "Coefficient" msgid "Coefficient"
msgstr "Coefficien" msgstr "Coefficien"
#: participation/models.py:1275 participation/views.py:1662 #: participation/models.py:1278 participation/views.py:1664
msgid "Subtotal" msgid "Subtotal"
msgstr "Sous-total" msgstr "Sous-total"
#: participation/models.py:1535 #: participation/models.py:1544
#, python-brace-format #, python-brace-format
msgid "Input must be a valid integer between {min_note} and {max_note}." 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}." 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 #, python-brace-format
msgid "The jury {jury} is not part of the jury for this pool." msgid "The jury {jury} is not part of the jury for this pool."
msgstr "{jury} ne fait pas partie du jury pour cette poule." msgstr "{jury} ne fait pas partie du jury pour cette poule."
#: participation/models.py:1636 #: participation/models.py:1645
#, python-brace-format #, python-brace-format
msgid "Pool {code} for tournament {tournament} with teams {teams}" msgid "Pool {code} for tournament {tournament} with teams {teams}"
msgstr "Poule {code} du tournoi {tournament} avec les équipes {teams}" msgstr "Poule {code} du tournoi {tournament} avec les équipes {teams}"
#: participation/models.py:1656 #: participation/models.py:1665
msgid "position" msgid "position"
msgstr "position" msgstr "position"
#: participation/models.py:1663 #: participation/models.py:1672
msgid "defended solution" msgid "defended solution"
msgstr "solution défendue" msgstr "solution défendue"
#: participation/models.py:1701 #: participation/models.py:1710
msgid "penalties" msgid "penalties"
msgstr "pénalités" msgstr "pénalités"
#: participation/models.py:1703 #: participation/models.py:1712
msgid "" msgid ""
"Number of penalties for the defender. The defender will loose a 0.5 " "Number of penalties for the defender. The defender will loose a 0.5 "
"coefficient per penalty." "coefficient per penalty."
@ -1649,128 +1653,128 @@ msgstr ""
"Nombre de pénalités pour l'équipe défenseuse. Elle perd un coefficient 0.5 " "Nombre de pénalités pour l'équipe défenseuse. Elle perd un coefficient 0.5 "
"sur sa présentation orale par pénalité." "sur sa présentation orale par pénalité."
#: participation/models.py:1829 participation/models.py:1832 #: participation/models.py:1838 participation/models.py:1841
#: participation/models.py:1835 participation/models.py:1838 #: participation/models.py:1844 participation/models.py:1847
#, python-brace-format #, python-brace-format
msgid "Team {trigram} is not registered in the pool." msgid "Team {trigram} is not registered in the pool."
msgstr "L'équipe {trigram} n'est pas inscrite dans la poule." msgstr "L'équipe {trigram} n'est pas inscrite dans la poule."
#: participation/models.py:1843 #: participation/models.py:1852
#, python-brace-format #, python-brace-format
msgid "Passage of {defender} for problem {problem}" msgid "Passage of {defender} for problem {problem}"
msgstr "Passage de {defender} pour le problème {problem}" msgstr "Passage de {defender} pour le problème {problem}"
#: participation/models.py:1847 participation/models.py:1856 #: participation/models.py:1856 participation/models.py:1865
#: participation/models.py:1941 participation/models.py:1984 #: participation/models.py:1950 participation/models.py:1993
msgid "passage" msgid "passage"
msgstr "passage" msgstr "passage"
#: participation/models.py:1848 #: participation/models.py:1857
msgid "passages" msgid "passages"
msgstr "passages" msgstr "passages"
#: participation/models.py:1867 #: participation/models.py:1876
msgid "difference" msgid "difference"
msgstr "différence" msgstr "différence"
#: participation/models.py:1868 #: participation/models.py:1877
msgid "Score to add/remove on the final score" msgid "Score to add/remove on the final score"
msgstr "Score à ajouter/retrancher au score final" msgstr "Score à ajouter/retrancher au score final"
#: participation/models.py:1875 #: participation/models.py:1884
msgid "tweak" msgid "tweak"
msgstr "harmonisation" msgstr "harmonisation"
#: participation/models.py:1876 #: participation/models.py:1885
msgid "tweaks" msgid "tweaks"
msgstr "harmonisations" msgstr "harmonisations"
#: participation/models.py:1904 #: participation/models.py:1913
msgid "solution for the final tournament" msgid "solution for the final tournament"
msgstr "solution pour la finale" msgstr "solution pour la finale"
#: participation/models.py:1909 participation/models.py:1953 #: participation/models.py:1918 participation/models.py:1962
msgid "file" msgid "file"
msgstr "fichier" msgstr "fichier"
#: participation/models.py:1919 #: participation/models.py:1928
#, python-brace-format #, python-brace-format
msgid "Solution of team {team} for problem {problem}" msgid "Solution of team {team} for problem {problem}"
msgstr "Solution de l'équipe {team} pour le problème {problem}" msgstr "Solution de l'équipe {team} pour le problème {problem}"
#: participation/models.py:1921 #: participation/models.py:1930
msgid "for final" msgid "for final"
msgstr "pour la finale" msgstr "pour la finale"
#: participation/models.py:1924 #: participation/models.py:1933
msgid "solution" msgid "solution"
msgstr "solution" msgstr "solution"
#: participation/models.py:1925 #: participation/models.py:1934
msgid "solutions" msgid "solutions"
msgstr "solutions" msgstr "solutions"
#: participation/models.py:1959 #: participation/models.py:1968
#, python-brace-format #, python-brace-format
msgid "Synthesis of {team} as {type} for problem {problem} of {defender}" msgid "Synthesis of {team} as {type} for problem {problem} of {defender}"
msgstr "" msgstr ""
"Note de synthèse de l'équipe {team} en tant que {type} pour le problème " "Note de synthèse de l'équipe {team} en tant que {type} pour le problème "
"{problem} de {defender}" "{problem} de {defender}"
#: participation/models.py:1967 #: participation/models.py:1976
msgid "synthesis" msgid "synthesis"
msgstr "note de synthèse" msgstr "note de synthèse"
#: participation/models.py:1968 #: participation/models.py:1977
msgid "syntheses" msgid "syntheses"
msgstr "notes de synthèse" msgstr "notes de synthèse"
#: participation/models.py:1977 #: participation/models.py:1986
msgid "jury" msgid "jury"
msgstr "jury" msgstr "jury"
#: participation/models.py:1989 #: participation/models.py:1998
msgid "defender writing note" msgid "defender writing note"
msgstr "note d'écrit défenseur⋅se" msgstr "note d'écrit défenseur⋅se"
#: participation/models.py:1995 #: participation/models.py:2004
msgid "defender oral note" msgid "defender oral note"
msgstr "note d'oral défenseur⋅se" msgstr "note d'oral défenseur⋅se"
#: participation/models.py:2001 #: participation/models.py:2010
msgid "opponent writing note" msgid "opponent writing note"
msgstr "note d'écrit opposant⋅e" msgstr "note d'écrit opposant⋅e"
#: participation/models.py:2007 #: participation/models.py:2016
msgid "opponent oral note" msgid "opponent oral note"
msgstr "note d'oral opposant⋅e" msgstr "note d'oral opposant⋅e"
#: participation/models.py:2013 #: participation/models.py:2022
msgid "reviewer writing note" msgid "reviewer writing note"
msgstr "note d'écrit rapporteur⋅rice" msgstr "note d'écrit rapporteur⋅rice"
#: participation/models.py:2019 #: participation/models.py:2028
msgid "reviewer oral note" msgid "reviewer oral note"
msgstr "note d'oral du rapporteur⋅rice" msgstr "note d'oral du rapporteur⋅rice"
#: participation/models.py:2025 #: participation/models.py:2034
msgid "observer writing note" msgid "observer writing note"
msgstr "note d'écrit de l'observateur⋅rice" msgstr "note d'écrit de l'observateur⋅rice"
#: participation/models.py:2031 #: participation/models.py:2040
msgid "observer oral note" msgid "observer oral note"
msgstr "note d'oral de l'observateur⋅rice" msgstr "note d'oral de l'observateur⋅rice"
#: participation/models.py:2096 #: participation/models.py:2105
#, python-brace-format #, python-brace-format
msgid "Notes of {jury} for {passage}" msgid "Notes of {jury} for {passage}"
msgstr "Notes de {jury} pour le {passage}" msgstr "Notes de {jury} pour le {passage}"
#: participation/models.py:2099 #: participation/models.py:2108
msgid "note" msgid "note"
msgstr "note" msgstr "note"
#: participation/models.py:2100 #: participation/models.py:2109
msgid "notes" msgid "notes"
msgstr "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:148
#: participation/templates/participation/tournament_detail.html:152 #: participation/templates/participation/tournament_detail.html:152
#: participation/templates/participation/tournament_detail.html:157
msgid "Harmonize" msgid "Harmonize"
msgstr "Harmoniser" msgstr "Harmoniser"
#: participation/templates/participation/tournament_detail.html:148 #: participation/templates/participation/tournament_detail.html:148
#: participation/templates/participation/tournament_detail.html:152 #: participation/templates/participation/tournament_detail.html:152
#: participation/templates/participation/tournament_detail.html:157
msgid "Day" msgid "Day"
msgstr "Jour" msgstr "Jour"
#: participation/templates/participation/tournament_detail.html:161 #: participation/templates/participation/tournament_detail.html:167
msgid "Publish notes for first round" msgid "Publish notes for first round"
msgstr "Publier les notes pour le premier tour" 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" msgid "Unpublish notes for first round"
msgstr "Dépublier les notes pour le premier tour" 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" msgid "Publish notes for second round"
msgstr "Publier les notes pour le second tour" 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" msgid "Unpublish notes for second round"
msgstr "Dépublier les notes pour le second tour" 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" msgid "Files available for download"
msgstr "Fichiers disponibles au téléchargement" 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}" msgid "Participation of team {trigram}"
msgstr "Participation de l'équipe {trigram}" msgstr "Participation de l'équipe {trigram}"
#: participation/views.py:654 #: participation/views.py:655
#, python-brace-format #, python-brace-format
msgid "Payments of {tournament}" msgid "Payments of {tournament}"
msgstr "Paiements de {tournament}" msgstr "Paiements de {tournament}"
#: participation/views.py:754 #: participation/views.py:755
msgid "Notes published!" msgid "Notes published!"
msgstr "Notes publiées !" msgstr "Notes publiées !"
#: participation/views.py:756 #: participation/views.py:757
msgid "Notes hidden!" msgid "Notes hidden!"
msgstr "Notes dissimulées !" msgstr "Notes dissimulées !"
#: participation/views.py:787 #: participation/views.py:788
#, python-brace-format #, python-brace-format
msgid "Harmonize notes of {tournament} - Day {round}" msgid "Harmonize notes of {tournament} - Day {round}"
msgstr "Harmoniser les notes de {tournament} - Jour {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." msgid "You can't upload a solution after the deadline."
msgstr "Vous ne pouvez pas envoyer de solution après la date limite." msgstr "Vous ne pouvez pas envoyer de solution après la date limite."
#: participation/views.py:1020 #: participation/views.py:1022
#, python-brace-format #, python-brace-format
msgid "Solutions of team {trigram}.zip" msgid "Solutions of team {trigram}.zip"
msgstr "Solutions de l'équipe {trigram}.zip" msgstr "Solutions de l'équipe {trigram}.zip"
#: participation/views.py:1020 #: participation/views.py:1022
#, python-brace-format #, python-brace-format
msgid "Syntheses of team {trigram}.zip" msgid "Syntheses of team {trigram}.zip"
msgstr "Notes de synthèse de l'équipe {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 #, python-brace-format
msgid "Solutions of {tournament}.zip" msgid "Solutions of {tournament}.zip"
msgstr "Solutions de {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 #, python-brace-format
msgid "Syntheses of {tournament}.zip" msgid "Syntheses of {tournament}.zip"
msgstr "Notes de synthèse de {tournament}.zip" msgstr "Notes de synthèse de {tournament}.zip"
#: participation/views.py:1061 #: participation/views.py:1063
#, python-brace-format #, python-brace-format
msgid "Solutions for pool {pool} of tournament {tournament}.zip" msgid "Solutions for pool {pool} of tournament {tournament}.zip"
msgstr "Solutions pour la poule {pool} du tournoi {tournament}.zip" msgstr "Solutions pour la poule {pool} du tournoi {tournament}.zip"
#: participation/views.py:1062 #: participation/views.py:1064
#, python-brace-format #, python-brace-format
msgid "Syntheses for pool {pool} of tournament {tournament}.zip" msgid "Syntheses for pool {pool} of tournament {tournament}.zip"
msgstr "Notes de synthèses pour la poule {pool} du tournoi {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 #, python-brace-format
msgid "Jury of pool {pool} for {tournament} with teams {teams}" msgid "Jury of pool {pool} for {tournament} with teams {teams}"
msgstr "Jury de la poule {pool} pour {tournament} avec les équipes {teams}" msgstr "Jury de la poule {pool} pour {tournament} avec les équipes {teams}"
#: participation/views.py:1120 #: participation/views.py:1122
#, python-brace-format #, python-brace-format
msgid "The jury {name} is already in the pool!" msgid "The jury {name} is already in the pool!"
msgstr "{name} est déjà dans la poule !" msgstr "{name} est déjà dans la poule !"
#: participation/views.py:1140 #: participation/views.py:1142
msgid "New jury account" msgid "New jury account"
msgstr "Nouveau compte de juré⋅e" msgstr "Nouveau compte de juré⋅e"
#: participation/views.py:1161 #: participation/views.py:1163
#, python-brace-format #, python-brace-format
msgid "The jury {name} has been successfully added!" msgid "The jury {name} has been successfully added!"
msgstr "{name} a été ajouté⋅e avec succès en tant que juré⋅e !" 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 #, python-brace-format
msgid "The jury {name} has been successfully removed!" msgid "The jury {name} has been successfully removed!"
msgstr "{name} a été retiré⋅e avec succès du jury !" msgstr "{name} a été retiré⋅e avec succès du jury !"
#: participation/views.py:1223 #: participation/views.py:1225
#, python-brace-format #, python-brace-format
msgid "The jury {name} has been successfully promoted president!" msgid "The jury {name} has been successfully promoted president!"
msgstr "{name} a été nommé⋅e président⋅e du jury !" 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:" 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 :" 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." msgid "Notes were successfully uploaded."
msgstr "Les notes ont bien été envoyées." msgstr "Les notes ont bien été envoyées."
#: participation/views.py:1496 #: participation/views.py:1504
msgid "Role"
msgstr "Rôle"
#: participation/views.py:1502
msgid "Defender" msgid "Defender"
msgstr "Défenseur⋅se" msgstr "Défenseur⋅se"
#: participation/views.py:1508 #: participation/views.py:1510
msgid "Opponent" msgid "Opponent"
msgstr "Opposant⋅e" msgstr "Opposant⋅e"
#: participation/views.py:1515 #: participation/views.py:1517
msgid "Reviewer" msgid "Reviewer"
msgstr "Rapporteur⋅rice" msgstr "Rapporteur⋅rice"
#: participation/views.py:1522 #: participation/views.py:1524
msgid "Observer" msgid "Observer"
msgstr "Observateur⋅rice" msgstr "Observateur⋅rice"
#: participation/views.py:1893 #: participation/views.py:1895
#, python-brace-format #, python-brace-format
msgid "Notation sheets of pool {pool} of {tournament}.zip" msgid "Notation sheets of pool {pool} of {tournament}.zip"
msgstr "Feuilles de notations pour la poule {pool} du tournoi {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 #, python-brace-format
msgid "Notation sheets of {tournament}.zip" msgid "Notation sheets of {tournament}.zip"
msgstr "Feuilles de notation de {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." 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." msgstr "Vous ne pouvez pas envoyer de note de synthèse après la date limite."

View File

@ -151,6 +151,12 @@
<i class="fas fa-ranking-star"></i> <i class="fas fa-ranking-star"></i>
{% trans "Harmonize" %} - {% trans "Day" %} 2 {% trans "Harmonize" %} - {% trans "Day" %} 2
</a> </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> </div>
<div class="card-footer text-center"> <div class="card-footer text-center">
@ -177,6 +183,19 @@
{% trans "Unpublish notes for second round" %} {% trans "Unpublish notes for second round" %}
</a> </a>
{% endif %} {% 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>
</div> </div>
{% endif %} {% endif %}

View File

@ -626,8 +626,9 @@ class TournamentDetailView(MultiTableMixin, DetailView):
context["notes"] = sorted_notes 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_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_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: 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 context["team_selectable_for_final"] = next(participation for participation, _note in sorted_notes
if not participation.final) if not participation.final)
@ -774,7 +775,7 @@ class TournamentHarmonizeView(VolunteerMixin, DetailView):
reg = request.user.registration reg = request.user.registration
if not reg.is_admin and (not reg.is_volunteer or tournament not in reg.organized_tournaments.all()): if not reg.is_admin and (not reg.is_volunteer or tournament not in reg.organized_tournaments.all()):
return self.handle_no_permission() 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 raise Http404
return super().dispatch(request, *args, **kwargs) return super().dispatch(request, *args, **kwargs)
@ -807,7 +808,8 @@ class TournamentHarmonizeNoteView(VolunteerMixin, DetailView):
reg = request.user.registration reg = request.user.registration
if not reg.is_admin and (not reg.is_volunteer or tournament not in reg.organized_tournaments.all()): if not reg.is_admin and (not reg.is_volunteer or tournament not in reg.organized_tournaments.all()):
return self.handle_no_permission() 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 or self.kwargs['trigram'] not in [p.team.trigram
for p in tournament.participations.filter(valid=True).all()]: for p in tournament.participations.filter(valid=True).all()]:
raise Http404 raise Http404
@ -829,7 +831,7 @@ class TournamentHarmonizeNoteView(VolunteerMixin, DetailView):
gc = gspread.service_account_from_dict(settings.GOOGLE_SERVICE_CLIENT) gc = gspread.service_account_from_dict(settings.GOOGLE_SERVICE_CLIENT)
spreadsheet = gc.open_by_key(tournament.notes_sheet_id) spreadsheet = gc.open_by_key(tournament.notes_sheet_id)
worksheet = spreadsheet.worksheet("Classement final") 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 row = worksheet.find(f"{participation.team.name} ({participation.team.trigram})", in_column=1).row
worksheet.update_cell(row, column, new_diff) worksheet.update_cell(row, column, new_diff)

View File

@ -10,6 +10,7 @@ def tfjm_context(request):
'TFJM': { 'TFJM': {
'APP': settings.TFJM_APP, 'APP': settings.TFJM_APP,
'APP_NAME': settings.APP_NAME, 'APP_NAME': settings.APP_NAME,
'NB_ROUNDS': settings.NB_ROUNDS,
'ML_MANAGEMENT': settings.ML_MANAGEMENT, 'ML_MANAGEMENT': settings.ML_MANAGEMENT,
'PAYMENT_MANAGEMENT': settings.PAYMENT_MANAGEMENT, 'PAYMENT_MANAGEMENT': settings.PAYMENT_MANAGEMENT,
'SINGLE_TOURNAMENT': 'SINGLE_TOURNAMENT':

View File

@ -351,6 +351,7 @@ if TFJM_APP == "TFJM":
TEAM_CODE_LENGTH = 3 TEAM_CODE_LENGTH = 3
RECOMMENDED_SOLUTIONS_COUNT = 5 RECOMMENDED_SOLUTIONS_COUNT = 5
NB_ROUNDS = 2 NB_ROUNDS = 2
HAS_FINAL = True
ML_MANAGEMENT = True ML_MANAGEMENT = True
PAYMENT_MANAGEMENT = True PAYMENT_MANAGEMENT = True
HEALTH_SHEET_REQUIRED = True HEALTH_SHEET_REQUIRED = True
@ -374,6 +375,7 @@ elif TFJM_APP == "ETEAM":
TEAM_CODE_LENGTH = 4 TEAM_CODE_LENGTH = 4
RECOMMENDED_SOLUTIONS_COUNT = 6 RECOMMENDED_SOLUTIONS_COUNT = 6
NB_ROUNDS = 3 NB_ROUNDS = 3
HAS_FINAL = False
ML_MANAGEMENT = False ML_MANAGEMENT = False
PAYMENT_MANAGEMENT = False PAYMENT_MANAGEMENT = False
HEALTH_SHEET_REQUIRED = False HEALTH_SHEET_REQUIRED = False