1
0
mirror of https://gitlab.com/animath/si/plateforme.git synced 2025-11-14 16:21:34 +01:00

Add responsabilities of accompanying coaches + translate message about pending dates

This commit is contained in:
Maxime JUST
2025-11-11 19:34:42 +01:00
parent af60d27402
commit 27a4bdf98e
4 changed files with 244 additions and 152 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: 2025-11-11 18:36+0100\n" "POT-Creation-Date: 2025-11-11 19:29+0100\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"
@@ -37,7 +37,7 @@ msgstr "Canaux d'équipes"
msgid "Private channels" msgid "Private channels"
msgstr "Messages privés" msgstr "Messages privés"
#: chat/models.py:29 participation/models.py:35 participation/models.py:280 #: chat/models.py:29 participation/models.py:36 participation/models.py:280
#: participation/tables.py:19 participation/tables.py:35 #: participation/tables.py:19 participation/tables.py:35
msgid "name" msgid "name"
msgstr "nom" msgstr "nom"
@@ -80,7 +80,7 @@ msgstr "Type de permission nécessaire pour écrire un message dans un canal."
#: draw/models.py:27 participation/admin.py:86 participation/admin.py:148 #: draw/models.py:27 participation/admin.py:86 participation/admin.py:148
#: participation/admin.py:203 participation/models.py:800 #: participation/admin.py:203 participation/models.py:800
#: participation/models.py:824 participation/models.py:1163 #: participation/models.py:824 participation/models.py:1163
#: registration/models.py:802 #: registration/models.py:805
#: registration/templates/registration/payment_form.html:53 #: registration/templates/registration/payment_form.html:53
#: survey/templates/survey/survey_detail.html:51 #: survey/templates/survey/survey_detail.html:51
msgid "tournament" msgid "tournament"
@@ -112,7 +112,7 @@ msgstr ""
#: participation/admin.py:199 participation/models.py:269 #: participation/admin.py:199 participation/models.py:269
#: participation/models.py:815 #: participation/models.py:815
#: participation/templates/participation/tournament_harmonize.html:15 #: participation/templates/participation/tournament_harmonize.html:15
#: registration/models.py:160 registration/models.py:793 #: registration/models.py:163 registration/models.py:796
#: registration/tables.py:39 #: registration/tables.py:39
#: registration/templates/registration/payment_form.html:52 #: registration/templates/registration/payment_form.html:52
#: survey/templates/survey/survey_detail.html:62 #: survey/templates/survey/survey_detail.html:62
@@ -922,7 +922,7 @@ msgstr "Vous n'êtes pas dans une équipe."
msgid "Logs" msgid "Logs"
msgstr "Logs" msgstr "Logs"
#: logs/models.py:22 registration/models.py:37 #: logs/models.py:22 registration/models.py:40
msgid "user" msgid "user"
msgstr "utilisateur" msgstr "utilisateur"
@@ -1057,15 +1057,15 @@ msgstr ""
#: registration/forms.py:126 registration/forms.py:148 #: registration/forms.py:126 registration/forms.py:148
#: registration/forms.py:170 registration/forms.py:192 #: registration/forms.py:170 registration/forms.py:192
#: registration/forms.py:214 registration/forms.py:236 #: registration/forms.py:214 registration/forms.py:236
#: registration/forms.py:298 registration/forms.py:331 #: registration/forms.py:319 registration/forms.py:352
msgid "The uploaded file size must be under 2 Mo." msgid "The uploaded file size must be under 2 Mo."
msgstr "Le fichier envoyé doit peser moins de 2 Mo." msgstr "Le fichier envoyé doit peser moins de 2 Mo."
#: participation/forms.py:121 registration/forms.py:128 #: participation/forms.py:121 registration/forms.py:128
#: registration/forms.py:150 registration/forms.py:172 #: registration/forms.py:150 registration/forms.py:172
#: registration/forms.py:194 registration/forms.py:216 #: registration/forms.py:194 registration/forms.py:216
#: registration/forms.py:238 registration/forms.py:300 #: registration/forms.py:238 registration/forms.py:321
#: registration/forms.py:333 #: registration/forms.py:354
msgid "The uploaded file must be a PDF, PNG of JPEG file." msgid "The uploaded file must be a PDF, PNG of JPEG file."
msgstr "Le fichier envoyé doit être au format PDF, PNG ou JPEG." msgstr "Le fichier envoyé doit être au format PDF, PNG ou JPEG."
@@ -1130,32 +1130,32 @@ msgstr "Ce⋅tte défenseur⋅se ne travaille pas sur ce problème."
msgid "The PDF file must not have more than 2 pages." msgid "The PDF file must not have more than 2 pages."
msgstr "Le fichier PDF ne doit pas avoir plus de 2 pages." msgstr "Le fichier PDF ne doit pas avoir plus de 2 pages."
#: participation/models.py:41 #: participation/models.py:42
msgid "code" msgid "code"
msgstr "code" msgstr "code"
#: participation/models.py:42 #: participation/models.py:43
#, python-brace-format #, python-brace-format
msgid "The code must be composed of {nb_letters} uppercase letters." msgid "The code must be composed of {nb_letters} uppercase letters."
msgstr "Le code doit être composé de {nb_letters} lettres majuscules." msgstr "Le code doit être composé de {nb_letters} lettres majuscules."
#: participation/models.py:48 #: participation/models.py:49
msgid "This team code is forbidden." msgid "This team code is forbidden."
msgstr "Ce code d'équipe est interdit." msgstr "Ce code d'équipe est interdit."
#: participation/models.py:54 #: participation/models.py:55
msgid "access code" msgid "access code"
msgstr "code d'accès" msgstr "code d'accès"
#: participation/models.py:55 #: participation/models.py:56
msgid "The access code let other people to join the team." msgid "The access code let other people to join the team."
msgstr "Le code d'accès permet aux autres participants de rejoindre l'équipe." msgstr "Le code d'accès permet aux autres participants de rejoindre l'équipe."
#: participation/models.py:59 #: participation/models.py:60
msgid "motivation letter" msgid "motivation letter"
msgstr "lettre de motivation" msgstr "lettre de motivation"
#: participation/models.py:108 #: participation/models.py:109
#, python-brace-format #, python-brace-format
msgid "" msgid ""
"The team {trigram} is not registered to any tournament. You can register the " "The team {trigram} is not registered to any tournament. You can register the "
@@ -1164,11 +1164,11 @@ msgstr ""
"L'équipe {trigram} n'est inscrite à aucun tournoi. Vous pouvez inscrire " "L'équipe {trigram} n'est inscrite à aucun tournoi. Vous pouvez inscrire "
"l'équipe à un tournoi en cliquant sur <a href='{url}'>ce lien</a>." "l'équipe à un tournoi en cliquant sur <a href='{url}'>ce lien</a>."
#: participation/models.py:113 #: participation/models.py:114
msgid "No tournament" msgid "No tournament"
msgstr "Pas de tournoi" msgstr "Pas de tournoi"
#: participation/models.py:119 #: participation/models.py:120
msgid "" msgid ""
"Registrations for the tournament of {tournament} are ending on the {date:%Y-" "Registrations for the tournament of {tournament} are ending on the {date:%Y-"
"%m-%d %H:%M}." "%m-%d %H:%M}."
@@ -1176,11 +1176,11 @@ msgstr ""
"Les inscriptions pour le tournoi de {tournament} se terminent le {date:%d/%m/" "Les inscriptions pour le tournoi de {tournament} se terminent le {date:%d/%m/"
"%Y %H:%M}." "%Y %H:%M}."
#: participation/models.py:124 #: participation/models.py:125
msgid "Registrations closure" msgid "Registrations closure"
msgstr "Clôture des inscriptions" msgstr "Clôture des inscriptions"
#: participation/models.py:131 #: participation/models.py:132
#, python-brace-format #, python-brace-format
msgid "" msgid ""
"The team {trigram} has not uploaded a motivation letter. You can upload your " "The team {trigram} has not uploaded a motivation letter. You can upload your "
@@ -1190,11 +1190,11 @@ msgstr ""
"envoyer votre lettre de motivation en cliquant sur <a href='{url}'>ce lien</" "envoyer votre lettre de motivation en cliquant sur <a href='{url}'>ce lien</"
"a>." "a>."
#: participation/models.py:136 #: participation/models.py:137
msgid "No motivation letter" msgid "No motivation letter"
msgstr "Pas de lettre de motivation" msgstr "Pas de lettre de motivation"
#: participation/models.py:145 #: participation/models.py:146
#, python-brace-format #, python-brace-format
msgid "" msgid ""
"The team {trigram} has less than 4 students ({nb_students}). You can invite " "The team {trigram} has less than 4 students ({nb_students}). You can invite "
@@ -1204,11 +1204,11 @@ msgstr ""
"plus d'élèves à rejoindre l'équipe en utilisant le code d'invitation " "plus d'élèves à rejoindre l'équipe en utilisant le code d'invitation "
"<strong>{code}</strong>." "<strong>{code}</strong>."
#: participation/models.py:150 #: participation/models.py:151
msgid "Not enough students" msgid "Not enough students"
msgstr "Pas assez d'élèves" msgstr "Pas assez d'élèves"
#: participation/models.py:157 #: participation/models.py:158
#, python-brace-format #, python-brace-format
msgid "" msgid ""
"The team {trigram} has no coach. You can invite a coach to join the team " "The team {trigram} has no coach. You can invite a coach to join the team "
@@ -1218,11 +1218,11 @@ msgstr ""
"encadrant⋅e à rejoindre l'équipe en utilisant le code d'invitation " "encadrant⋅e à rejoindre l'équipe en utilisant le code d'invitation "
"<strong>{code}</strong>." "<strong>{code}</strong>."
#: participation/models.py:161 #: participation/models.py:162
msgid "No coach" msgid "No coach"
msgstr "Pas d'encadrant⋅e" msgstr "Pas d'encadrant⋅e"
#: participation/models.py:168 #: participation/models.py:169
#, python-brace-format #, python-brace-format
msgid "" msgid ""
"The team {trigram} has more than 6 students ({nb_students}) or more than 2 " "The team {trigram} has more than 6 students ({nb_students}) or more than 2 "
@@ -1233,11 +1233,11 @@ msgstr ""
"encadrant⋅es ({nb_coaches}). Vous devez restreindre le nombre d'élèves et " "encadrant⋅es ({nb_coaches}). Vous devez restreindre le nombre d'élèves et "
"d'encadrant⋅es à 6 et 2, respectivement." "d'encadrant⋅es à 6 et 2, respectivement."
#: participation/models.py:173 #: participation/models.py:174
msgid "Too many members" msgid "Too many members"
msgstr "Trop de membres" msgstr "Trop de membres"
#: participation/models.py:180 #: participation/models.py:181
#, python-brace-format #, python-brace-format
msgid "" msgid ""
"The team {trigram} is ready to be validated. You can request validation on " "The team {trigram} is ready to be validated. You can request validation on "
@@ -1246,11 +1246,11 @@ msgstr ""
"L'équipe {trigram} est prête à être validée. Vous pouvez demander la " "L'équipe {trigram} est prête à être validée. Vous pouvez demander la "
"validation sur <a href='{url}'>la page de votre équipe</a>." "validation sur <a href='{url}'>la page de votre équipe</a>."
#: participation/models.py:185 participation/models.py:196 #: participation/models.py:186 participation/models.py:197
msgid "Validate team" msgid "Validate team"
msgstr "Valider l'équipe" msgstr "Valider l'équipe"
#: participation/models.py:191 #: participation/models.py:192
#, python-brace-format #, python-brace-format
msgid "" msgid ""
"The team {trigram} has enough participants, but is not ready to be " "The team {trigram} has enough participants, but is not ready to be "
@@ -1263,7 +1263,7 @@ msgstr ""
"documents requis. Pour inviter plus de participant⋅es, utilisez le code " "documents requis. Pour inviter plus de participant⋅es, utilisez le code "
"d'invitation <strong>{code}</strong>." "d'invitation <strong>{code}</strong>."
#: participation/models.py:202 #: participation/models.py:203
#, python-brace-format #, python-brace-format
msgid "" msgid ""
"The team {trigram} has not been validated by the organizers yet. Please be " "The team {trigram} has not been validated by the organizers yet. Please be "
@@ -1272,7 +1272,7 @@ msgstr ""
"L'équipe {trigram} n'a pas encore été validée par les organisateurices. " "L'équipe {trigram} n'a pas encore été validée par les organisateurices. "
"Merci de patienter." "Merci de patienter."
#: participation/models.py:205 registration/models.py:621 #: participation/models.py:206 registration/models.py:624
msgid "Pending validation" msgid "Pending validation"
msgstr "Validation en attente" msgstr "Validation en attente"
@@ -1498,7 +1498,7 @@ msgstr ""
msgid "Missing payments" msgid "Missing payments"
msgstr "Paiements manquants" msgstr "Paiements manquants"
#: participation/models.py:884 registration/models.py:310 #: participation/models.py:884 registration/models.py:313
#, python-brace-format #, python-brace-format
msgid "" msgid ""
"Please answer to the survey \"{name}\". You can go to the survey on <a " "Please answer to the survey \"{name}\". You can go to the survey on <a "
@@ -1509,7 +1509,7 @@ msgstr ""
"questionnaire sur <a href=\"{survey_link}\">ce lien</a>, en utilisant le " "questionnaire sur <a href=\"{survey_link}\">ce lien</a>, en utilisant le "
"code que vous avez reçu par mail." "code que vous avez reçu par mail."
#: participation/models.py:888 registration/models.py:314 #: participation/models.py:888 registration/models.py:317
msgid "Required answer to survey" msgid "Required answer to survey"
msgstr "Réponse requise au questionnaire" msgstr "Réponse requise au questionnaire"
@@ -1545,7 +1545,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:935 registration/models.py:646 #: participation/models.py:935 registration/models.py:649
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>."
@@ -1555,7 +1555,7 @@ 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:941 registration/models.py:653 #: participation/models.py:941 registration/models.py:656
msgid "Draw of solutions" msgid "Draw of solutions"
msgstr "Tirage au sort des solutions" msgstr "Tirage au sort des solutions"
@@ -1613,7 +1613,7 @@ msgstr ""
msgid "Templates:" msgid "Templates:"
msgstr "Modèles :" msgstr "Modèles :"
#: participation/models.py:1006 registration/models.py:668 #: participation/models.py:1006 registration/models.py:671
msgid "First round" msgid "First round"
msgstr "Premier tour" msgstr "Premier tour"
@@ -1627,7 +1627,7 @@ msgstr ""
"solution du problème {problem}</a>.</p>" "solution du problème {problem}</a>.</p>"
#: participation/models.py:1069 participation/models.py:1133 #: participation/models.py:1069 participation/models.py:1133
#: registration/models.py:679 #: registration/models.py:682
msgid "Second round" msgid "Second round"
msgstr "Second tour" msgstr "Second tour"
@@ -2407,7 +2407,7 @@ msgid "Payment of"
msgstr "Paiement de" msgstr "Paiement de"
#: participation/templates/participation/team_detail.html:175 #: participation/templates/participation/team_detail.html:175
#: registration/models.py:723 #: registration/models.py:726
msgid "grouped" msgid "grouped"
msgstr "groupé" msgstr "groupé"
@@ -2702,7 +2702,7 @@ msgid "Archive of all printable note sheets sorted by pool"
msgstr "Archive de toutes les fiches de notes imprimables triées par poule" msgstr "Archive de toutes les fiches de notes imprimables triées par poule"
#: participation/templates/participation/tournament_harmonize.html:16 #: participation/templates/participation/tournament_harmonize.html:16
#: registration/models.py:694 #: registration/models.py:697
msgid "Note" msgid "Note"
msgstr "Note" msgstr "Note"
@@ -3002,8 +3002,8 @@ msgstr "Marquer comme en attente"
msgid "Mark as invalid" msgid "Mark as invalid"
msgstr "Marquer comme invalide" msgstr "Marquer comme invalide"
#: registration/apps.py:14 registration/models.py:133 #: registration/apps.py:14 registration/models.py:136
#: registration/models.py:719 #: registration/models.py:722
msgid "registrations" msgid "registrations"
msgstr "inscriptions" msgstr "inscriptions"
@@ -3015,7 +3015,7 @@ msgstr "rôle"
msgid "participant" msgid "participant"
msgstr "participant⋅e" msgstr "participant⋅e"
#: registration/forms.py:26 registration/models.py:555 #: registration/forms.py:26 registration/models.py:558
msgid "coach" msgid "coach"
msgstr "encadrant⋅e" msgstr "encadrant⋅e"
@@ -3023,28 +3023,61 @@ msgstr "encadrant⋅e"
msgid "This email address is already used." msgid "This email address is already used."
msgstr "Cette adresse e-mail est déjà utilisée." msgstr "Cette adresse e-mail est déjà utilisée."
#: registration/forms.py:289 #: registration/forms.py:255
msgid ""
"I undertake to be present throughout the entire tournament weekend alongside "
"the team (including overnight stays)."
msgstr ""
"Je m'engage à être présent durant lintégralité du week-end du tournoi au "
"côté de léquipe (nuit sur place comprise)"
#: registration/forms.py:256
msgid ""
"I undertake to respond to the team's (non-mathematical) problems and not to "
"hesitate to discuss them with the tournament organisers, who will be able to "
"help."
msgstr ""
"Je m'engage à répondre aux problèmes (non mathématiques) de léquipe et ne "
"pas hésiter à en parler aux organisateurs du tournoi qui pourront aider ;"
#: registration/forms.py:257
msgid ""
"In case of absence, I undertake to notify the organisers as soon as "
"possible, providing a replacement if possible."
msgstr ""
"En cas d'absence, je m'engage à prévenir les organisateurs le plus tôt "
"possible avec si possible un remplaçant disponible."
#: registration/forms.py:264
msgid "Responsabilities of accompanying coaches"
msgstr "Devoirs un⋅e accompagnateur⋅ice :"
#: registration/forms.py:285
msgid "Please tick all the required confirmations."
msgstr "Merci d'accepter tous les devoirs d'un⋅e accompagnateur⋅ice."
#: registration/forms.py:310
msgid "Pending" msgid "Pending"
msgstr "En attente" msgstr "En attente"
#: registration/forms.py:308 registration/forms.py:341 #: registration/forms.py:329 registration/forms.py:362
msgid "You must upload your receipt." msgid "You must upload your receipt."
msgstr "Vous devez envoyer votre justificatif." msgstr "Vous devez envoyer votre justificatif."
#: registration/models.py:42 #: registration/models.py:45
msgid "Grant Animath to contact me in the future about other actions" msgid "Grant Animath to contact me in the future about other actions"
msgstr "" msgstr ""
"Autoriser Animath à me recontacter à l'avenir à propos d'autres actions" "Autoriser Animath à me recontacter à l'avenir à propos d'autres actions"
#: registration/models.py:47 #: registration/models.py:50
msgid "email confirmed" msgid "email confirmed"
msgstr "email confirmé" msgstr "email confirmé"
#: registration/models.py:55 #: registration/models.py:58
msgid "Activate your account" msgid "Activate your account"
msgstr "Activez votre compte" msgstr "Activez votre compte"
#: registration/models.py:112 #: registration/models.py:115
#, python-brace-format #, python-brace-format
msgid "" msgid ""
"Your email address is not validated. Please click on the link you received " "Your email address is not validated. Please click on the link you received "
@@ -3055,52 +3088,52 @@ msgstr ""
"avez reçu par mail. Vous pouvez renvoyer un mail en cliquant sur <a " "avez reçu par mail. Vous pouvez renvoyer un mail en cliquant sur <a "
"href=\"{send_email_url}\">ce lien</a>." "href=\"{send_email_url}\">ce lien</a>."
#: registration/models.py:132 #: registration/models.py:135
msgid "registration" msgid "registration"
msgstr "inscription" msgstr "inscription"
#: registration/models.py:165 #: registration/models.py:168
msgid "gender" msgid "gender"
msgstr "genre" msgstr "genre"
#: registration/models.py:167 #: registration/models.py:170
msgid "Female" msgid "Female"
msgstr "Femme" msgstr "Femme"
#: registration/models.py:168 #: registration/models.py:171
msgid "Male" msgid "Male"
msgstr "Homme" msgstr "Homme"
#: registration/models.py:169 #: registration/models.py:172
#: registration/templates/registration/payment_form.html:89 #: registration/templates/registration/payment_form.html:89
msgid "Other" msgid "Other"
msgstr "Autre" msgstr "Autre"
#: registration/models.py:175 #: registration/models.py:178
msgid "address" msgid "address"
msgstr "adresse" msgstr "adresse"
#: registration/models.py:179 #: registration/models.py:182
msgid "zip code" msgid "zip code"
msgstr "code postal" msgstr "code postal"
#: registration/models.py:185 #: registration/models.py:188
msgid "city" msgid "city"
msgstr "ville" msgstr "ville"
#: registration/models.py:190 #: registration/models.py:193
msgid "country" msgid "country"
msgstr "pays" msgstr "pays"
#: registration/models.py:195 #: registration/models.py:198
msgid "phone number" msgid "phone number"
msgstr "numéro de téléphone" msgstr "numéro de téléphone"
#: registration/models.py:200 #: registration/models.py:203
msgid "health issues" msgid "health issues"
msgstr "problèmes de santé" msgstr "problèmes de santé"
#: registration/models.py:202 #: registration/models.py:205
msgid "" msgid ""
"You can indicate here your allergies or anything that is important to know " "You can indicate here your allergies or anything that is important to know "
"for organizers." "for organizers."
@@ -3108,11 +3141,11 @@ msgstr ""
"Vous pouvez indiquer ici vos allergies ou n'importe quoi qui peut être bon à " "Vous pouvez indiquer ici vos allergies ou n'importe quoi qui peut être bon à "
"savoir pour les organisateur⋅rices." "savoir pour les organisateur⋅rices."
#: registration/models.py:206 #: registration/models.py:209
msgid "housing constraints" msgid "housing constraints"
msgstr "contraintes de logement" msgstr "contraintes de logement"
#: registration/models.py:208 #: registration/models.py:211
msgid "" msgid ""
"You can fill in something here if you have any housing constraints, e.g. " "You can fill in something here if you have any housing constraints, e.g. "
"medical problems, scheduling issues, gender issues, or anything else you " "medical problems, scheduling issues, gender issues, or anything else you "
@@ -3125,15 +3158,15 @@ msgstr ""
"organisateur⋅rices. Laissez vide si vous n'avez rien de spécifique à " "organisateur⋅rices. Laissez vide si vous n'avez rien de spécifique à "
"déclarer." "déclarer."
#: registration/models.py:215 #: registration/models.py:218
msgid "photo authorization" msgid "photo authorization"
msgstr "autorisation de droit à l'image" msgstr "autorisation de droit à l'image"
#: registration/models.py:222 #: registration/models.py:225
msgid "photo authorization (final)" msgid "photo authorization (final)"
msgstr "autorisation de droit à l'image (finale)" msgstr "autorisation de droit à l'image (finale)"
#: registration/models.py:268 #: registration/models.py:271
#, python-brace-format #, python-brace-format
msgid "" msgid ""
"You are not in a team. You can <a href=\"{create_url}\">create one</a> or <a " "You are not in a team. You can <a href=\"{create_url}\">create one</a> or <a "
@@ -3143,11 +3176,11 @@ msgstr ""
"a> ou <a href=\"{join_url}\">rejoindre une équipe existante</a> pour " "a> ou <a href=\"{join_url}\">rejoindre une équipe existante</a> pour "
"participer." "participer."
#: registration/models.py:274 #: registration/models.py:277
msgid "No team" msgid "No team"
msgstr "Pas d'équipe" msgstr "Pas d'équipe"
#: registration/models.py:282 #: registration/models.py:285
#, python-brace-format #, python-brace-format
msgid "" msgid ""
"You have not uploaded your photo authorization. You can do it by clicking on " "You have not uploaded your photo authorization. You can do it by clicking on "
@@ -3156,11 +3189,11 @@ msgstr ""
"Vous n'avez pas envoyé votre autorisation de droit à l'image. Vous pouvez le " "Vous n'avez pas envoyé votre autorisation de droit à l'image. Vous pouvez le "
"faire en cliquant sur <a href=\"{photo_url}\">ce lien</a>." "faire en cliquant sur <a href=\"{photo_url}\">ce lien</a>."
#: registration/models.py:287 registration/models.py:300 #: registration/models.py:290 registration/models.py:303
msgid "Photo authorization" msgid "Photo authorization"
msgstr "Autorisation de droit à l'image" msgstr "Autorisation de droit à l'image"
#: registration/models.py:295 #: registration/models.py:298
#, python-brace-format #, python-brace-format
msgid "" msgid ""
"You have not uploaded your photo authorization for the final tournament. You " "You have not uploaded your photo authorization for the final tournament. You "
@@ -3169,75 +3202,75 @@ msgstr ""
"Vous n'avez pas envoyé votre autorisation de droit à l'image pour la finale. " "Vous n'avez pas envoyé votre autorisation de droit à l'image pour la finale. "
"Vous pouvez le faire en cliquant sur <a href=\"{photo_url}\">ce lien</a>." "Vous pouvez le faire en cliquant sur <a href=\"{photo_url}\">ce lien</a>."
#: registration/models.py:329 #: registration/models.py:332
msgid "Team selected for the final tournament" msgid "Team selected for the final tournament"
msgstr "Équipe sélectionnée pour la finale" msgstr "Équipe sélectionnée pour la finale"
#: registration/models.py:351 #: registration/models.py:354
msgid "participant registration" msgid "participant registration"
msgstr "inscription de participant⋅e" msgstr "inscription de participant⋅e"
#: registration/models.py:352 #: registration/models.py:355
msgid "participant registrations" msgid "participant registrations"
msgstr "inscriptions de participant⋅es" msgstr "inscriptions de participant⋅es"
#: registration/models.py:361 #: registration/models.py:364
msgid "birth date" msgid "birth date"
msgstr "date de naissance" msgstr "date de naissance"
#: registration/models.py:367 #: registration/models.py:370
msgid "12th grade" msgid "12th grade"
msgstr "Terminale" msgstr "Terminale"
#: registration/models.py:368 #: registration/models.py:371
msgid "11th grade" msgid "11th grade"
msgstr "Première" msgstr "Première"
#: registration/models.py:369 #: registration/models.py:372
msgid "10th grade or lower" msgid "10th grade or lower"
msgstr "Seconde ou inférieur" msgstr "Seconde ou inférieur"
#: registration/models.py:371 #: registration/models.py:374
msgid "student class" msgid "student class"
msgstr "classe" msgstr "classe"
#: registration/models.py:376 #: registration/models.py:379
msgid "school" msgid "school"
msgstr "école" msgstr "école"
#: registration/models.py:381 #: registration/models.py:384
msgid "responsible name" msgid "responsible name"
msgstr "nom d'un⋅e responsable légal⋅e" msgstr "nom d'un⋅e responsable légal⋅e"
#: registration/models.py:386 #: registration/models.py:389
msgid "responsible phone number" msgid "responsible phone number"
msgstr "numéro de téléphone d'un⋅e responsable légal⋅e" msgstr "numéro de téléphone d'un⋅e responsable légal⋅e"
#: registration/models.py:391 #: registration/models.py:394
msgid "responsible email address" msgid "responsible email address"
msgstr "adresse e-mail d'un⋅e responsable légal⋅e" msgstr "adresse e-mail d'un⋅e responsable légal⋅e"
#: registration/models.py:396 #: registration/models.py:399
msgid "parental authorization" msgid "parental authorization"
msgstr "autorisation parentale" msgstr "autorisation parentale"
#: registration/models.py:403 #: registration/models.py:406
msgid "parental authorization (final)" msgid "parental authorization (final)"
msgstr "autorisation parentale (finale)" msgstr "autorisation parentale (finale)"
#: registration/models.py:410 #: registration/models.py:413
msgid "health sheet" msgid "health sheet"
msgstr "fiche sanitaire" msgstr "fiche sanitaire"
#: registration/models.py:417 #: registration/models.py:420
msgid "vaccine sheet" msgid "vaccine sheet"
msgstr "carnet de vaccination" msgstr "carnet de vaccination"
#: registration/models.py:425 #: registration/models.py:428
msgid "student" msgid "student"
msgstr "élève" msgstr "élève"
#: registration/models.py:436 #: registration/models.py:439
#, python-brace-format #, python-brace-format
msgid "" msgid ""
"You have not uploaded your parental authorization. You can do it by clicking " "You have not uploaded your parental authorization. You can do it by clicking "
@@ -3246,11 +3279,11 @@ msgstr ""
"Vous n'avez pas envoyé votre autorisation parentale. Vous pouvez le faire en " "Vous n'avez pas envoyé votre autorisation parentale. Vous pouvez le faire en "
"cliquant sur <a href=\"{parental_url}\">ce lien</a>." "cliquant sur <a href=\"{parental_url}\">ce lien</a>."
#: registration/models.py:441 registration/models.py:501 #: registration/models.py:444 registration/models.py:504
msgid "Parental authorization" msgid "Parental authorization"
msgstr "Autorisation parentale" msgstr "Autorisation parentale"
#: registration/models.py:447 #: registration/models.py:450
#, python-brace-format #, python-brace-format
msgid "" msgid ""
"You have not uploaded your health sheet. You can do it by clicking on <a " "You have not uploaded your health sheet. You can do it by clicking on <a "
@@ -3259,11 +3292,11 @@ msgstr ""
"Vous n'avez pas envoyé votre fiche sanitaire. Vous pouvez le faire en " "Vous n'avez pas envoyé votre fiche sanitaire. Vous pouvez le faire en "
"cliquant sur <a href=\"{health_url}\">ce lien</a>." "cliquant sur <a href=\"{health_url}\">ce lien</a>."
#: registration/models.py:452 #: registration/models.py:455
msgid "Health sheet" msgid "Health sheet"
msgstr "Fiche sanitaire" msgstr "Fiche sanitaire"
#: registration/models.py:458 #: registration/models.py:461
#, python-brace-format #, python-brace-format
msgid "" msgid ""
"You have not uploaded your vaccine sheet. You can do it by clicking on <a " "You have not uploaded your vaccine sheet. You can do it by clicking on <a "
@@ -3272,11 +3305,11 @@ msgstr ""
"Vous n'avez pas envoyé votre carnet de vaccination. Vous pouvez le faire en " "Vous n'avez pas envoyé votre carnet de vaccination. Vous pouvez le faire en "
"cliquant sur <a href=\"{vaccine_url}\">ce lien</a>." "cliquant sur <a href=\"{vaccine_url}\">ce lien</a>."
#: registration/models.py:463 #: registration/models.py:466
msgid "Vaccine sheet" msgid "Vaccine sheet"
msgstr "Carnet de vaccination" msgstr "Carnet de vaccination"
#: registration/models.py:472 #: registration/models.py:475
#, python-brace-format #, python-brace-format
msgid "" msgid ""
"You have to pay {amount} € for your registration, or send a scholarship " "You have to pay {amount} € for your registration, or send a scholarship "
@@ -3287,15 +3320,15 @@ msgstr ""
"notification de bourse ou un justificatif de paiement. Vous pouvez le faire " "notification de bourse ou un justificatif de paiement. Vous pouvez le faire "
"sur <a href=\"{url}\">la page de paiement</a>." "sur <a href=\"{url}\">la page de paiement</a>."
#: registration/models.py:478 registration/models.py:487 #: registration/models.py:481 registration/models.py:490
msgid "Payment" msgid "Payment"
msgstr "Paiement" msgstr "Paiement"
#: registration/models.py:484 #: registration/models.py:487
msgid "Your payment is under approval." msgid "Your payment is under approval."
msgstr "Votre paiement est en cours de validation." msgstr "Votre paiement est en cours de validation."
#: registration/models.py:495 #: registration/models.py:498
#, python-brace-format #, python-brace-format
msgid "" msgid ""
"You have not uploaded your parental authorization for the final tournament. " "You have not uploaded your parental authorization for the final tournament. "
@@ -3304,19 +3337,19 @@ msgstr ""
"Vous n'avez pas envoyé votre autorisation parentale pour la finale. Vous " "Vous n'avez pas envoyé votre autorisation parentale pour la finale. Vous "
"pouvez le faire en cliquant sur <a href=\"{parental_url}\">ce lien</a>." "pouvez le faire en cliquant sur <a href=\"{parental_url}\">ce lien</a>."
#: registration/models.py:510 #: registration/models.py:513
msgid "student registration" msgid "student registration"
msgstr "inscription d'élève" msgstr "inscription d'élève"
#: registration/models.py:511 #: registration/models.py:514
msgid "student registrations" msgid "student registrations"
msgstr "inscriptions d'élève" msgstr "inscriptions d'élève"
#: registration/models.py:522 #: registration/models.py:525
msgid "most recent degree in mathematics, computer science or physics" msgid "most recent degree in mathematics, computer science or physics"
msgstr "Dernier diplôme obtenu en mathématiques, informatique ou physique" msgstr "Dernier diplôme obtenu en mathématiques, informatique ou physique"
#: registration/models.py:523 #: registration/models.py:526
msgid "" msgid ""
"Your most recent degree in maths, computer science or physics, or your last " "Your most recent degree in maths, computer science or physics, or your last "
"entrance exam (CAPES, Agrégation,…)" "entrance exam (CAPES, Agrégation,…)"
@@ -3324,15 +3357,15 @@ msgstr ""
"Votre dernier diplôme en mathématiques, informatique ou physique, ou votre " "Votre dernier diplôme en mathématiques, informatique ou physique, ou votre "
"dernier concours obtenu (CAPES, Agrégation, …)" "dernier concours obtenu (CAPES, Agrégation, …)"
#: registration/models.py:528 registration/models.py:572 #: registration/models.py:531 registration/models.py:575
msgid "professional activity" msgid "professional activity"
msgstr "activité professionnelle" msgstr "activité professionnelle"
#: registration/models.py:533 #: registration/models.py:536
msgid "Scientific coach" msgid "Scientific coach"
msgstr "Encadrant⋅e scientifique" msgstr "Encadrant⋅e scientifique"
#: registration/models.py:536 #: registration/models.py:539
msgid "" msgid ""
"Provides scientific guidance: methodology, content review, and project " "Provides scientific guidance: methodology, content review, and project "
"mentoring during the preparation phase." "mentoring during the preparation phase."
@@ -3340,34 +3373,34 @@ msgstr ""
"Suit l'équipe tout au long de la phase de préparation et les encadre " "Suit l'équipe tout au long de la phase de préparation et les encadre "
"scientifiquement en accord avec le règlement." "scientifiquement en accord avec le règlement."
#: registration/models.py:538 registration/models.py:549 #: registration/models.py:541 registration/models.py:552
msgid "see practical sheet" msgid "see practical sheet"
msgstr "Voir fiche pratique" msgstr "Voir fiche pratique"
#: registration/models.py:544 #: registration/models.py:547
msgid "Accompanying coach" msgid "Accompanying coach"
msgstr "Accompagnateur" msgstr "Accompagnateur"
#: registration/models.py:547 #: registration/models.py:550
msgid "" msgid ""
"Accompanies the team during the weekend and stays for the entire tournament." "Accompanies the team during the weekend and stays for the entire tournament."
msgstr "" msgstr ""
"Accompagne l'équipe durant le week-end et s'engage à y rester tout le " "Accompagne l'équipe durant le week-end et s'engage à y rester tout le "
"tournoi." "tournoi."
#: registration/models.py:563 #: registration/models.py:566
msgid "coach registration" msgid "coach registration"
msgstr "inscription d'encadrant⋅e" msgstr "inscription d'encadrant⋅e"
#: registration/models.py:564 #: registration/models.py:567
msgid "coach registrations" msgid "coach registrations"
msgstr "inscriptions d'encadrant⋅es" msgstr "inscriptions d'encadrant⋅es"
#: registration/models.py:576 #: registration/models.py:579
msgid "administrator" msgid "administrator"
msgstr "administrateur⋅rice" msgstr "administrateur⋅rice"
#: registration/models.py:577 #: registration/models.py:580
msgid "" msgid ""
"An administrator has all rights. Please don't give this right to all juries " "An administrator has all rights. Please don't give this right to all juries "
"and volunteers." "and volunteers."
@@ -3375,15 +3408,15 @@ msgstr ""
"Un⋅e administrateur⋅rice a tous les droits. Merci de ne pas donner ce droit " "Un⋅e administrateur⋅rice a tous les droits. Merci de ne pas donner ce droit "
"à toustes les juré⋅es et bénévoles." "à toustes les juré⋅es et bénévoles."
#: registration/models.py:587 #: registration/models.py:590
msgid "admin" msgid "admin"
msgstr "admin" msgstr "admin"
#: registration/models.py:587 #: registration/models.py:590
msgid "volunteer" msgid "volunteer"
msgstr "bénévole" msgstr "bénévole"
#: registration/models.py:600 #: registration/models.py:603
msgid "" msgid ""
"Registrations for tournament {tournament} are closing on {date:%Y-%m-%d %H:" "Registrations for tournament {tournament} are closing on {date:%Y-%m-%d %H:"
"%M}. There are for now {validated_teams} validated teams (+ {pending_teams} " "%M}. There are for now {validated_teams} validated teams (+ {pending_teams} "
@@ -3393,11 +3426,11 @@ msgstr ""
"%M}. Il y a pour l'instant {validated_teams} équipes validées (+ " "%M}. Il y a pour l'instant {validated_teams} équipes validées (+ "
"{pending_teams} en attente) sur {max_teams} attendues." "{pending_teams} en attente) sur {max_teams} attendues."
#: registration/models.py:608 #: registration/models.py:611
msgid "Registrations" msgid "Registrations"
msgstr "Inscriptions" msgstr "Inscriptions"
#: registration/models.py:615 #: registration/models.py:618
#, python-brace-format #, python-brace-format
msgid "" msgid ""
"The team {trigram} requested to be validated for the tournament of " "The team {trigram} requested to be validated for the tournament of "
@@ -3408,7 +3441,7 @@ msgstr ""
"Vous pouvez vérifier le statut de l'équipe sur la <a href=\"{url}\">page de " "Vous pouvez vérifier le statut de l'équipe sur la <a href=\"{url}\">page de "
"l'équipe</a>." "l'équipe</a>."
#: registration/models.py:632 #: registration/models.py:635
#, python-brace-format #, python-brace-format
msgid "" msgid ""
"There are {valid} validated payments, {pending} pending and {invalid} " "There are {valid} validated payments, {pending} pending and {invalid} "
@@ -3419,11 +3452,11 @@ msgstr ""
"invalides pour le tournoi {tournament}. Vous pouvez vérifier le statut des " "invalides pour le tournoi {tournament}. Vous pouvez vérifier le statut des "
"paiements sur la <a href=\"{url}\">liste des paiements</a>." "paiements sur la <a href=\"{url}\">liste des paiements</a>."
#: registration/models.py:639 #: registration/models.py:642
msgid "Payments" msgid "Payments"
msgstr "Paiements" msgstr "Paiements"
#: registration/models.py:663 registration/models.py:674 #: registration/models.py:666 registration/models.py:677
#, python-brace-format #, python-brace-format
msgid "" msgid ""
"<p>You are in the jury of the pool {pool} for the tournament of " "<p>You are in the jury of the pool {pool} for the tournament of "
@@ -3432,7 +3465,7 @@ msgstr ""
"<p>Vous êtes dans le jury de la poule {pool} pour le tournoi {tournament}. " "<p>Vous êtes dans le jury de la poule {pool} pour le tournoi {tournament}. "
"Vous pouvez trouver la page de la poule <a href='{pool_url}'>ici</a>.</p>" "Vous pouvez trouver la page de la poule <a href='{pool_url}'>ici</a>.</p>"
#: registration/models.py:687 #: registration/models.py:690
#, python-brace-format #, python-brace-format
msgid "" msgid ""
"<p>You don't have given any note as a jury for the passage {passage} in the " "<p>You don't have given any note as a jury for the passage {passage} in the "
@@ -3443,15 +3476,15 @@ msgstr ""
"{passage} dans la poule {pool} de {tournament}. Vous pouvez donner vos notes " "{passage} dans la poule {pool} de {tournament}. Vous pouvez donner vos notes "
"<a href='{passage_url}'>ici</a>.</p>" "<a href='{passage_url}'>ici</a>.</p>"
#: registration/models.py:703 #: registration/models.py:706
msgid "volunteer registration" msgid "volunteer registration"
msgstr "inscription de bénévole" msgstr "inscription de bénévole"
#: registration/models.py:704 #: registration/models.py:707
msgid "volunteer registrations" msgid "volunteer registrations"
msgstr "inscriptions de bénévoles" msgstr "inscriptions de bénévoles"
#: registration/models.py:725 #: registration/models.py:728
msgid "" msgid ""
"If set to true, then one payment is made for the full team, for example if " "If set to true, then one payment is made for the full team, for example if "
"the school pays for all." "the school pays for all."
@@ -3459,100 +3492,100 @@ msgstr ""
"Si vrai, alors un seul paiement est fait pour toute l'équipe, par exemple si " "Si vrai, alors un seul paiement est fait pour toute l'équipe, par exemple si "
"le lycée paie pour tout le monde." "le lycée paie pour tout le monde."
#: registration/models.py:730 #: registration/models.py:733
msgid "total amount" msgid "total amount"
msgstr "montant total" msgstr "montant total"
#: registration/models.py:731 #: registration/models.py:734
msgid "Corresponds to the total required amount to pay, in euros." msgid "Corresponds to the total required amount to pay, in euros."
msgstr "Correspond au montant total à payer, en euros." msgstr "Correspond au montant total à payer, en euros."
#: registration/models.py:736 #: registration/models.py:739
msgid "token" msgid "token"
msgstr "jeton" msgstr "jeton"
#: registration/models.py:739 #: registration/models.py:742
msgid "A token to authorize external users to make this payment." msgid "A token to authorize external users to make this payment."
msgstr "Un jeton pour autoriser des utilisateurs externes à faire ce paiement." msgstr "Un jeton pour autoriser des utilisateurs externes à faire ce paiement."
#: registration/models.py:743 #: registration/models.py:746
msgid "for final tournament" msgid "for final tournament"
msgstr "pour la finale" msgstr "pour la finale"
#: registration/models.py:748 #: registration/models.py:751
msgid "type" msgid "type"
msgstr "type" msgstr "type"
#: registration/models.py:751 #: registration/models.py:754
msgid "No payment" msgid "No payment"
msgstr "Pas de paiement" msgstr "Pas de paiement"
#: registration/models.py:752 #: registration/models.py:755
#: registration/templates/registration/payment_form.html:72 #: registration/templates/registration/payment_form.html:72
msgid "Credit card" msgid "Credit card"
msgstr "Carte bancaire" msgstr "Carte bancaire"
#: registration/models.py:753 #: registration/models.py:756
msgid "Scholarship" msgid "Scholarship"
msgstr "Notification de bourse" msgstr "Notification de bourse"
#: registration/models.py:754 #: registration/models.py:757
#: registration/templates/registration/payment_form.html:77 #: registration/templates/registration/payment_form.html:77
msgid "Bank transfer" msgid "Bank transfer"
msgstr "Virement bancaire" msgstr "Virement bancaire"
#: registration/models.py:755 #: registration/models.py:758
msgid "Other (please indicate)" msgid "Other (please indicate)"
msgstr "Autre (veuillez spécifier)" msgstr "Autre (veuillez spécifier)"
#: registration/models.py:756 #: registration/models.py:759
msgid "The tournament is free" msgid "The tournament is free"
msgstr "Le tournoi est gratuit" msgstr "Le tournoi est gratuit"
#: registration/models.py:763 #: registration/models.py:766
msgid "Hello Asso checkout intent ID" msgid "Hello Asso checkout intent ID"
msgstr "ID de l'intention de paiement Hello Asso" msgstr "ID de l'intention de paiement Hello Asso"
#: registration/models.py:770 #: registration/models.py:773
msgid "receipt" msgid "receipt"
msgstr "justificatif" msgstr "justificatif"
#: registration/models.py:771 #: registration/models.py:774
msgid "only if you have a scholarship or if you chose a bank transfer." msgid "only if you have a scholarship or if you chose a bank transfer."
msgstr "" msgstr ""
"Nécessaire seulement si vous déclarez être boursièr⋅e ou si vous payez par " "Nécessaire seulement si vous déclarez être boursièr⋅e ou si vous payez par "
"virement bancaire." "virement bancaire."
#: registration/models.py:778 #: registration/models.py:781
msgid "additional information" msgid "additional information"
msgstr "informations additionnelles" msgstr "informations additionnelles"
#: registration/models.py:779 #: registration/models.py:782
msgid "To help us to find your payment." msgid "To help us to find your payment."
msgstr "Pour nous aider à retrouver votre paiement, si nécessaire." msgstr "Pour nous aider à retrouver votre paiement, si nécessaire."
#: registration/models.py:785 #: registration/models.py:788
msgid "payment valid" msgid "payment valid"
msgstr "paiement valide" msgstr "paiement valide"
#: registration/models.py:845 #: registration/models.py:848
msgid "Reminder for your payment" msgid "Reminder for your payment"
msgstr "Rappel pour votre paiement" msgstr "Rappel pour votre paiement"
#: registration/models.py:856 #: registration/models.py:859
msgid "Payment confirmation" msgid "Payment confirmation"
msgstr "Confirmation de paiement" msgstr "Confirmation de paiement"
#: registration/models.py:878 #: registration/models.py:881
#, python-brace-format #, python-brace-format
msgid "Payment of {registrations}" msgid "Payment of {registrations}"
msgstr "Paiements de {registrations}" msgstr "Paiements de {registrations}"
#: registration/models.py:881 #: registration/models.py:884
msgid "payment" msgid "payment"
msgstr "paiement" msgstr "paiement"
#: registration/models.py:882 #: registration/models.py:885
msgid "payments" msgid "payments"
msgstr "paiements" msgstr "paiements"
@@ -4826,6 +4859,25 @@ msgstr ""
"Si vous ne finalisez pas votre inscription avant la date limite indiquée, " "Si vous ne finalisez pas votre inscription avant la date limite indiquée, "
"vous ne pourrez malheureusement pas participer au 𝕋𝔽𝕁𝕄²." "vous ne pourrez malheureusement pas participer au 𝕋𝔽𝕁𝕄²."
#: tfjm/templates/messages.html:4
msgid "Dates pending"
msgstr "Dates en attentes"
#: tfjm/templates/messages.html:6
msgid ""
"Since the dates for the tournaments in Bordeaux, Strasbourg, Metz and "
"Occitanie have not yet been set, we kindly invite the teams concerned to "
"wait a little longer. If you wish, you may register for another tournament "
"and send us an email to let us know of your interest; we will keep you "
"informed as soon as the final dates are confirmed.\n"
msgstr ""
"Les dates des tournois de Bordeaux, Strasbourg, Metz et Occitanie nétant pas "
"encore fixées, nous invitons pour le moment les équipes de ces tournois à "
"patienter. Vous pouvez si vous le souhaitez, vous inscrire ailleurs et nous "
"envoyer un mail pour nous informer de votre intérêt : nous vous tiendrons "
"ainsi au courant des avancées concernant les dates définitives.\n"
#: tfjm/templates/navbar.html:17 tfjm/urls.py:33 #: tfjm/templates/navbar.html:17 tfjm/urls.py:33
msgid "Home" msgid "Home"
msgstr "Accueil" msgstr "Accueil"

View File

@@ -251,7 +251,18 @@ class CoachRegistrationForm(forms.ModelForm):
""" """
A coach can tell its professional activity. A coach can tell its professional activity.
""" """
ACCOMPANYING_CONFIRM_CHOICES = [
("presence", _("I undertake to be present throughout the entire tournament weekend alongside the team (including overnight stays).")),
("rules", _("I undertake to respond to the team's (non-mathematical) problems and not to hesitate to discuss them with the tournament organisers, who will be able to help.")),
("cancelling", _("In case of absence, I undertake to notify the organisers as soon as possible, providing a replacement if possible.")),
]
confirm_accompanying = forms.MultipleChoiceField(
required=False,
widget=forms.CheckboxSelectMultiple,
choices=ACCOMPANYING_CONFIRM_CHOICES,
label=_("Responsabilities of accompanying coaches")
)
def __init__(self, *args, **kwargs): def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs) super().__init__(*args, **kwargs)
if not settings.SUGGEST_ANIMATH: if not settings.SUGGEST_ANIMATH:
@@ -259,9 +270,21 @@ class CoachRegistrationForm(forms.ModelForm):
class Meta: class Meta:
model = CoachRegistration model = CoachRegistration
fields = ('team', 'is_scientific_coach', 'is_accompanying_coach', 'gender', 'address', 'zip_code', 'city', 'country', 'phone_number', fields = ('team', 'is_scientific_coach', 'is_accompanying_coach', 'confirm_accompanying', 'gender', 'address', 'zip_code', 'city', 'country', 'phone_number',
'last_degree', 'professional_activity', 'health_issues', 'housing_constraints', 'last_degree', 'professional_activity', 'health_issues', 'housing_constraints',
'give_contact_to_animath', 'email_confirmed') 'give_contact_to_animath', 'email_confirmed')
def clean(self):
cleaned = super().clean()
if cleaned.get("is_accompanying_coach"):
selected = set(cleaned.get("confirm_accompanying") or [])
required = {key for key, _ in self.ACCOMPANYING_CONFIRM_CHOICES}
if selected != required:
self.add_error(
"confirm_accompanying",
_("Please tick all the required confirmations."),
)
return cleaned
class VolunteerRegistrationForm(forms.ModelForm): class VolunteerRegistrationForm(forms.ModelForm):

View File

@@ -51,15 +51,33 @@
<script> <script>
document.addEventListener('DOMContentLoaded', () => { document.addEventListener('DOMContentLoaded', () => {
let role_elem = document.getElementById("id_role") let role_elem = document.getElementById("id_role")
function setup_requirements() {
const main = document.getElementById('id_is_accompanying_coach');
const group = document.getElementById('div_id_confirm_accompanying');
function toggle(){
if(main.checked) {
group.style.display = "block";
} else {
group.style.display = "none";
}
}
main.addEventListener('change', toggle);
toggle();
}
function updateView () { function updateView () {
let selected_role = role_elem.options[role_elem.selectedIndex].value let selected_role = role_elem.options[role_elem.selectedIndex].value
if (selected_role === "participant") if (selected_role === "participant")
document.getElementById("registration_form").innerHTML = document.getElementById("student_registration_form").innerHTML document.getElementById("registration_form").innerHTML = document.getElementById("student_registration_form").innerHTML
else else
document.getElementById("registration_form").innerHTML = document.getElementById("coach_registration_form").innerHTML document.getElementById("registration_form").innerHTML = document.getElementById("coach_registration_form").innerHTML
setup_requirements();
} }
role_elem.addEventListener('change', updateView) role_elem.addEventListener('change', updateView)
updateView() updateView()
}) })
</script> </script>
{% endblock %} {% endblock %}

View File

@@ -1,11 +1,10 @@
<div id="messages"> <div id="messages">
<div class="alert alert-info fade show" role="alert"> <div class="alert alert-info fade show" role="alert">
<h2>Dates en attente</h2> {% load i18n %}
<p>Les dates des tournois de Bordeaux, Strasbourg, Metz et Occitanie nétant pas encore fixées, <h2>{% trans "Dates pending" %}</h2>
nous invitons pour le moment les équipes de ces tournois à patienter. <br />
Vous pouvez si vous le souhaitez, vous inscrire ailleurs et nous envoyer un mail pour <p>{% blocktrans %}Since the dates for the tournaments in Bordeaux, Strasbourg, Metz and Occitanie have not yet been set, we kindly invite the teams concerned to wait a little longer. If you wish, you may register for another tournament and send us an email to let us know of your interest; we will keep you informed as soon as the final dates are confirmed.
nous informer de votre intérêt : nous vous tiendrons ainsi au courant des avancées {% endblocktrans %}
concernant les dates définitives.
</p> </p>
</div> </div>
{% for message in messages %} {% for message in messages %}