diff --git a/apps/participation/migrations/0003_tournament_remote.py b/apps/participation/migrations/0003_tournament_remote.py new file mode 100644 index 0000000..1dca7a5 --- /dev/null +++ b/apps/participation/migrations/0003_tournament_remote.py @@ -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'), + ), + ] diff --git a/apps/participation/models.py b/apps/participation/models.py index 76886cf..9d02a64 100644 --- a/apps/participation/models.py +++ b/apps/participation/models.py @@ -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, diff --git a/apps/participation/templates/participation/team_detail.html b/apps/participation/templates/participation/team_detail.html index e3a7649..a78330d 100644 --- a/apps/participation/templates/participation/team_detail.html +++ b/apps/participation/templates/participation/team_detail.html @@ -60,31 +60,33 @@ {% endfor %} -
{% trans "Health sheets:" %}
-
- {% for student in team.students.all %} - {% if student.under_18 %} - {% if student.health_sheet %} - {{ student }}{% if not forloop.last %},{% endif %} - {% else %} - {{ student }} ({% trans "Not uploaded yet" %}){% if not forloop.last %},{% endif %} + {% if not team.participation.tournament.remote %} +
{% trans "Health sheets:" %}
+
+ {% for student in team.students.all %} + {% if student.under_18 %} + {% if student.health_sheet %} + {{ student }}{% if not forloop.last %},{% endif %} + {% else %} + {{ student }} ({% trans "Not uploaded yet" %}){% if not forloop.last %},{% endif %} + {% endif %} {% endif %} - {% endif %} - {% endfor %} -
+ {% endfor %} + -
{% trans "Parental authorizations:" %}
-
- {% for student in team.students.all %} - {% if student.under_18 %} - {% if student.parental_authorization %} - {{ student }}{% if not forloop.last %},{% endif %} - {% else %} - {{ student }} ({% trans "Not uploaded yet" %}){% if not forloop.last %},{% endif %} +
{% trans "Parental authorizations:" %}
+
+ {% for student in team.students.all %} + {% if student.under_18 %} + {% if student.parental_authorization %} + {{ student }}{% if not forloop.last %},{% endif %} + {% else %} + {{ student }} ({% trans "Not uploaded yet" %}){% if not forloop.last %},{% endif %} + {% endif %} {% endif %} - {% endif %} - {% endfor %} -
+ {% endfor %} + + {% endif %}
{% trans "Motivation letter:" %}
diff --git a/apps/participation/templates/participation/tournament_detail.html b/apps/participation/templates/participation/tournament_detail.html index d62150d..b53c57e 100644 --- a/apps/participation/templates/participation/tournament_detail.html +++ b/apps/participation/templates/participation/tournament_detail.html @@ -21,6 +21,9 @@
{% trans 'price'|capfirst %}
{% if tournament.price %}{{ tournament.price }} €{% else %}{% trans "Free" %}{% endif %}
+
{% trans 'remote'|capfirst %}
+
{{ tournament.remote|yesno }}
+
{% trans 'dates'|capfirst %}
{% trans "From" %} {{ tournament.date_start }} {% trans "to" %} {{ tournament.date_end }}
diff --git a/apps/participation/tests.py b/apps/participation/tests.py index d8047b9..a54d054 100644 --- a/apps/participation/tests.py +++ b/apps/participation/tests.py @@ -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,))) diff --git a/apps/participation/views.py b/apps/participation/views.py index 235441f..90daffb 100644 --- a/apps/participation/views.py +++ b/apps/participation/views.py @@ -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 diff --git a/apps/registration/templates/registration/user_detail.html b/apps/registration/templates/registration/user_detail.html index ba91172..c0d6320 100644 --- a/apps/registration/templates/registration/user_detail.html +++ b/apps/registration/templates/registration/user_detail.html @@ -62,7 +62,7 @@ {% 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 %}
{% trans "Health sheet:" %}
diff --git a/locale/fr/LC_MESSAGES/django.po b/locale/fr/LC_MESSAGES/django.po index 7d7ccf6..eadea53 100644 --- a/locale/fr/LC_MESSAGES/django.po +++ b/locale/fr/LC_MESSAGES/django.po @@ -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 \n" "Language-Team: LANGUAGE \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 ce lien." -#: 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." diff --git a/tfjm/static/logo_animath.png b/tfjm/static/logo_animath.png index da4533e..0aab7d7 100644 Binary files a/tfjm/static/logo_animath.png and b/tfjm/static/logo_animath.png differ diff --git a/tfjm/static/logo_animath.svg b/tfjm/static/logo_animath.svg new file mode 100644 index 0000000..1442588 --- /dev/null +++ b/tfjm/static/logo_animath.svg @@ -0,0 +1,99 @@ + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + +