1
0
mirror of https://gitlab.com/animath/si/plateforme.git synced 2024-12-24 17:02:24 +00:00

Don't request too many authorizations for remote tournaments

This commit is contained in:
Yohann D'ANELLO 2021-01-23 19:57:25 +01:00
parent 4dd3c105fe
commit 2bd6988c6a
Signed by: ynerant
GPG Key ID: 3A75C55819C8CF85
8 changed files with 223 additions and 182 deletions

View File

@ -0,0 +1,18 @@
# Generated by Django 3.0.11 on 2021-01-23 18:36
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('participation', '0002_auto_20210122_1926'),
]
operations = [
migrations.AddField(
model_name='tournament',
name='remote',
field=models.BooleanField(default=False, verbose_name='remote'),
),
]

View File

@ -157,6 +157,11 @@ class Tournament(models.Model):
default=21, default=21,
) )
remote = models.BooleanField(
verbose_name=_("remote"),
default=False,
)
inscription_limit = models.DateTimeField( inscription_limit = models.DateTimeField(
verbose_name=_("limit date for registrations"), verbose_name=_("limit date for registrations"),
default=timezone.now, default=timezone.now,

View File

@ -60,31 +60,33 @@
{% endfor %} {% endfor %}
</dd> </dd>
<dt class="col-sm-6 text-right">{% trans "Health sheets:" %}</dt> {% if not team.participation.tournament.remote %}
<dd class="col-sm-6"> <dt class="col-sm-6 text-right">{% trans "Health sheets:" %}</dt>
{% for student in team.students.all %} <dd class="col-sm-6">
{% if student.under_18 %} {% for student in team.students.all %}
{% if student.health_sheet %} {% if student.under_18 %}
<a href="{{ student.health_sheet.url }}" data-turbolinks="false">{{ student }}</a>{% if not forloop.last %},{% endif %} {% if student.health_sheet %}
{% else %} <a href="{{ student.health_sheet.url }}" data-turbolinks="false">{{ student }}</a>{% if not forloop.last %},{% endif %}
{{ student }} ({% trans "Not uploaded yet" %}){% if not forloop.last %},{% endif %} {% else %}
{{ student }} ({% trans "Not uploaded yet" %}){% if not forloop.last %},{% endif %}
{% endif %}
{% endif %} {% endif %}
{% endif %} {% endfor %}
{% endfor %} </dd>
</dd>
<dt class="col-sm-6 text-right">{% trans "Parental authorizations:" %}</dt> <dt class="col-sm-6 text-right">{% trans "Parental authorizations:" %}</dt>
<dd class="col-sm-6"> <dd class="col-sm-6">
{% for student in team.students.all %} {% for student in team.students.all %}
{% if student.under_18 %} {% if student.under_18 %}
{% if student.parental_authorization %} {% if student.parental_authorization %}
<a href="{{ student.parental_authorization.url }}" data-turbolinks="false">{{ student }}</a>{% if not forloop.last %},{% endif %} <a href="{{ student.parental_authorization.url }}" data-turbolinks="false">{{ student }}</a>{% if not forloop.last %},{% endif %}
{% else %} {% else %}
{{ student }} ({% trans "Not uploaded yet" %}){% if not forloop.last %},{% endif %} {{ student }} ({% trans "Not uploaded yet" %}){% if not forloop.last %},{% endif %}
{% endif %}
{% endif %} {% endif %}
{% endif %} {% endfor %}
{% endfor %} </dd>
</dd> {% endif %}
<dt class="col-sm-6 text-right">{% trans "Motivation letter:" %}</dt> <dt class="col-sm-6 text-right">{% trans "Motivation letter:" %}</dt>
<dd class="col-sm-6"> <dd class="col-sm-6">

View File

@ -21,6 +21,9 @@
<dt class="col-xl-6 text-right">{% trans 'price'|capfirst %}</dt> <dt class="col-xl-6 text-right">{% trans 'price'|capfirst %}</dt>
<dd class="col-xl-6">{% if tournament.price %}{{ tournament.price }} €{% else %}{% trans "Free" %}{% endif %}</dd> <dd class="col-xl-6">{% if tournament.price %}{{ tournament.price }} €{% else %}{% trans "Free" %}{% endif %}</dd>
<dt class="col-xl-6 text-right">{% trans 'remote'|capfirst %}</dt>
<dd class="col-xl-6">{{ tournament.remote|yesno }}</dd>
<dt class="col-xl-6 text-right">{% trans 'dates'|capfirst %}</dt> <dt class="col-xl-6 text-right">{% trans 'dates'|capfirst %}</dt>
<dd class="col-xl-6">{% trans "From" %} {{ tournament.date_start }} {% trans "to" %} {{ tournament.date_end }}</dd> <dd class="col-xl-6">{% trans "From" %} {{ tournament.date_start }} {% trans "to" %} {{ tournament.date_end }}</dd>

View File

@ -292,6 +292,8 @@ class TestStudentParticipation(TestCase):
self.assertEqual(resp.status_code, 200) self.assertEqual(resp.status_code, 200)
self.assertFalse(resp.context["can_validate"]) self.assertFalse(resp.context["can_validate"])
self.team.participation.tournament = self.tournament
self.team.participation.save()
self.team.motivation_letter = "i_am_motivated.pdf" self.team.motivation_letter = "i_am_motivated.pdf"
self.team.save() self.team.save()
resp = self.client.get(reverse("participation:team_detail", args=(self.team.pk,))) resp = self.client.get(reverse("participation:team_detail", args=(self.team.pk,)))

View File

@ -177,10 +177,13 @@ class TeamDetailView(LoginRequiredMixin, FormMixin, ProcessFormView, DetailView)
# A team is complete when there are at least 4 members plus a coache that have sent their authorizations, # A team is complete when there are at least 4 members plus a coache that have sent their authorizations,
# their health sheet, they confirmed their email address and under-18 people sent their parental authorization. # their health sheet, they confirmed their email address and under-18 people sent their parental authorization.
context["can_validate"] = team.students.count() >= 4 and team.coaches.exists() and \ context["can_validate"] = team.students.count() >= 4 and team.coaches.exists() and \
team.participation.tournament and \
all(r.email_confirmed for r in team.students.all()) and \ all(r.email_confirmed for r in team.students.all()) and \
all(r.photo_authorization for r in team.participants.all()) and \ all(r.photo_authorization for r in team.participants.all()) and \
all(r.health_sheet for r in team.students.all() if r.under_18) and \ (team.participation.tournament.remote
all(r.parental_authorization for r in team.students.all() if r.under_18) and \ or all(r.health_sheet for r in team.students.all() if r.under_18)) and \
(team.participation.tournament.remote
or all(r.parental_authorization for r in team.students.all() if r.under_18)) and \
team.motivation_letter team.motivation_letter
return context return context

View File

@ -62,7 +62,7 @@
</dd> </dd>
{% endif %} {% endif %}
{% if user_object.registration.studentregistration %} {% if user_object.registration.studentregistration and user_object.registration.participation.tournament and not user_object.registration.participation.tournament.remote %}
{% if user_object.registration.under_18 %} {% if user_object.registration.under_18 %}
<dt class="col-sm-6 text-right">{% trans "Health sheet:" %}</dt> <dt class="col-sm-6 text-right">{% trans "Health sheet:" %}</dt>
<dd class="col-sm-6"> <dd class="col-sm-6">

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: 2021-01-22 09:43+0100\n" "POT-Creation-Date: 2021-01-23 19:56+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: Yohann D'ANELLO <yohann.danello@animath.fr>\n" "Last-Translator: Yohann D'ANELLO <yohann.danello@animath.fr>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@ -99,8 +99,8 @@ msgstr "changelogs"
msgid "Changelog of type \"{action}\" for model {model} at {timestamp}" msgid "Changelog of type \"{action}\" for model {model} at {timestamp}"
msgstr "Changelog de type \"{action}\" pour le modèle {model} le {timestamp}" msgstr "Changelog de type \"{action}\" pour le modèle {model} le {timestamp}"
#: apps/participation/admin.py:19 apps/participation/models.py:309 #: apps/participation/admin.py:19 apps/participation/models.py:314
#: apps/participation/tables.py:44 apps/registration/models.py:346 #: apps/participation/tables.py:44 apps/registration/models.py:352
msgid "valid" msgid "valid"
msgstr "valide" msgstr "valide"
@ -178,12 +178,12 @@ msgstr "lettre de motivation"
msgid "Team {name} ({trigram})" msgid "Team {name} ({trigram})"
msgstr "Équipe {name} ({trigram})" msgstr "Équipe {name} ({trigram})"
#: apps/participation/models.py:122 apps/participation/models.py:294 #: apps/participation/models.py:122 apps/participation/models.py:299
#: apps/registration/models.py:123 #: apps/registration/models.py:123
msgid "team" msgid "team"
msgstr "équipe" msgstr "équipe"
#: apps/participation/models.py:123 apps/participation/tables.py:84 #: apps/participation/models.py:123 apps/participation/tables.py:85
msgid "teams" msgid "teams"
msgstr "équipes" msgstr "équipes"
@ -210,98 +210,103 @@ msgid "price"
msgstr "prix" msgstr "prix"
#: apps/participation/models.py:161 #: apps/participation/models.py:161
#: apps/participation/templates/participation/tournament_detail.html:24
msgid "remote"
msgstr "à distance"
#: apps/participation/models.py:166
msgid "limit date for registrations" msgid "limit date for registrations"
msgstr "date limite d'inscription" msgstr "date limite d'inscription"
#: apps/participation/models.py:166 #: apps/participation/models.py:171
msgid "limit date to upload solutions" msgid "limit date to upload solutions"
msgstr "date limite pour envoyer les solutions" msgstr "date limite pour envoyer les solutions"
#: apps/participation/models.py:171 #: apps/participation/models.py:176
msgid "random draw for solutions" msgid "random draw for solutions"
msgstr "tirage au sort des solutions" msgstr "tirage au sort des solutions"
#: apps/participation/models.py:176 #: apps/participation/models.py:181
msgid "limit date to upload the syntheses for the first phase" msgid "limit date to upload the syntheses for the first phase"
msgstr "date limite pour envoyer les notes de synthèses pour la première phase" msgstr "date limite pour envoyer les notes de synthèses pour la première phase"
#: apps/participation/models.py:181 #: apps/participation/models.py:186
msgid "date when the solutions for the second round become available" msgid "date when the solutions for the second round become available"
msgstr "date à laquelle les solutions pour le second tour sont accessibles" msgstr "date à laquelle les solutions pour le second tour sont accessibles"
#: apps/participation/models.py:186 #: apps/participation/models.py:191
msgid "limit date to upload the syntheses for the second phase" msgid "limit date to upload the syntheses for the second phase"
msgstr "date limite d'envoi des notes de synthèse pour la seconde phase" msgstr "date limite d'envoi des notes de synthèse pour la seconde phase"
#: apps/participation/models.py:191 #: apps/participation/models.py:196
#: apps/participation/templates/participation/tournament_detail.html:45 #: apps/participation/templates/participation/tournament_detail.html:48
msgid "description" msgid "description"
msgstr "description" msgstr "description"
#: apps/participation/models.py:197 #: apps/participation/models.py:202
#: apps/participation/templates/participation/tournament_detail.html:12 #: apps/participation/templates/participation/tournament_detail.html:12
msgid "organizers" msgid "organizers"
msgstr "organisateurs" msgstr "organisateurs"
#: apps/participation/models.py:202 #: apps/participation/models.py:207
msgid "final" msgid "final"
msgstr "finale" msgstr "finale"
#: apps/participation/models.py:279 apps/participation/models.py:303 #: apps/participation/models.py:284 apps/participation/models.py:308
#: apps/participation/models.py:335 #: apps/participation/models.py:340
msgid "tournament" msgid "tournament"
msgstr "tournoi" msgstr "tournoi"
#: apps/participation/models.py:280 #: apps/participation/models.py:285
msgid "tournaments" msgid "tournaments"
msgstr "tournois" msgstr "tournois"
#: apps/participation/models.py:310 #: apps/participation/models.py:315
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 organisateurs." msgstr "La participation a été validée par les organisateurs."
#: apps/participation/models.py:315 #: apps/participation/models.py:320
msgid "selected for final" msgid "selected for final"
msgstr "sélectionnée pour la finale" msgstr "sélectionnée pour la finale"
#: apps/participation/models.py:316 #: apps/participation/models.py:321
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."
#: apps/participation/models.py:323 #: apps/participation/models.py:328
#, 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})"
#: apps/participation/models.py:326 apps/participation/models.py:523 #: apps/participation/models.py:331 apps/participation/models.py:523
#: apps/participation/models.py:561 #: apps/participation/models.py:561
msgid "participation" msgid "participation"
msgstr "participation" msgstr "participation"
#: apps/participation/models.py:327 apps/participation/models.py:349 #: apps/participation/models.py:332 apps/participation/models.py:354
msgid "participations" msgid "participations"
msgstr "participations" msgstr "participations"
#: apps/participation/models.py:339 #: apps/participation/models.py:344
msgid "round" msgid "round"
msgstr "tour" msgstr "tour"
#: apps/participation/models.py:341 apps/participation/models.py:342 #: apps/participation/models.py:346 apps/participation/models.py:347
#, python-brace-format #, python-brace-format
msgid "Round {round}" msgid "Round {round}"
msgstr "Tour {round}" msgstr "Tour {round}"
#: apps/participation/models.py:355 #: apps/participation/models.py:360
msgid "juries" msgid "juries"
msgstr "jurys" msgstr "jurys"
#: apps/participation/models.py:362 #: apps/participation/models.py:367
msgid "BigBlueButton code" msgid "BigBlueButton URL"
msgstr "Code BigBlueButton" msgstr "Lien BigBlueButton"
#: apps/participation/models.py:363 #: apps/participation/models.py:368
msgid "The code of the form xxx-xxx-xxx at the end of the BBB link." msgid "The link of the BBB visio for this pool."
msgstr "Le code de la forme xxx-xxx-xxx à la fin du lien BBB." msgstr "Le lien du salon BBB pour cette poule."
#: apps/participation/models.py:382 #: apps/participation/models.py:382
#, python-brace-format #, python-brace-format
@ -329,7 +334,7 @@ msgstr "solution défendue"
msgid "Problem #{problem}" msgid "Problem #{problem}"
msgstr "Problème n°{problem}" msgstr "Problème n°{problem}"
#: apps/participation/models.py:417 apps/participation/tables.py:105 #: apps/participation/models.py:417 apps/participation/tables.py:106
msgid "defender" msgid "defender"
msgstr "défenseur" msgstr "défenseur"
@ -461,7 +466,7 @@ msgstr "date"
msgid "From {start} to {end}" msgid "From {start} to {end}"
msgstr "Du {start} au {end}" msgstr "Du {start} au {end}"
#: apps/participation/tables.py:90 #: apps/participation/tables.py:91
msgid "No defined team" msgid "No defined team"
msgstr "Pas d'équipe définie" msgstr "Pas d'équipe définie"
@ -501,12 +506,12 @@ msgstr ""
#: apps/participation/templates/participation/create_team.html:11 #: apps/participation/templates/participation/create_team.html:11
#: apps/participation/templates/participation/tournament_form.html:14 #: apps/participation/templates/participation/tournament_form.html:14
#: tfjm/templates/base.html:234 #: tfjm/templates/base.html:240
msgid "Create" msgid "Create"
msgstr "Créer" msgstr "Créer"
#: apps/participation/templates/participation/join_team.html:11 #: apps/participation/templates/participation/join_team.html:11
#: tfjm/templates/base.html:229 #: tfjm/templates/base.html:235
msgid "Join" msgid "Join"
msgstr "Rejoindre" msgstr "Rejoindre"
@ -517,8 +522,8 @@ msgstr "Rejoindre"
#: apps/participation/templates/participation/pool_detail.html:55 #: apps/participation/templates/participation/pool_detail.html:55
#: apps/participation/templates/participation/pool_detail.html:73 #: apps/participation/templates/participation/pool_detail.html:73
#: apps/participation/templates/participation/pool_detail.html:78 #: apps/participation/templates/participation/pool_detail.html:78
#: apps/participation/templates/participation/team_detail.html:109 #: apps/participation/templates/participation/team_detail.html:111
#: apps/participation/templates/participation/team_detail.html:173 #: apps/participation/templates/participation/team_detail.html:175
#: apps/participation/templates/participation/tournament_form.html:12 #: apps/participation/templates/participation/tournament_form.html:12
#: apps/participation/templates/participation/update_team.html:12 #: apps/participation/templates/participation/update_team.html:12
#: apps/registration/templates/registration/payment_form.html:49 #: apps/registration/templates/registration/payment_form.html:49
@ -574,7 +579,7 @@ msgstr "Envoyer une solution"
#: apps/participation/templates/participation/participation_detail.html:50 #: apps/participation/templates/participation/participation_detail.html:50
#: apps/participation/templates/participation/passage_detail.html:110 #: apps/participation/templates/participation/passage_detail.html:110
#: apps/participation/templates/participation/team_detail.html:168 #: apps/participation/templates/participation/team_detail.html:170
#: apps/participation/templates/participation/upload_motivation_letter.html:13 #: apps/participation/templates/participation/upload_motivation_letter.html:13
#: apps/participation/templates/participation/upload_solution.html:11 #: apps/participation/templates/participation/upload_solution.html:11
#: apps/participation/templates/participation/upload_synthesis.html:11 #: apps/participation/templates/participation/upload_synthesis.html:11
@ -696,7 +701,7 @@ msgid "BigBlueButton link:"
msgstr "Lien BigBlueButton :" msgstr "Lien BigBlueButton :"
#: apps/participation/templates/participation/pool_detail.html:41 #: apps/participation/templates/participation/pool_detail.html:41
#: apps/participation/templates/participation/tournament_detail.html:91 #: apps/participation/templates/participation/tournament_detail.html:94
msgid "Ranking" msgid "Ranking"
msgstr "Classement" msgstr "Classement"
@ -715,7 +720,7 @@ msgid "Passages"
msgstr "Passages" msgstr "Passages"
#: apps/participation/templates/participation/pool_detail.html:68 #: apps/participation/templates/participation/pool_detail.html:68
#: apps/participation/templates/participation/tournament_detail.html:105 #: apps/participation/templates/participation/tournament_detail.html:108
msgid "Add" msgid "Add"
msgstr "Ajouter" msgstr "Ajouter"
@ -754,25 +759,25 @@ msgid "Photo authorizations:"
msgstr "Autorisations de droit à l'image :" msgstr "Autorisations de droit à l'image :"
#: apps/participation/templates/participation/team_detail.html:58 #: apps/participation/templates/participation/team_detail.html:58
#: apps/participation/templates/participation/team_detail.html:70 #: apps/participation/templates/participation/team_detail.html:71
#: apps/participation/templates/participation/team_detail.html:83 #: apps/participation/templates/participation/team_detail.html:84
#: apps/participation/templates/participation/team_detail.html:94 #: apps/participation/templates/participation/team_detail.html:96
msgid "Not uploaded yet" msgid "Not uploaded yet"
msgstr "Pas encore envoyée" msgstr "Pas encore envoyée"
#: apps/participation/templates/participation/team_detail.html:63 #: apps/participation/templates/participation/team_detail.html:64
msgid "Health sheets:" msgid "Health sheets:"
msgstr "Fiches sanitaires :" msgstr "Fiches sanitaires :"
#: apps/participation/templates/participation/team_detail.html:76 #: apps/participation/templates/participation/team_detail.html:77
msgid "Parental authorizations:" msgid "Parental authorizations:"
msgstr "Autorisations parentales :" msgstr "Autorisations parentales :"
#: apps/participation/templates/participation/team_detail.html:89 #: apps/participation/templates/participation/team_detail.html:91
msgid "Motivation letter:" msgid "Motivation letter:"
msgstr "Lettre de motivation :" msgstr "Lettre de motivation :"
#: apps/participation/templates/participation/team_detail.html:92 #: apps/participation/templates/participation/team_detail.html:94
#: apps/registration/templates/registration/upload_health_sheet.html:12 #: apps/registration/templates/registration/upload_health_sheet.html:12
#: apps/registration/templates/registration/upload_parental_authorization.html:12 #: apps/registration/templates/registration/upload_parental_authorization.html:12
#: apps/registration/templates/registration/user_detail.html:57 #: apps/registration/templates/registration/user_detail.html:57
@ -781,28 +786,28 @@ msgstr "Lettre de motivation :"
msgid "Download" msgid "Download"
msgstr "Télécharger" msgstr "Télécharger"
#: apps/participation/templates/participation/team_detail.html:97 #: apps/participation/templates/participation/team_detail.html:99
#: apps/registration/templates/registration/user_detail.html:60 #: apps/registration/templates/registration/user_detail.html:60
#: apps/registration/templates/registration/user_detail.html:73 #: apps/registration/templates/registration/user_detail.html:73
#: apps/registration/templates/registration/user_detail.html:83 #: apps/registration/templates/registration/user_detail.html:83
msgid "Replace" msgid "Replace"
msgstr "Remplacer" msgstr "Remplacer"
#: apps/participation/templates/participation/team_detail.html:104 #: apps/participation/templates/participation/team_detail.html:106
msgid "Download all authorizations" msgid "Download all authorizations"
msgstr "Télécharger toutes les autorisations" msgstr "Télécharger toutes les autorisations"
#: apps/participation/templates/participation/team_detail.html:111 #: apps/participation/templates/participation/team_detail.html:113
#: apps/participation/templates/participation/team_detail.html:178 #: apps/participation/templates/participation/team_detail.html:180
#: apps/participation/templates/participation/team_leave.html:11 #: apps/participation/templates/participation/team_leave.html:11
msgid "Leave" msgid "Leave"
msgstr "Quitter" msgstr "Quitter"
#: apps/participation/templates/participation/team_detail.html:121 #: apps/participation/templates/participation/team_detail.html:123
msgid "Access to team participation" msgid "Access to team participation"
msgstr "Accéder à la participation de l'équipe" msgstr "Accéder à la participation de l'équipe"
#: apps/participation/templates/participation/team_detail.html:128 #: apps/participation/templates/participation/team_detail.html:130
msgid "" msgid ""
"Your team has at least 4 members and a coach and all authorizations were " "Your team has at least 4 members and a coach and all authorizations were "
"given: the team can be validated." "given: the team can be validated."
@ -810,11 +815,11 @@ msgstr ""
"Votre équipe contient au moins 4 personnes et un encadrant et toutes les " "Votre équipe contient au moins 4 personnes et un encadrant et toutes les "
"autorisations ont été données : l'équipe peut être validée." "autorisations ont été données : l'équipe peut être validée."
#: apps/participation/templates/participation/team_detail.html:133 #: apps/participation/templates/participation/team_detail.html:135
msgid "Submit my team to validation" msgid "Submit my team to validation"
msgstr "Soumettre mon équipe à validation" msgstr "Soumettre mon équipe à validation"
#: apps/participation/templates/participation/team_detail.html:139 #: apps/participation/templates/participation/team_detail.html:141
msgid "" msgid ""
"Your team must be composed of 4 members and a coach and each member must " "Your team must be composed of 4 members and a coach and each member must "
"upload their authorizations and confirm its email address." "upload their authorizations and confirm its email address."
@ -822,15 +827,15 @@ msgstr ""
"Votre équipe doit être composée de 4 membres et un encadrant et chaque " "Votre équipe doit être composée de 4 membres et un encadrant et chaque "
"membre doit envoyer ses autorisations et confirmé son adresse e-mail." "membre doit envoyer ses autorisations et confirmé son adresse e-mail."
#: apps/participation/templates/participation/team_detail.html:144 #: apps/participation/templates/participation/team_detail.html:146
msgid "This team didn't ask for validation yet." msgid "This team didn't ask for validation yet."
msgstr "L'équipe n'a pas encore demandé à être validée." msgstr "L'équipe n'a pas encore demandé à être validée."
#: apps/participation/templates/participation/team_detail.html:150 #: apps/participation/templates/participation/team_detail.html:152
msgid "Your validation is pending." msgid "Your validation is pending."
msgstr "Votre validation est en attente." msgstr "Votre validation est en attente."
#: apps/participation/templates/participation/team_detail.html:154 #: apps/participation/templates/participation/team_detail.html:156
msgid "" msgid ""
"The team requested to be validated. You may now control the authorizations " "The team requested to be validated. You may now control the authorizations "
"and confirm that they can participate." "and confirm that they can participate."
@ -838,25 +843,25 @@ msgstr ""
"L'équipe a demandé à être validée. Vous pouvez désormais contrôler les " "L'équipe a demandé à être validée. Vous pouvez désormais contrôler les "
"différentes autorisations et confirmer qu'elle peut participer." "différentes autorisations et confirmer qu'elle peut participer."
#: apps/participation/templates/participation/team_detail.html:160 #: apps/participation/templates/participation/team_detail.html:162
msgid "Validate" msgid "Validate"
msgstr "Valider" msgstr "Valider"
#: apps/participation/templates/participation/team_detail.html:161 #: apps/participation/templates/participation/team_detail.html:163
msgid "Invalidate" msgid "Invalidate"
msgstr "Invalider" msgstr "Invalider"
#: apps/participation/templates/participation/team_detail.html:167 #: apps/participation/templates/participation/team_detail.html:169
#: apps/participation/views.py:317 #: apps/participation/views.py:320
msgid "Upload motivation letter" msgid "Upload motivation letter"
msgstr "Envoyer la lettre de motivation" msgstr "Envoyer la lettre de motivation"
#: apps/participation/templates/participation/team_detail.html:172 #: apps/participation/templates/participation/team_detail.html:174
msgid "Update team" msgid "Update team"
msgstr "Modifier l'équipe" msgstr "Modifier l'équipe"
#: apps/participation/templates/participation/team_detail.html:177 #: apps/participation/templates/participation/team_detail.html:179
#: apps/participation/views.py:418 #: apps/participation/views.py:421
msgid "Leave team" msgid "Leave team"
msgstr "Quitter l'équipe" msgstr "Quitter l'équipe"
@ -865,7 +870,7 @@ msgid "Are you sure that you want to leave this team?"
msgstr "Êtes-vous sûr·e de vouloir quitter cette équipe ?" msgstr "Êtes-vous sûr·e de vouloir quitter cette équipe ?"
#: apps/participation/templates/participation/team_list.html:6 #: apps/participation/templates/participation/team_list.html:6
#: tfjm/templates/base.html:222 #: tfjm/templates/base.html:228
msgid "All teams" msgid "All teams"
msgstr "Toutes les équipes" msgstr "Toutes les équipes"
@ -877,78 +882,78 @@ msgstr "taille"
msgid "Free" msgid "Free"
msgstr "Gratuit" msgstr "Gratuit"
#: apps/participation/templates/participation/tournament_detail.html:24 #: apps/participation/templates/participation/tournament_detail.html:27
msgid "dates" msgid "dates"
msgstr "dates" msgstr "dates"
#: apps/participation/templates/participation/tournament_detail.html:25 #: apps/participation/templates/participation/tournament_detail.html:28
msgid "From" msgid "From"
msgstr "Du" msgstr "Du"
#: apps/participation/templates/participation/tournament_detail.html:25 #: apps/participation/templates/participation/tournament_detail.html:28
msgid "to" msgid "to"
msgstr "au" msgstr "au"
#: apps/participation/templates/participation/tournament_detail.html:27 #: apps/participation/templates/participation/tournament_detail.html:30
msgid "date of registration closing" msgid "date of registration closing"
msgstr "date de clôture des inscriptions" msgstr "date de clôture des inscriptions"
#: apps/participation/templates/participation/tournament_detail.html:30 #: apps/participation/templates/participation/tournament_detail.html:33
msgid "date of maximal solution submission" msgid "date of maximal solution submission"
msgstr "date limite d'envoi des solutions" msgstr "date limite d'envoi des solutions"
#: apps/participation/templates/participation/tournament_detail.html:33 #: apps/participation/templates/participation/tournament_detail.html:36
msgid "date of the random draw" msgid "date of the random draw"
msgstr "date du tirage au sort" msgstr "date du tirage au sort"
#: apps/participation/templates/participation/tournament_detail.html:36 #: apps/participation/templates/participation/tournament_detail.html:39
msgid "date of maximal syntheses submission for the first round" msgid "date of maximal syntheses submission for the first round"
msgstr "date limite de soumission des notes de synthèse pour le premier tour" msgstr "date limite de soumission des notes de synthèse pour le premier tour"
#: apps/participation/templates/participation/tournament_detail.html:39 #: apps/participation/templates/participation/tournament_detail.html:42
msgid "date when solutions of round 2 are available" msgid "date when solutions of round 2 are available"
msgstr "" msgstr ""
"date à partir de laquelle les solutions pour le second tour sont disponibles" "date à partir de laquelle les solutions pour le second tour sont disponibles"
#: apps/participation/templates/participation/tournament_detail.html:42 #: apps/participation/templates/participation/tournament_detail.html:45
msgid "date of maximal syntheses submission for the second round" msgid "date of maximal syntheses submission for the second round"
msgstr "date limite de soumission des notes de synthèse pour le second tour" msgstr "date limite de soumission des notes de synthèse pour le second tour"
#: apps/participation/templates/participation/tournament_detail.html:48 #: apps/participation/templates/participation/tournament_detail.html:51
msgid "To contact organizers" msgid "To contact organizers"
msgstr "Pour contacter les organisateurs" msgstr "Pour contacter les organisateurs"
#: apps/participation/templates/participation/tournament_detail.html:51 #: apps/participation/templates/participation/tournament_detail.html:54
msgid "To contact juries" msgid "To contact juries"
msgstr "Pour contacter les jurys" msgstr "Pour contacter les jurys"
#: apps/participation/templates/participation/tournament_detail.html:54 #: apps/participation/templates/participation/tournament_detail.html:57
msgid "To contact valid teams" msgid "To contact valid teams"
msgstr "Pour contacter les équipes valides" msgstr "Pour contacter les équipes valides"
#: apps/participation/templates/participation/tournament_detail.html:61 #: apps/participation/templates/participation/tournament_detail.html:64
msgid "Edit tournament" msgid "Edit tournament"
msgstr "Modifier le tournoi" msgstr "Modifier le tournoi"
#: apps/participation/templates/participation/tournament_detail.html:68 #: apps/participation/templates/participation/tournament_detail.html:71
#: tfjm/templates/base.html:68 #: tfjm/templates/base.html:68
msgid "Teams" msgid "Teams"
msgstr "Équipes" msgstr "Équipes"
#: apps/participation/templates/participation/tournament_detail.html:76 #: apps/participation/templates/participation/tournament_detail.html:79
msgid "Pools" msgid "Pools"
msgstr "Poules" msgstr "Poules"
#: apps/participation/templates/participation/tournament_detail.html:83 #: apps/participation/templates/participation/tournament_detail.html:86
msgid "Add new pool" msgid "Add new pool"
msgstr "Ajouter une nouvelle poule" msgstr "Ajouter une nouvelle poule"
#: apps/participation/templates/participation/tournament_detail.html:104 #: apps/participation/templates/participation/tournament_detail.html:107
msgid "Add pool" msgid "Add pool"
msgstr "Ajouter une poule" msgstr "Ajouter une poule"
#: apps/participation/templates/participation/tournament_list.html:6 #: apps/participation/templates/participation/tournament_list.html:6
#: tfjm/templates/base.html:218 #: tfjm/templates/base.html:224
msgid "All tournaments" msgid "All tournaments"
msgstr "Tous les tournois" msgstr "Tous les tournois"
@ -961,7 +966,7 @@ msgid "Back to the team detail"
msgstr "Retour aux détails de l'utilisateur" msgstr "Retour aux détails de l'utilisateur"
#: apps/participation/views.py:42 tfjm/templates/base.html:74 #: apps/participation/views.py:42 tfjm/templates/base.html:74
#: tfjm/templates/base.html:233 #: tfjm/templates/base.html:239
msgid "Create team" msgid "Create team"
msgstr "Créer une équipe" msgstr "Créer une équipe"
@ -974,16 +979,16 @@ msgid "You are already in a team."
msgstr "Vous êtes déjà dans une équipe." msgstr "Vous êtes déjà dans une équipe."
#: apps/participation/views.py:87 tfjm/templates/base.html:79 #: apps/participation/views.py:87 tfjm/templates/base.html:79
#: tfjm/templates/base.html:228 #: tfjm/templates/base.html:234
msgid "Join team" msgid "Join team"
msgstr "Rejoindre une équipe" msgstr "Rejoindre une équipe"
#: apps/participation/views.py:149 apps/participation/views.py:424 #: apps/participation/views.py:149 apps/participation/views.py:427
#: apps/participation/views.py:457 #: apps/participation/views.py:460
msgid "You are not in a team." msgid "You are not in a team."
msgstr "Vous n'êtes pas dans une équipe." msgstr "Vous n'êtes pas dans une équipe."
#: apps/participation/views.py:150 apps/participation/views.py:458 #: apps/participation/views.py:150 apps/participation/views.py:461
msgid "You don't participate, so you don't have any team." msgid "You don't participate, so you don't have any team."
msgstr "Vous ne participez pas, vous n'avez donc pas d'équipe." msgstr "Vous ne participez pas, vous n'avez donc pas d'équipe."
@ -992,17 +997,17 @@ msgstr "Vous ne participez pas, vous n'avez donc pas d'équipe."
msgid "Detail of team {trigram}" msgid "Detail of team {trigram}"
msgstr "Détails de l'équipe {trigram}" msgstr "Détails de l'équipe {trigram}"
#: apps/participation/views.py:208 #: apps/participation/views.py:211
msgid "You don't participate, so you can't request the validation of the team." msgid "You don't participate, so you can't request the validation of the team."
msgstr "" msgstr ""
"Vous ne participez pas, vous ne pouvez pas demander la validation de " "Vous ne participez pas, vous ne pouvez pas demander la validation de "
"l'équipe." "l'équipe."
#: apps/participation/views.py:211 #: apps/participation/views.py:214
msgid "The validation of the team is already done or pending." msgid "The validation of the team is already done or pending."
msgstr "La validation de l'équipe est déjà faite ou en cours." msgstr "La validation de l'équipe est déjà faite ou en cours."
#: apps/participation/views.py:214 #: apps/participation/views.py:217
msgid "" msgid ""
"The team can't be validated: missing email address confirmations, " "The team can't be validated: missing email address confirmations, "
"authorizations, people, motivation letter or the tournament is not set." "authorizations, people, motivation letter or the tournament is not set."
@ -1011,66 +1016,66 @@ msgstr ""
"d'adresse e-mail, soit une autorisation, soit des personnes, soit la lettre " "d'adresse e-mail, soit une autorisation, soit des personnes, soit la lettre "
"de motivation, soit le tournoi n'a pas été choisi." "de motivation, soit le tournoi n'a pas été choisi."
#: apps/participation/views.py:233 #: apps/participation/views.py:236
msgid "You are not an administrator." msgid "You are not an administrator."
msgstr "Vous n'êtes pas administrateur." msgstr "Vous n'êtes pas administrateur."
#: apps/participation/views.py:236 #: apps/participation/views.py:239
msgid "This team has no pending validation." msgid "This team has no pending validation."
msgstr "L'équipe n'a pas de validation en attente." msgstr "L'équipe n'a pas de validation en attente."
#: apps/participation/views.py:266 #: apps/participation/views.py:269
msgid "You must specify if you validate the registration or not." msgid "You must specify if you validate the registration or not."
msgstr "Vous devez spécifier si vous validez l'inscription ou non." msgstr "Vous devez spécifier si vous validez l'inscription ou non."
#: apps/participation/views.py:297 #: apps/participation/views.py:300
#, python-brace-format #, python-brace-format
msgid "Update team {trigram}" msgid "Update team {trigram}"
msgstr "Mise à jour de l'équipe {trigram}" msgstr "Mise à jour de l'équipe {trigram}"
#: apps/participation/views.py:355 apps/participation/views.py:404 #: apps/participation/views.py:358 apps/participation/views.py:407
#, python-brace-format #, python-brace-format
msgid "Motivation letter of {team}.{ext}" msgid "Motivation letter of {team}.{ext}"
msgstr "Lettre de motivation de {team}.{ext}" msgstr "Lettre de motivation de {team}.{ext}"
#: apps/participation/views.py:385 #: apps/participation/views.py:388
#, python-brace-format #, python-brace-format
msgid "Photo authorization of {participant}.{ext}" msgid "Photo authorization of {participant}.{ext}"
msgstr "Autorisation de droit à l'image de {participant}.{ext}" msgstr "Autorisation de droit à l'image de {participant}.{ext}"
#: apps/participation/views.py:391 #: apps/participation/views.py:394
#, python-brace-format #, python-brace-format
msgid "Parental authorization of {participant}.{ext}" msgid "Parental authorization of {participant}.{ext}"
msgstr "Autorisation parentale de {participant}.{ext}" msgstr "Autorisation parentale de {participant}.{ext}"
#: apps/participation/views.py:398 #: apps/participation/views.py:401
#, python-brace-format #, python-brace-format
msgid "Health sheet of {participant}.{ext}" msgid "Health sheet of {participant}.{ext}"
msgstr "Fiche sanitaire de {participant}.{ext}" msgstr "Fiche sanitaire de {participant}.{ext}"
#: apps/participation/views.py:408 #: apps/participation/views.py:411
#, python-brace-format #, python-brace-format
msgid "Photo authorizations of team {trigram}.zip" msgid "Photo authorizations of team {trigram}.zip"
msgstr "Autorisations de droit à l'image de l'équipe {trigram}.zip" msgstr "Autorisations de droit à l'image de l'équipe {trigram}.zip"
#: apps/participation/views.py:426 #: apps/participation/views.py:429
msgid "The team is already validated or the validation is pending." msgid "The team is already validated or the validation is pending."
msgstr "La validation de l'équipe est déjà faite ou en cours." msgstr "La validation de l'équipe est déjà faite ou en cours."
#: apps/participation/views.py:472 #: apps/participation/views.py:475
msgid "The team is not validated yet." msgid "The team is not validated yet."
msgstr "L'équipe n'est pas encore validée." msgstr "L'équipe n'est pas encore validée."
#: apps/participation/views.py:484 #: apps/participation/views.py:487
#, python-brace-format #, python-brace-format
msgid "Participation of team {trigram}" msgid "Participation of team {trigram}"
msgstr "Participation de l'équipe {trigram}" msgstr "Participation de l'équipe {trigram}"
#: apps/participation/views.py:573 #: apps/participation/views.py:576
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."
#: apps/participation/views.py:754 #: apps/participation/views.py:757
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."
@ -1082,7 +1087,7 @@ msgstr "rôle"
msgid "participant" msgid "participant"
msgstr "participant" msgstr "participant"
#: apps/registration/forms.py:24 apps/registration/models.py:247 #: apps/registration/forms.py:24 apps/registration/models.py:253
msgid "coach" msgid "coach"
msgstr "encadrant" msgstr "encadrant"
@ -1090,11 +1095,11 @@ msgstr "encadrant"
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."
#: apps/registration/forms.py:55 apps/registration/models.py:273 #: apps/registration/forms.py:55 apps/registration/models.py:279
msgid "volunteer" msgid "volunteer"
msgstr "bénévole" msgstr "bénévole"
#: apps/registration/forms.py:56 apps/registration/models.py:292 #: apps/registration/forms.py:56 apps/registration/models.py:298
msgid "admin" msgid "admin"
msgstr "admin" msgstr "admin"
@ -1119,7 +1124,7 @@ msgstr "email confirmé"
msgid "Activate your TFJM² account" msgid "Activate your TFJM² account"
msgstr "Activez votre compte du TFJM²" msgstr "Activez votre compte du TFJM²"
#: apps/registration/models.py:99 apps/registration/models.py:313 #: apps/registration/models.py:99 apps/registration/models.py:319
msgid "registration" msgid "registration"
msgstr "inscription" msgstr "inscription"
@ -1159,128 +1164,128 @@ msgstr "numéro de téléphone"
msgid "photo authorization" msgid "photo authorization"
msgstr "autorisation de droit à l'image" msgstr "autorisation de droit à l'image"
#: apps/registration/models.py:180 #: apps/registration/models.py:186
msgid "12th grade" msgid "12th grade"
msgstr "Terminale" msgstr "Terminale"
#: apps/registration/models.py:181 #: apps/registration/models.py:187
msgid "11th grade" msgid "11th grade"
msgstr "Première" msgstr "Première"
#: apps/registration/models.py:182 #: apps/registration/models.py:188
msgid "10th grade or lower" msgid "10th grade or lower"
msgstr "Seconde ou inférieur" msgstr "Seconde ou inférieur"
#: apps/registration/models.py:184 #: apps/registration/models.py:190
msgid "student class" msgid "student class"
msgstr "classe" msgstr "classe"
#: apps/registration/models.py:189 #: apps/registration/models.py:195
msgid "school" msgid "school"
msgstr "école" msgstr "école"
#: apps/registration/models.py:194 #: apps/registration/models.py:200
msgid "responsible name" msgid "responsible name"
msgstr "nom du responsable légal" msgstr "nom du responsable légal"
#: apps/registration/models.py:199 #: apps/registration/models.py:205
msgid "responsible phone number" msgid "responsible phone number"
msgstr "numéro de téléphone du responsable légal" msgstr "numéro de téléphone du responsable légal"
#: apps/registration/models.py:204 #: apps/registration/models.py:210
msgid "responsible email address" msgid "responsible email address"
msgstr "adresse e-mail du responsable légal" msgstr "adresse e-mail du responsable légal"
#: apps/registration/models.py:209 #: apps/registration/models.py:215
msgid "parental authorization" msgid "parental authorization"
msgstr "autorisation parentale" msgstr "autorisation parentale"
#: apps/registration/models.py:216 #: apps/registration/models.py:222
msgid "health sheet" msgid "health sheet"
msgstr "fiche sanitaire" msgstr "fiche sanitaire"
#: apps/registration/models.py:224 #: apps/registration/models.py:230
msgid "student" msgid "student"
msgstr "étudiant" msgstr "étudiant"
#: apps/registration/models.py:232 #: apps/registration/models.py:238
msgid "student registration" msgid "student registration"
msgstr "inscription d'élève" msgstr "inscription d'élève"
#: apps/registration/models.py:233 #: apps/registration/models.py:239
msgid "student registrations" msgid "student registrations"
msgstr "inscriptions d'élève" msgstr "inscriptions d'élève"
#: apps/registration/models.py:242 apps/registration/models.py:264 #: apps/registration/models.py:248 apps/registration/models.py:270
msgid "professional activity" msgid "professional activity"
msgstr "activité professionnelle" msgstr "activité professionnelle"
#: apps/registration/models.py:255 #: apps/registration/models.py:261
msgid "coach registration" msgid "coach registration"
msgstr "inscription d'encadrant" msgstr "inscription d'encadrant"
#: apps/registration/models.py:256 #: apps/registration/models.py:262
msgid "coach registrations" msgid "coach registrations"
msgstr "inscriptions d'encadrants" msgstr "inscriptions d'encadrants"
#: apps/registration/models.py:287 #: apps/registration/models.py:293
msgid "role of the administrator" msgid "role of the administrator"
msgstr "rôle de l'administrateur" msgstr "rôle de l'administrateur"
#: apps/registration/models.py:300 #: apps/registration/models.py:306
msgid "admin registration" msgid "admin registration"
msgstr "inscription d'administrateur" msgstr "inscription d'administrateur"
#: apps/registration/models.py:301 #: apps/registration/models.py:307
msgid "admin registrations" msgid "admin registrations"
msgstr "inscriptions d'administrateur" msgstr "inscriptions d'administrateur"
#: apps/registration/models.py:317 #: apps/registration/models.py:323
msgid "type" msgid "type"
msgstr "type" msgstr "type"
#: apps/registration/models.py:320 #: apps/registration/models.py:326
msgid "No payment" msgid "No payment"
msgstr "Pas de paiement" msgstr "Pas de paiement"
#: apps/registration/models.py:322 #: apps/registration/models.py:328
msgid "Scholarship" msgid "Scholarship"
msgstr "Notification de bourse" msgstr "Notification de bourse"
#: apps/registration/models.py:323 #: apps/registration/models.py:329
msgid "Bank transfer" msgid "Bank transfer"
msgstr "Virement bancaire" msgstr "Virement bancaire"
#: apps/registration/models.py:324 #: apps/registration/models.py:330
msgid "The tournament is free" msgid "The tournament is free"
msgstr "Le tournoi est gratuit" msgstr "Le tournoi est gratuit"
#: apps/registration/models.py:331 #: apps/registration/models.py:337
msgid "scholarship file" msgid "scholarship file"
msgstr "Notification de bourse" msgstr "Notification de bourse"
#: apps/registration/models.py:332 #: apps/registration/models.py:338
msgid "only if you have a scholarship." msgid "only if you have a scholarship."
msgstr "Nécessaire seulement si vous déclarez être boursier." msgstr "Nécessaire seulement si vous déclarez être boursier."
#: apps/registration/models.py:339 #: apps/registration/models.py:345
msgid "additional information" msgid "additional information"
msgstr "informations additionnelles" msgstr "informations additionnelles"
#: apps/registration/models.py:340 #: apps/registration/models.py:346
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."
#: apps/registration/models.py:355 #: apps/registration/models.py:361
#, python-brace-format #, python-brace-format
msgid "Payment of {registration}" msgid "Payment of {registration}"
msgstr "Paiement de {registration}" msgstr "Paiement de {registration}"
#: apps/registration/models.py:358 #: apps/registration/models.py:364
msgid "payment" msgid "payment"
msgstr "paiement" msgstr "paiement"
#: apps/registration/models.py:359 #: apps/registration/models.py:365
msgid "payments" msgid "payments"
msgstr "paiements" msgstr "paiements"
@ -1390,8 +1395,8 @@ msgid "Your password has been set. You may go ahead and log in now."
msgstr "Votre mot de passe a été changé. Vous pouvez désormais vous connecter." msgstr "Votre mot de passe a été changé. Vous pouvez désormais vous connecter."
#: apps/registration/templates/registration/password_reset_complete.html:10 #: apps/registration/templates/registration/password_reset_complete.html:10
#: tfjm/templates/base.html:127 tfjm/templates/base.html:238 #: tfjm/templates/base.html:127 tfjm/templates/base.html:244
#: tfjm/templates/base.html:239 tfjm/templates/registration/login.html:7 #: tfjm/templates/base.html:245 tfjm/templates/registration/login.html:7
#: tfjm/templates/registration/login.html:8 #: tfjm/templates/registration/login.html:8
#: tfjm/templates/registration/login.html:25 #: tfjm/templates/registration/login.html:25
msgid "Log in" msgid "Log in"
@ -1641,18 +1646,18 @@ msgid "Update user"
msgstr "Modifier l'utilisateur" msgstr "Modifier l'utilisateur"
#: apps/registration/templates/registration/user_detail.html:164 #: apps/registration/templates/registration/user_detail.html:164
#: apps/registration/views.py:319 #: apps/registration/views.py:313
msgid "Upload photo authorization" msgid "Upload photo authorization"
msgstr "Téléverser l'autorisation de droit à l'image" msgstr "Téléverser l'autorisation de droit à l'image"
#: apps/registration/templates/registration/user_detail.html:169 #: apps/registration/templates/registration/user_detail.html:169
#: apps/registration/views.py:346 #: apps/registration/views.py:334
msgid "Upload health sheet" msgid "Upload health sheet"
msgstr "Téléverser la fiche sanitaire" msgstr "Téléverser la fiche sanitaire"
#: apps/registration/templates/registration/user_detail.html:174 #: apps/registration/templates/registration/user_detail.html:174
#: apps/registration/templates/registration/user_detail.html:179 #: apps/registration/templates/registration/user_detail.html:179
#: apps/registration/views.py:373 #: apps/registration/views.py:355
msgid "Upload parental authorization" msgid "Upload parental authorization"
msgstr "Téléverser l'autorisation parentale" msgstr "Téléverser l'autorisation parentale"
@ -1685,36 +1690,36 @@ msgstr "Renvoyé le lien de validation de l'adresse mail"
msgid "Detail of user {user}" msgid "Detail of user {user}"
msgstr "Détails de l'utilisateur {user}" msgstr "Détails de l'utilisateur {user}"
#: apps/registration/views.py:283 #: apps/registration/views.py:277
#, python-brace-format #, python-brace-format
msgid "Update user {user}" msgid "Update user {user}"
msgstr "Mise à jour de l'utilisateur {user}" msgstr "Mise à jour de l'utilisateur {user}"
#: apps/registration/views.py:483 #: apps/registration/views.py:459
#, python-brace-format #, python-brace-format
msgid "Photo authorization of {student}.{ext}" msgid "Photo authorization of {student}.{ext}"
msgstr "Autorisation de droit à l'image de {student}.{ext}" msgstr "Autorisation de droit à l'image de {student}.{ext}"
#: apps/registration/views.py:506 #: apps/registration/views.py:482
#, python-brace-format #, python-brace-format
msgid "Health sheet of {student}.{ext}" msgid "Health sheet of {student}.{ext}"
msgstr "Fiche sanitaire de {student}.{ext}" msgstr "Fiche sanitaire de {student}.{ext}"
#: apps/registration/views.py:529 #: apps/registration/views.py:505
#, python-brace-format #, python-brace-format
msgid "Parental authorization of {student}.{ext}" msgid "Parental authorization of {student}.{ext}"
msgstr "Autorisation parentale de {student}.{ext}" msgstr "Autorisation parentale de {student}.{ext}"
#: apps/registration/views.py:551 #: apps/registration/views.py:527
#, python-brace-format #, python-brace-format
msgid "Scholarship attestation of {user}.{ext}" msgid "Scholarship attestation of {user}.{ext}"
msgstr "Notification de bourse de {user}.{ext}" msgstr "Notification de bourse de {user}.{ext}"
#: tfjm/settings.py:162 #: tfjm/settings.py:163
msgid "English" msgid "English"
msgstr "Anglais" msgstr "Anglais"
#: tfjm/settings.py:163 #: tfjm/settings.py:164
msgid "French" msgid "French"
msgstr "Français" msgstr "Français"
@ -1830,15 +1835,15 @@ msgstr ""
"avez reçu par mail. Vous pouvez renvoyer un mail en cliquant sur <a href=" "avez reçu par mail. Vous pouvez renvoyer un mail en cliquant sur <a href="
"\"%(send_email_url)s\">ce lien</a>." "\"%(send_email_url)s\">ce lien</a>."
#: tfjm/templates/base.html:183 #: tfjm/templates/base.html:189
msgid "Contact us" msgid "Contact us"
msgstr "Nous contacter" msgstr "Nous contacter"
#: tfjm/templates/base.html:202 #: tfjm/templates/base.html:208
msgid "About" msgid "About"
msgstr "À propos" msgstr "À propos"
#: tfjm/templates/base.html:225 #: tfjm/templates/base.html:231
msgid "Search results" msgid "Search results"
msgstr "Résultats de la recherche" msgstr "Résultats de la recherche"
@ -1874,3 +1879,6 @@ msgstr "Résultats"
#: tfjm/templates/search/search.html:25 #: tfjm/templates/search/search.html:25
msgid "No results found." msgid "No results found."
msgstr "Aucun résultat." msgstr "Aucun résultat."
#~ msgid "The code of the form xxx-xxx-xxx at the end of the BBB link."
#~ msgstr "Le code de la forme xxx-xxx-xxx à la fin du lien BBB."