mirror of
https://gitlab.com/animath/si/plateforme.git
synced 2024-12-24 17:42:23 +00:00
Don't request too many authorizations for remote tournaments
This commit is contained in:
parent
4dd3c105fe
commit
2bd6988c6a
18
apps/participation/migrations/0003_tournament_remote.py
Normal file
18
apps/participation/migrations/0003_tournament_remote.py
Normal 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'),
|
||||
),
|
||||
]
|
@ -157,6 +157,11 @@ class Tournament(models.Model):
|
||||
default=21,
|
||||
)
|
||||
|
||||
remote = models.BooleanField(
|
||||
verbose_name=_("remote"),
|
||||
default=False,
|
||||
)
|
||||
|
||||
inscription_limit = models.DateTimeField(
|
||||
verbose_name=_("limit date for registrations"),
|
||||
default=timezone.now,
|
||||
|
@ -60,6 +60,7 @@
|
||||
{% endfor %}
|
||||
</dd>
|
||||
|
||||
{% if not team.participation.tournament.remote %}
|
||||
<dt class="col-sm-6 text-right">{% trans "Health sheets:" %}</dt>
|
||||
<dd class="col-sm-6">
|
||||
{% for student in team.students.all %}
|
||||
@ -85,6 +86,7 @@
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</dd>
|
||||
{% endif %}
|
||||
|
||||
<dt class="col-sm-6 text-right">{% trans "Motivation letter:" %}</dt>
|
||||
<dd class="col-sm-6">
|
||||
|
@ -21,6 +21,9 @@
|
||||
<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>
|
||||
|
||||
<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>
|
||||
<dd class="col-xl-6">{% trans "From" %} {{ tournament.date_start }} {% trans "to" %} {{ tournament.date_end }}</dd>
|
||||
|
||||
|
@ -292,6 +292,8 @@ class TestStudentParticipation(TestCase):
|
||||
self.assertEqual(resp.status_code, 200)
|
||||
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.save()
|
||||
resp = self.client.get(reverse("participation:team_detail", args=(self.team.pk,)))
|
||||
|
@ -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,
|
||||
# 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 \
|
||||
team.participation.tournament 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.health_sheet for r in team.students.all() if r.under_18) and \
|
||||
all(r.parental_authorization for r in team.students.all() if r.under_18) and \
|
||||
(team.participation.tournament.remote
|
||||
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
|
||||
|
||||
return context
|
||||
|
@ -62,7 +62,7 @@
|
||||
</dd>
|
||||
{% 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 %}
|
||||
<dt class="col-sm-6 text-right">{% trans "Health sheet:" %}</dt>
|
||||
<dd class="col-sm-6">
|
||||
|
@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: TFJM\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"
|
||||
"Last-Translator: Yohann D'ANELLO <yohann.danello@animath.fr>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
@ -99,8 +99,8 @@ msgstr "changelogs"
|
||||
msgid "Changelog of type \"{action}\" for model {model} at {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/tables.py:44 apps/registration/models.py:346
|
||||
#: apps/participation/admin.py:19 apps/participation/models.py:314
|
||||
#: apps/participation/tables.py:44 apps/registration/models.py:352
|
||||
msgid "valid"
|
||||
msgstr "valide"
|
||||
|
||||
@ -178,12 +178,12 @@ msgstr "lettre de motivation"
|
||||
msgid "Team {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
|
||||
msgid "team"
|
||||
msgstr "équipe"
|
||||
|
||||
#: apps/participation/models.py:123 apps/participation/tables.py:84
|
||||
#: apps/participation/models.py:123 apps/participation/tables.py:85
|
||||
msgid "teams"
|
||||
msgstr "équipes"
|
||||
|
||||
@ -210,98 +210,103 @@ msgid "price"
|
||||
msgstr "prix"
|
||||
|
||||
#: 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"
|
||||
msgstr "date limite d'inscription"
|
||||
|
||||
#: apps/participation/models.py:166
|
||||
#: apps/participation/models.py:171
|
||||
msgid "limit date to upload solutions"
|
||||
msgstr "date limite pour envoyer les solutions"
|
||||
|
||||
#: apps/participation/models.py:171
|
||||
#: apps/participation/models.py:176
|
||||
msgid "random draw for 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"
|
||||
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"
|
||||
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"
|
||||
msgstr "date limite d'envoi des notes de synthèse pour la seconde phase"
|
||||
|
||||
#: apps/participation/models.py:191
|
||||
#: apps/participation/templates/participation/tournament_detail.html:45
|
||||
#: apps/participation/models.py:196
|
||||
#: apps/participation/templates/participation/tournament_detail.html:48
|
||||
msgid "description"
|
||||
msgstr "description"
|
||||
|
||||
#: apps/participation/models.py:197
|
||||
#: apps/participation/models.py:202
|
||||
#: apps/participation/templates/participation/tournament_detail.html:12
|
||||
msgid "organizers"
|
||||
msgstr "organisateurs"
|
||||
|
||||
#: apps/participation/models.py:202
|
||||
#: apps/participation/models.py:207
|
||||
msgid "final"
|
||||
msgstr "finale"
|
||||
|
||||
#: apps/participation/models.py:279 apps/participation/models.py:303
|
||||
#: apps/participation/models.py:335
|
||||
#: apps/participation/models.py:284 apps/participation/models.py:308
|
||||
#: apps/participation/models.py:340
|
||||
msgid "tournament"
|
||||
msgstr "tournoi"
|
||||
|
||||
#: apps/participation/models.py:280
|
||||
#: apps/participation/models.py:285
|
||||
msgid "tournaments"
|
||||
msgstr "tournois"
|
||||
|
||||
#: apps/participation/models.py:310
|
||||
#: apps/participation/models.py:315
|
||||
msgid "The participation got the validation of the organizers."
|
||||
msgstr "La participation a été validée par les organisateurs."
|
||||
|
||||
#: apps/participation/models.py:315
|
||||
#: apps/participation/models.py:320
|
||||
msgid "selected for final"
|
||||
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."
|
||||
msgstr "L'équipe est sélectionnée pour la finale."
|
||||
|
||||
#: apps/participation/models.py:323
|
||||
#: apps/participation/models.py:328
|
||||
#, python-brace-format
|
||||
msgid "Participation of the team {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
|
||||
msgid "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"
|
||||
msgstr "participations"
|
||||
|
||||
#: apps/participation/models.py:339
|
||||
#: apps/participation/models.py:344
|
||||
msgid "round"
|
||||
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
|
||||
msgid "Round {round}"
|
||||
msgstr "Tour {round}"
|
||||
|
||||
#: apps/participation/models.py:355
|
||||
#: apps/participation/models.py:360
|
||||
msgid "juries"
|
||||
msgstr "jurys"
|
||||
|
||||
#: apps/participation/models.py:362
|
||||
msgid "BigBlueButton code"
|
||||
msgstr "Code BigBlueButton"
|
||||
#: apps/participation/models.py:367
|
||||
msgid "BigBlueButton URL"
|
||||
msgstr "Lien BigBlueButton"
|
||||
|
||||
#: apps/participation/models.py:363
|
||||
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."
|
||||
#: apps/participation/models.py:368
|
||||
msgid "The link of the BBB visio for this pool."
|
||||
msgstr "Le lien du salon BBB pour cette poule."
|
||||
|
||||
#: apps/participation/models.py:382
|
||||
#, python-brace-format
|
||||
@ -329,7 +334,7 @@ msgstr "solution défendue"
|
||||
msgid "Problem #{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"
|
||||
msgstr "défenseur"
|
||||
|
||||
@ -461,7 +466,7 @@ msgstr "date"
|
||||
msgid "From {start} to {end}"
|
||||
msgstr "Du {start} au {end}"
|
||||
|
||||
#: apps/participation/tables.py:90
|
||||
#: apps/participation/tables.py:91
|
||||
msgid "No defined team"
|
||||
msgstr "Pas d'équipe définie"
|
||||
|
||||
@ -501,12 +506,12 @@ msgstr ""
|
||||
|
||||
#: apps/participation/templates/participation/create_team.html:11
|
||||
#: apps/participation/templates/participation/tournament_form.html:14
|
||||
#: tfjm/templates/base.html:234
|
||||
#: tfjm/templates/base.html:240
|
||||
msgid "Create"
|
||||
msgstr "Créer"
|
||||
|
||||
#: apps/participation/templates/participation/join_team.html:11
|
||||
#: tfjm/templates/base.html:229
|
||||
#: tfjm/templates/base.html:235
|
||||
msgid "Join"
|
||||
msgstr "Rejoindre"
|
||||
|
||||
@ -517,8 +522,8 @@ msgstr "Rejoindre"
|
||||
#: apps/participation/templates/participation/pool_detail.html:55
|
||||
#: apps/participation/templates/participation/pool_detail.html:73
|
||||
#: apps/participation/templates/participation/pool_detail.html:78
|
||||
#: apps/participation/templates/participation/team_detail.html:109
|
||||
#: apps/participation/templates/participation/team_detail.html:173
|
||||
#: apps/participation/templates/participation/team_detail.html:111
|
||||
#: apps/participation/templates/participation/team_detail.html:175
|
||||
#: apps/participation/templates/participation/tournament_form.html:12
|
||||
#: apps/participation/templates/participation/update_team.html:12
|
||||
#: 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/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_solution.html:11
|
||||
#: apps/participation/templates/participation/upload_synthesis.html:11
|
||||
@ -696,7 +701,7 @@ msgid "BigBlueButton link:"
|
||||
msgstr "Lien BigBlueButton :"
|
||||
|
||||
#: 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"
|
||||
msgstr "Classement"
|
||||
|
||||
@ -715,7 +720,7 @@ msgid "Passages"
|
||||
msgstr "Passages"
|
||||
|
||||
#: 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"
|
||||
msgstr "Ajouter"
|
||||
|
||||
@ -754,25 +759,25 @@ msgid "Photo authorizations:"
|
||||
msgstr "Autorisations de droit à l'image :"
|
||||
|
||||
#: apps/participation/templates/participation/team_detail.html:58
|
||||
#: apps/participation/templates/participation/team_detail.html:70
|
||||
#: apps/participation/templates/participation/team_detail.html:83
|
||||
#: apps/participation/templates/participation/team_detail.html:94
|
||||
#: apps/participation/templates/participation/team_detail.html:71
|
||||
#: apps/participation/templates/participation/team_detail.html:84
|
||||
#: apps/participation/templates/participation/team_detail.html:96
|
||||
msgid "Not uploaded yet"
|
||||
msgstr "Pas encore envoyée"
|
||||
|
||||
#: apps/participation/templates/participation/team_detail.html:63
|
||||
#: apps/participation/templates/participation/team_detail.html:64
|
||||
msgid "Health sheets:"
|
||||
msgstr "Fiches sanitaires :"
|
||||
|
||||
#: apps/participation/templates/participation/team_detail.html:76
|
||||
#: apps/participation/templates/participation/team_detail.html:77
|
||||
msgid "Parental authorizations:"
|
||||
msgstr "Autorisations parentales :"
|
||||
|
||||
#: apps/participation/templates/participation/team_detail.html:89
|
||||
#: apps/participation/templates/participation/team_detail.html:91
|
||||
msgid "Motivation letter:"
|
||||
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_parental_authorization.html:12
|
||||
#: apps/registration/templates/registration/user_detail.html:57
|
||||
@ -781,28 +786,28 @@ msgstr "Lettre de motivation :"
|
||||
msgid "Download"
|
||||
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:73
|
||||
#: apps/registration/templates/registration/user_detail.html:83
|
||||
msgid "Replace"
|
||||
msgstr "Remplacer"
|
||||
|
||||
#: apps/participation/templates/participation/team_detail.html:104
|
||||
#: apps/participation/templates/participation/team_detail.html:106
|
||||
msgid "Download all authorizations"
|
||||
msgstr "Télécharger toutes les autorisations"
|
||||
|
||||
#: apps/participation/templates/participation/team_detail.html:111
|
||||
#: apps/participation/templates/participation/team_detail.html:178
|
||||
#: apps/participation/templates/participation/team_detail.html:113
|
||||
#: apps/participation/templates/participation/team_detail.html:180
|
||||
#: apps/participation/templates/participation/team_leave.html:11
|
||||
msgid "Leave"
|
||||
msgstr "Quitter"
|
||||
|
||||
#: apps/participation/templates/participation/team_detail.html:121
|
||||
#: apps/participation/templates/participation/team_detail.html:123
|
||||
msgid "Access to team participation"
|
||||
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 ""
|
||||
"Your team has at least 4 members and a coach and all authorizations were "
|
||||
"given: the team can be validated."
|
||||
@ -810,11 +815,11 @@ msgstr ""
|
||||
"Votre équipe contient au moins 4 personnes et un encadrant et toutes les "
|
||||
"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"
|
||||
msgstr "Soumettre mon équipe à validation"
|
||||
|
||||
#: apps/participation/templates/participation/team_detail.html:139
|
||||
#: apps/participation/templates/participation/team_detail.html:141
|
||||
msgid ""
|
||||
"Your team must be composed of 4 members and a coach and each member must "
|
||||
"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 "
|
||||
"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."
|
||||
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."
|
||||
msgstr "Votre validation est en attente."
|
||||
|
||||
#: apps/participation/templates/participation/team_detail.html:154
|
||||
#: apps/participation/templates/participation/team_detail.html:156
|
||||
msgid ""
|
||||
"The team requested to be validated. You may now control the authorizations "
|
||||
"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 "
|
||||
"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"
|
||||
msgstr "Valider"
|
||||
|
||||
#: apps/participation/templates/participation/team_detail.html:161
|
||||
#: apps/participation/templates/participation/team_detail.html:163
|
||||
msgid "Invalidate"
|
||||
msgstr "Invalider"
|
||||
|
||||
#: apps/participation/templates/participation/team_detail.html:167
|
||||
#: apps/participation/views.py:317
|
||||
#: apps/participation/templates/participation/team_detail.html:169
|
||||
#: apps/participation/views.py:320
|
||||
msgid "Upload motivation letter"
|
||||
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"
|
||||
msgstr "Modifier l'équipe"
|
||||
|
||||
#: apps/participation/templates/participation/team_detail.html:177
|
||||
#: apps/participation/views.py:418
|
||||
#: apps/participation/templates/participation/team_detail.html:179
|
||||
#: apps/participation/views.py:421
|
||||
msgid "Leave team"
|
||||
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 ?"
|
||||
|
||||
#: apps/participation/templates/participation/team_list.html:6
|
||||
#: tfjm/templates/base.html:222
|
||||
#: tfjm/templates/base.html:228
|
||||
msgid "All teams"
|
||||
msgstr "Toutes les équipes"
|
||||
|
||||
@ -877,78 +882,78 @@ msgstr "taille"
|
||||
msgid "Free"
|
||||
msgstr "Gratuit"
|
||||
|
||||
#: apps/participation/templates/participation/tournament_detail.html:24
|
||||
#: apps/participation/templates/participation/tournament_detail.html:27
|
||||
msgid "dates"
|
||||
msgstr "dates"
|
||||
|
||||
#: apps/participation/templates/participation/tournament_detail.html:25
|
||||
#: apps/participation/templates/participation/tournament_detail.html:28
|
||||
msgid "From"
|
||||
msgstr "Du"
|
||||
|
||||
#: apps/participation/templates/participation/tournament_detail.html:25
|
||||
#: apps/participation/templates/participation/tournament_detail.html:28
|
||||
msgid "to"
|
||||
msgstr "au"
|
||||
|
||||
#: apps/participation/templates/participation/tournament_detail.html:27
|
||||
#: apps/participation/templates/participation/tournament_detail.html:30
|
||||
msgid "date of registration closing"
|
||||
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"
|
||||
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"
|
||||
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"
|
||||
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"
|
||||
msgstr ""
|
||||
"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"
|
||||
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"
|
||||
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"
|
||||
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"
|
||||
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"
|
||||
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
|
||||
msgid "Teams"
|
||||
msgstr "Équipes"
|
||||
|
||||
#: apps/participation/templates/participation/tournament_detail.html:76
|
||||
#: apps/participation/templates/participation/tournament_detail.html:79
|
||||
msgid "Pools"
|
||||
msgstr "Poules"
|
||||
|
||||
#: apps/participation/templates/participation/tournament_detail.html:83
|
||||
#: apps/participation/templates/participation/tournament_detail.html:86
|
||||
msgid "Add new pool"
|
||||
msgstr "Ajouter une nouvelle poule"
|
||||
|
||||
#: apps/participation/templates/participation/tournament_detail.html:104
|
||||
#: apps/participation/templates/participation/tournament_detail.html:107
|
||||
msgid "Add pool"
|
||||
msgstr "Ajouter une poule"
|
||||
|
||||
#: apps/participation/templates/participation/tournament_list.html:6
|
||||
#: tfjm/templates/base.html:218
|
||||
#: tfjm/templates/base.html:224
|
||||
msgid "All tournaments"
|
||||
msgstr "Tous les tournois"
|
||||
|
||||
@ -961,7 +966,7 @@ msgid "Back to the team detail"
|
||||
msgstr "Retour aux détails de l'utilisateur"
|
||||
|
||||
#: apps/participation/views.py:42 tfjm/templates/base.html:74
|
||||
#: tfjm/templates/base.html:233
|
||||
#: tfjm/templates/base.html:239
|
||||
msgid "Create team"
|
||||
msgstr "Créer une équipe"
|
||||
|
||||
@ -974,16 +979,16 @@ msgid "You are already in a team."
|
||||
msgstr "Vous êtes déjà dans une équipe."
|
||||
|
||||
#: apps/participation/views.py:87 tfjm/templates/base.html:79
|
||||
#: tfjm/templates/base.html:228
|
||||
#: tfjm/templates/base.html:234
|
||||
msgid "Join team"
|
||||
msgstr "Rejoindre une équipe"
|
||||
|
||||
#: apps/participation/views.py:149 apps/participation/views.py:424
|
||||
#: apps/participation/views.py:457
|
||||
#: apps/participation/views.py:149 apps/participation/views.py:427
|
||||
#: apps/participation/views.py:460
|
||||
msgid "You are not in a team."
|
||||
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."
|
||||
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}"
|
||||
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."
|
||||
msgstr ""
|
||||
"Vous ne participez pas, vous ne pouvez pas demander la validation de "
|
||||
"l'équipe."
|
||||
|
||||
#: apps/participation/views.py:211
|
||||
#: apps/participation/views.py:214
|
||||
msgid "The validation of the team is already done or pending."
|
||||
msgstr "La validation de l'équipe est déjà faite ou en cours."
|
||||
|
||||
#: apps/participation/views.py:214
|
||||
#: apps/participation/views.py:217
|
||||
msgid ""
|
||||
"The team can't be validated: missing email address confirmations, "
|
||||
"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 "
|
||||
"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."
|
||||
msgstr "Vous n'êtes pas administrateur."
|
||||
|
||||
#: apps/participation/views.py:236
|
||||
#: apps/participation/views.py:239
|
||||
msgid "This team has no pending validation."
|
||||
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."
|
||||
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
|
||||
msgid "Update team {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
|
||||
msgid "Motivation letter of {team}.{ext}"
|
||||
msgstr "Lettre de motivation de {team}.{ext}"
|
||||
|
||||
#: apps/participation/views.py:385
|
||||
#: apps/participation/views.py:388
|
||||
#, python-brace-format
|
||||
msgid "Photo authorization of {participant}.{ext}"
|
||||
msgstr "Autorisation de droit à l'image de {participant}.{ext}"
|
||||
|
||||
#: apps/participation/views.py:391
|
||||
#: apps/participation/views.py:394
|
||||
#, python-brace-format
|
||||
msgid "Parental authorization of {participant}.{ext}"
|
||||
msgstr "Autorisation parentale de {participant}.{ext}"
|
||||
|
||||
#: apps/participation/views.py:398
|
||||
#: apps/participation/views.py:401
|
||||
#, python-brace-format
|
||||
msgid "Health sheet of {participant}.{ext}"
|
||||
msgstr "Fiche sanitaire de {participant}.{ext}"
|
||||
|
||||
#: apps/participation/views.py:408
|
||||
#: apps/participation/views.py:411
|
||||
#, python-brace-format
|
||||
msgid "Photo authorizations of team {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."
|
||||
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."
|
||||
msgstr "L'équipe n'est pas encore validée."
|
||||
|
||||
#: apps/participation/views.py:484
|
||||
#: apps/participation/views.py:487
|
||||
#, python-brace-format
|
||||
msgid "Participation of team {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."
|
||||
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."
|
||||
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"
|
||||
msgstr "participant"
|
||||
|
||||
#: apps/registration/forms.py:24 apps/registration/models.py:247
|
||||
#: apps/registration/forms.py:24 apps/registration/models.py:253
|
||||
msgid "coach"
|
||||
msgstr "encadrant"
|
||||
|
||||
@ -1090,11 +1095,11 @@ msgstr "encadrant"
|
||||
msgid "This email address is already used."
|
||||
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"
|
||||
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"
|
||||
msgstr "admin"
|
||||
|
||||
@ -1119,7 +1124,7 @@ msgstr "email confirmé"
|
||||
msgid "Activate your TFJM² account"
|
||||
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"
|
||||
msgstr "inscription"
|
||||
|
||||
@ -1159,128 +1164,128 @@ msgstr "numéro de téléphone"
|
||||
msgid "photo authorization"
|
||||
msgstr "autorisation de droit à l'image"
|
||||
|
||||
#: apps/registration/models.py:180
|
||||
#: apps/registration/models.py:186
|
||||
msgid "12th grade"
|
||||
msgstr "Terminale"
|
||||
|
||||
#: apps/registration/models.py:181
|
||||
#: apps/registration/models.py:187
|
||||
msgid "11th grade"
|
||||
msgstr "Première"
|
||||
|
||||
#: apps/registration/models.py:182
|
||||
#: apps/registration/models.py:188
|
||||
msgid "10th grade or lower"
|
||||
msgstr "Seconde ou inférieur"
|
||||
|
||||
#: apps/registration/models.py:184
|
||||
#: apps/registration/models.py:190
|
||||
msgid "student class"
|
||||
msgstr "classe"
|
||||
|
||||
#: apps/registration/models.py:189
|
||||
#: apps/registration/models.py:195
|
||||
msgid "school"
|
||||
msgstr "école"
|
||||
|
||||
#: apps/registration/models.py:194
|
||||
#: apps/registration/models.py:200
|
||||
msgid "responsible name"
|
||||
msgstr "nom du responsable légal"
|
||||
|
||||
#: apps/registration/models.py:199
|
||||
#: apps/registration/models.py:205
|
||||
msgid "responsible phone number"
|
||||
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"
|
||||
msgstr "adresse e-mail du responsable légal"
|
||||
|
||||
#: apps/registration/models.py:209
|
||||
#: apps/registration/models.py:215
|
||||
msgid "parental authorization"
|
||||
msgstr "autorisation parentale"
|
||||
|
||||
#: apps/registration/models.py:216
|
||||
#: apps/registration/models.py:222
|
||||
msgid "health sheet"
|
||||
msgstr "fiche sanitaire"
|
||||
|
||||
#: apps/registration/models.py:224
|
||||
#: apps/registration/models.py:230
|
||||
msgid "student"
|
||||
msgstr "étudiant"
|
||||
|
||||
#: apps/registration/models.py:232
|
||||
#: apps/registration/models.py:238
|
||||
msgid "student registration"
|
||||
msgstr "inscription d'élève"
|
||||
|
||||
#: apps/registration/models.py:233
|
||||
#: apps/registration/models.py:239
|
||||
msgid "student registrations"
|
||||
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"
|
||||
msgstr "activité professionnelle"
|
||||
|
||||
#: apps/registration/models.py:255
|
||||
#: apps/registration/models.py:261
|
||||
msgid "coach registration"
|
||||
msgstr "inscription d'encadrant"
|
||||
|
||||
#: apps/registration/models.py:256
|
||||
#: apps/registration/models.py:262
|
||||
msgid "coach registrations"
|
||||
msgstr "inscriptions d'encadrants"
|
||||
|
||||
#: apps/registration/models.py:287
|
||||
#: apps/registration/models.py:293
|
||||
msgid "role of the administrator"
|
||||
msgstr "rôle de l'administrateur"
|
||||
|
||||
#: apps/registration/models.py:300
|
||||
#: apps/registration/models.py:306
|
||||
msgid "admin registration"
|
||||
msgstr "inscription d'administrateur"
|
||||
|
||||
#: apps/registration/models.py:301
|
||||
#: apps/registration/models.py:307
|
||||
msgid "admin registrations"
|
||||
msgstr "inscriptions d'administrateur"
|
||||
|
||||
#: apps/registration/models.py:317
|
||||
#: apps/registration/models.py:323
|
||||
msgid "type"
|
||||
msgstr "type"
|
||||
|
||||
#: apps/registration/models.py:320
|
||||
#: apps/registration/models.py:326
|
||||
msgid "No payment"
|
||||
msgstr "Pas de paiement"
|
||||
|
||||
#: apps/registration/models.py:322
|
||||
#: apps/registration/models.py:328
|
||||
msgid "Scholarship"
|
||||
msgstr "Notification de bourse"
|
||||
|
||||
#: apps/registration/models.py:323
|
||||
#: apps/registration/models.py:329
|
||||
msgid "Bank transfer"
|
||||
msgstr "Virement bancaire"
|
||||
|
||||
#: apps/registration/models.py:324
|
||||
#: apps/registration/models.py:330
|
||||
msgid "The tournament is free"
|
||||
msgstr "Le tournoi est gratuit"
|
||||
|
||||
#: apps/registration/models.py:331
|
||||
#: apps/registration/models.py:337
|
||||
msgid "scholarship file"
|
||||
msgstr "Notification de bourse"
|
||||
|
||||
#: apps/registration/models.py:332
|
||||
#: apps/registration/models.py:338
|
||||
msgid "only if you have a scholarship."
|
||||
msgstr "Nécessaire seulement si vous déclarez être boursier."
|
||||
|
||||
#: apps/registration/models.py:339
|
||||
#: apps/registration/models.py:345
|
||||
msgid "additional information"
|
||||
msgstr "informations additionnelles"
|
||||
|
||||
#: apps/registration/models.py:340
|
||||
#: apps/registration/models.py:346
|
||||
msgid "To help us to find your payment."
|
||||
msgstr "Pour nous aider à retrouver votre paiement, si nécessaire."
|
||||
|
||||
#: apps/registration/models.py:355
|
||||
#: apps/registration/models.py:361
|
||||
#, python-brace-format
|
||||
msgid "Payment of {registration}"
|
||||
msgstr "Paiement de {registration}"
|
||||
|
||||
#: apps/registration/models.py:358
|
||||
#: apps/registration/models.py:364
|
||||
msgid "payment"
|
||||
msgstr "paiement"
|
||||
|
||||
#: apps/registration/models.py:359
|
||||
#: apps/registration/models.py:365
|
||||
msgid "payments"
|
||||
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."
|
||||
|
||||
#: apps/registration/templates/registration/password_reset_complete.html:10
|
||||
#: tfjm/templates/base.html:127 tfjm/templates/base.html:238
|
||||
#: tfjm/templates/base.html:239 tfjm/templates/registration/login.html:7
|
||||
#: tfjm/templates/base.html:127 tfjm/templates/base.html:244
|
||||
#: tfjm/templates/base.html:245 tfjm/templates/registration/login.html:7
|
||||
#: tfjm/templates/registration/login.html:8
|
||||
#: tfjm/templates/registration/login.html:25
|
||||
msgid "Log in"
|
||||
@ -1641,18 +1646,18 @@ msgid "Update user"
|
||||
msgstr "Modifier l'utilisateur"
|
||||
|
||||
#: apps/registration/templates/registration/user_detail.html:164
|
||||
#: apps/registration/views.py:319
|
||||
#: apps/registration/views.py:313
|
||||
msgid "Upload photo authorization"
|
||||
msgstr "Téléverser l'autorisation de droit à l'image"
|
||||
|
||||
#: apps/registration/templates/registration/user_detail.html:169
|
||||
#: apps/registration/views.py:346
|
||||
#: apps/registration/views.py:334
|
||||
msgid "Upload health sheet"
|
||||
msgstr "Téléverser la fiche sanitaire"
|
||||
|
||||
#: apps/registration/templates/registration/user_detail.html:174
|
||||
#: apps/registration/templates/registration/user_detail.html:179
|
||||
#: apps/registration/views.py:373
|
||||
#: apps/registration/views.py:355
|
||||
msgid "Upload parental authorization"
|
||||
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}"
|
||||
msgstr "Détails de l'utilisateur {user}"
|
||||
|
||||
#: apps/registration/views.py:283
|
||||
#: apps/registration/views.py:277
|
||||
#, python-brace-format
|
||||
msgid "Update user {user}"
|
||||
msgstr "Mise à jour de l'utilisateur {user}"
|
||||
|
||||
#: apps/registration/views.py:483
|
||||
#: apps/registration/views.py:459
|
||||
#, python-brace-format
|
||||
msgid "Photo authorization of {student}.{ext}"
|
||||
msgstr "Autorisation de droit à l'image de {student}.{ext}"
|
||||
|
||||
#: apps/registration/views.py:506
|
||||
#: apps/registration/views.py:482
|
||||
#, python-brace-format
|
||||
msgid "Health sheet of {student}.{ext}"
|
||||
msgstr "Fiche sanitaire de {student}.{ext}"
|
||||
|
||||
#: apps/registration/views.py:529
|
||||
#: apps/registration/views.py:505
|
||||
#, python-brace-format
|
||||
msgid "Parental authorization of {student}.{ext}"
|
||||
msgstr "Autorisation parentale de {student}.{ext}"
|
||||
|
||||
#: apps/registration/views.py:551
|
||||
#: apps/registration/views.py:527
|
||||
#, python-brace-format
|
||||
msgid "Scholarship attestation of {user}.{ext}"
|
||||
msgstr "Notification de bourse de {user}.{ext}"
|
||||
|
||||
#: tfjm/settings.py:162
|
||||
#: tfjm/settings.py:163
|
||||
msgid "English"
|
||||
msgstr "Anglais"
|
||||
|
||||
#: tfjm/settings.py:163
|
||||
#: tfjm/settings.py:164
|
||||
msgid "French"
|
||||
msgstr "Français"
|
||||
|
||||
@ -1830,15 +1835,15 @@ msgstr ""
|
||||
"avez reçu par mail. Vous pouvez renvoyer un mail en cliquant sur <a href="
|
||||
"\"%(send_email_url)s\">ce lien</a>."
|
||||
|
||||
#: tfjm/templates/base.html:183
|
||||
#: tfjm/templates/base.html:189
|
||||
msgid "Contact us"
|
||||
msgstr "Nous contacter"
|
||||
|
||||
#: tfjm/templates/base.html:202
|
||||
#: tfjm/templates/base.html:208
|
||||
msgid "About"
|
||||
msgstr "À propos"
|
||||
|
||||
#: tfjm/templates/base.html:225
|
||||
#: tfjm/templates/base.html:231
|
||||
msgid "Search results"
|
||||
msgstr "Résultats de la recherche"
|
||||
|
||||
@ -1874,3 +1879,6 @@ msgstr "Résultats"
|
||||
#: tfjm/templates/search/search.html:25
|
||||
msgid "No results found."
|
||||
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."
|
||||
|
Loading…
Reference in New Issue
Block a user