mirror of
https://gitlab.com/animath/si/plateforme.git
synced 2025-01-24 14:21:20 +00:00
Fix tests
This commit is contained in:
parent
d05a8339fe
commit
ef4d74545a
@ -1,5 +1,7 @@
|
||||
# Generated by Django 3.0.11 on 2020-12-30 12:02
|
||||
|
||||
from datetime import date
|
||||
|
||||
import django.core.validators
|
||||
from django.db import migrations, models
|
||||
import django.utils.timezone
|
||||
@ -78,8 +80,8 @@ class Migration(migrations.Migration):
|
||||
fields=[
|
||||
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('name', models.CharField(max_length=255, unique=True, verbose_name='name')),
|
||||
('date_start', models.DateField(default=django.utils.timezone.now, verbose_name='start')),
|
||||
('date_end', models.DateField(default=django.utils.timezone.now, verbose_name='end')),
|
||||
('date_start', models.DateField(default=date.today, verbose_name='start')),
|
||||
('date_end', models.DateField(default=date.today, verbose_name='end')),
|
||||
('inscription_limit', models.DateTimeField(default=django.utils.timezone.now, verbose_name='limit date for registrations')),
|
||||
('solution_limit', models.DateTimeField(default=django.utils.timezone.now, verbose_name='limit date to upload solutions')),
|
||||
('syntheses_first_phase_limit', models.DateTimeField(default=django.utils.timezone.now, verbose_name='limit date to upload the syntheses for the first phase')),
|
||||
|
@ -1,6 +1,7 @@
|
||||
# Copyright (C) 2020 by Animath
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
from datetime import date
|
||||
import os
|
||||
|
||||
from address.models import AddressField
|
||||
@ -123,12 +124,12 @@ class Tournament(models.Model):
|
||||
|
||||
date_start = models.DateField(
|
||||
verbose_name=_("start"),
|
||||
default=timezone.now,
|
||||
default=date.today,
|
||||
)
|
||||
|
||||
date_end = models.DateField(
|
||||
verbose_name=_("end"),
|
||||
default=timezone.now,
|
||||
default=date.today,
|
||||
)
|
||||
|
||||
place = AddressField(
|
||||
|
@ -9,7 +9,7 @@ from django.test import TestCase
|
||||
from django.urls import reverse
|
||||
from registration.models import CoachRegistration, StudentRegistration
|
||||
|
||||
from .models import Participation, Team
|
||||
from .models import Participation, Team, Tournament
|
||||
|
||||
|
||||
class TestStudentParticipation(TestCase):
|
||||
@ -67,6 +67,11 @@ class TestStudentParticipation(TestCase):
|
||||
)
|
||||
CoachRegistration.objects.create(user=self.coach)
|
||||
|
||||
self.tournament = Tournament.objects.create(
|
||||
name="France",
|
||||
place="Here",
|
||||
)
|
||||
|
||||
def test_admin_pages(self):
|
||||
"""
|
||||
Load Django-admin pages.
|
||||
@ -347,6 +352,7 @@ class TestStudentParticipation(TestCase):
|
||||
))
|
||||
self.assertEqual(resp.status_code, 200)
|
||||
|
||||
self.team.participation.tournament = self.tournament
|
||||
self.team.participation.valid = False
|
||||
self.team.participation.save()
|
||||
|
||||
|
@ -174,10 +174,10 @@ 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 \
|
||||
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.participants.all()) and \
|
||||
all(r.parental_authorization for r in team.students.all() if r.under_18)
|
||||
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.participants.all()) and \
|
||||
all(r.parental_authorization for r in team.students.all() if r.under_18)
|
||||
|
||||
return context
|
||||
|
||||
|
@ -340,6 +340,9 @@ class Payment(models.Model):
|
||||
def get_absolute_url(self):
|
||||
return reverse_lazy("registration:user_detail", args=(self.registration.user.id,))
|
||||
|
||||
def __str__(self):
|
||||
return _("Payment of {registration}").format(registration=self.registration)
|
||||
|
||||
class Meta:
|
||||
verbose_name = _("payment")
|
||||
verbose_name_plural = _("payments")
|
||||
|
@ -3,7 +3,6 @@
|
||||
|
||||
from django.contrib.auth.models import User
|
||||
from tfjm.lists import get_sympa_client
|
||||
from tfjm.matrix import Matrix
|
||||
|
||||
from .models import AdminRegistration, Payment, Registration
|
||||
|
||||
|
@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: TFJM\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-01-18 17:59+0100\n"
|
||||
"POT-Creation-Date: 2021-01-18 22:27+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,12 +99,12 @@ 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:297
|
||||
#: apps/participation/tables.py:44 apps/registration/models.py:336
|
||||
#: apps/participation/admin.py:19 apps/participation/models.py:298
|
||||
#: apps/participation/tables.py:44 apps/registration/models.py:335
|
||||
msgid "valid"
|
||||
msgstr "valide"
|
||||
|
||||
#: apps/participation/forms.py:22 apps/participation/models.py:36
|
||||
#: apps/participation/forms.py:22 apps/participation/models.py:37
|
||||
msgid "The trigram must be composed of three uppercase letters."
|
||||
msgstr "Le trigramme doit être composé de trois lettres majuscules."
|
||||
|
||||
@ -128,279 +128,279 @@ msgstr "Le défenseur, l'opposant et le rapporteur doivent être différents."
|
||||
msgid "This defender did not work on this problem."
|
||||
msgstr "Ce défenseur ne travaille pas sur ce problème."
|
||||
|
||||
#: apps/participation/models.py:29 apps/participation/models.py:120
|
||||
#: apps/participation/models.py:30 apps/participation/models.py:121
|
||||
#: apps/participation/tables.py:17 apps/participation/tables.py:34
|
||||
msgid "name"
|
||||
msgstr "nom"
|
||||
|
||||
#: apps/participation/models.py:35 apps/participation/tables.py:39
|
||||
#: apps/participation/models.py:36 apps/participation/tables.py:39
|
||||
msgid "trigram"
|
||||
msgstr "trigramme"
|
||||
|
||||
#: apps/participation/models.py:43
|
||||
#: apps/participation/models.py:44
|
||||
msgid "access code"
|
||||
msgstr "code d'accès"
|
||||
|
||||
#: apps/participation/models.py:44
|
||||
#: apps/participation/models.py:45
|
||||
msgid "The access code let other people to join the team."
|
||||
msgstr "Le code d'accès permet aux autres participants de rejoindre l'équipe."
|
||||
|
||||
#: apps/participation/models.py:107
|
||||
#: apps/participation/models.py:108
|
||||
#, python-brace-format
|
||||
msgid "Team {name} ({trigram})"
|
||||
msgstr "Équipe {name} ({trigram})"
|
||||
|
||||
#: apps/participation/models.py:110 apps/participation/models.py:282
|
||||
#: apps/participation/models.py:111 apps/participation/models.py:283
|
||||
#: apps/registration/models.py:123
|
||||
msgid "team"
|
||||
msgstr "équipe"
|
||||
|
||||
#: apps/participation/models.py:111 apps/participation/tables.py:84
|
||||
#: apps/participation/models.py:112 apps/participation/tables.py:84
|
||||
msgid "teams"
|
||||
msgstr "équipes"
|
||||
|
||||
#: apps/participation/models.py:125
|
||||
#: apps/participation/models.py:126
|
||||
msgid "start"
|
||||
msgstr "début"
|
||||
|
||||
#: apps/participation/models.py:130
|
||||
#: apps/participation/models.py:131
|
||||
msgid "end"
|
||||
msgstr "fin"
|
||||
|
||||
#: apps/participation/models.py:135 apps/participation/models.py:376
|
||||
#: apps/participation/models.py:136 apps/participation/models.py:377
|
||||
#: apps/participation/templates/participation/tournament_detail.html:18
|
||||
msgid "place"
|
||||
msgstr "lieu"
|
||||
|
||||
#: apps/participation/models.py:139
|
||||
#: apps/participation/models.py:140
|
||||
msgid "max team count"
|
||||
msgstr "nombre maximal d'équipes"
|
||||
|
||||
#: apps/participation/models.py:144
|
||||
#: apps/participation/models.py:145
|
||||
#: apps/participation/templates/participation/tournament_detail.html:21
|
||||
msgid "price"
|
||||
msgstr "prix"
|
||||
|
||||
#: apps/participation/models.py:149
|
||||
#: apps/participation/models.py:150
|
||||
msgid "limit date for registrations"
|
||||
msgstr "date limite d'inscription"
|
||||
|
||||
#: apps/participation/models.py:154
|
||||
#: apps/participation/models.py:155
|
||||
msgid "limit date to upload solutions"
|
||||
msgstr "date limite pour envoyer les solutions"
|
||||
|
||||
#: apps/participation/models.py:159
|
||||
#: apps/participation/models.py:160
|
||||
msgid "random draw for solutions"
|
||||
msgstr "tirage au sort des solutions"
|
||||
|
||||
#: apps/participation/models.py:164
|
||||
#: apps/participation/models.py:165
|
||||
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:169
|
||||
#: apps/participation/models.py:170
|
||||
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:174
|
||||
#: apps/participation/models.py:175
|
||||
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:179
|
||||
#: apps/participation/models.py:180
|
||||
#: apps/participation/templates/participation/tournament_detail.html:45
|
||||
msgid "description"
|
||||
msgstr "description"
|
||||
|
||||
#: apps/participation/models.py:185
|
||||
#: apps/participation/models.py:186
|
||||
#: apps/participation/templates/participation/tournament_detail.html:12
|
||||
msgid "organizers"
|
||||
msgstr "organisateurs"
|
||||
|
||||
#: apps/participation/models.py:190
|
||||
#: apps/participation/models.py:191
|
||||
msgid "final"
|
||||
msgstr "finale"
|
||||
|
||||
#: apps/participation/models.py:267 apps/participation/models.py:291
|
||||
#: apps/participation/models.py:323
|
||||
#: apps/participation/models.py:268 apps/participation/models.py:292
|
||||
#: apps/participation/models.py:324
|
||||
msgid "tournament"
|
||||
msgstr "tournoi"
|
||||
|
||||
#: apps/participation/models.py:268
|
||||
#: apps/participation/models.py:269
|
||||
msgid "tournaments"
|
||||
msgstr "tournois"
|
||||
|
||||
#: apps/participation/models.py:298
|
||||
#: apps/participation/models.py:299
|
||||
msgid "The participation got the validation of the organizers."
|
||||
msgstr "La participation a été validée par les organisateurs."
|
||||
|
||||
#: apps/participation/models.py:303
|
||||
#: apps/participation/models.py:304
|
||||
msgid "selected for final"
|
||||
msgstr "sélectionnée pour la finale"
|
||||
|
||||
#: apps/participation/models.py:304
|
||||
#: apps/participation/models.py:305
|
||||
msgid "The team is selected for the final tournament."
|
||||
msgstr "L'équipe est sélectionnée pour la finale."
|
||||
|
||||
#: apps/participation/models.py:311
|
||||
#: apps/participation/models.py:312
|
||||
#, python-brace-format
|
||||
msgid "Participation of the team {name} ({trigram})"
|
||||
msgstr "Participation de l'équipe {name} ({trigram})"
|
||||
|
||||
#: apps/participation/models.py:314 apps/participation/models.py:498
|
||||
#: apps/participation/models.py:536
|
||||
#: apps/participation/models.py:315 apps/participation/models.py:499
|
||||
#: apps/participation/models.py:537
|
||||
msgid "participation"
|
||||
msgstr "participation"
|
||||
|
||||
#: apps/participation/models.py:315 apps/participation/models.py:337
|
||||
#: apps/participation/models.py:316 apps/participation/models.py:338
|
||||
msgid "participations"
|
||||
msgstr "participations"
|
||||
|
||||
#: apps/participation/models.py:327
|
||||
#: apps/participation/models.py:328
|
||||
msgid "round"
|
||||
msgstr "tour"
|
||||
|
||||
#: apps/participation/models.py:329 apps/participation/models.py:330
|
||||
#: apps/participation/models.py:330 apps/participation/models.py:331
|
||||
#, python-brace-format
|
||||
msgid "Round {round}"
|
||||
msgstr "Tour {round}"
|
||||
|
||||
#: apps/participation/models.py:343
|
||||
#: apps/participation/models.py:344
|
||||
msgid "juries"
|
||||
msgstr "jurys"
|
||||
|
||||
#: apps/participation/models.py:357
|
||||
#: apps/participation/models.py:358
|
||||
#, python-brace-format
|
||||
msgid "Pool {round} for tournament {tournament} with teams {teams}"
|
||||
msgstr "Poule {round} du tournoi {tournament} avec les équipes {teams}"
|
||||
|
||||
#: apps/participation/models.py:363 apps/participation/models.py:371
|
||||
#: apps/participation/models.py:364 apps/participation/models.py:372
|
||||
msgid "pool"
|
||||
msgstr "poule"
|
||||
|
||||
#: apps/participation/models.py:364
|
||||
#: apps/participation/models.py:365
|
||||
msgid "pools"
|
||||
msgstr "poules"
|
||||
|
||||
#: apps/participation/models.py:378
|
||||
#: apps/participation/models.py:379
|
||||
msgid "Where the solution is presented?"
|
||||
msgstr "Où est-ce que les solutions sont défendues ?"
|
||||
|
||||
#: apps/participation/models.py:383
|
||||
#: apps/participation/models.py:384
|
||||
msgid "defended solution"
|
||||
msgstr "solution défendue"
|
||||
|
||||
#: apps/participation/models.py:385 apps/participation/models.py:505
|
||||
#: apps/participation/models.py:386 apps/participation/models.py:506
|
||||
#, python-brace-format
|
||||
msgid "Problem #{problem}"
|
||||
msgstr "Problème n°{problem}"
|
||||
|
||||
#: apps/participation/models.py:392 apps/participation/tables.py:105
|
||||
#: apps/participation/models.py:393 apps/participation/tables.py:105
|
||||
msgid "defender"
|
||||
msgstr "défenseur"
|
||||
|
||||
#: apps/participation/models.py:399 apps/participation/models.py:548
|
||||
#: apps/participation/models.py:400 apps/participation/models.py:549
|
||||
msgid "opponent"
|
||||
msgstr "opposant"
|
||||
|
||||
#: apps/participation/models.py:406 apps/participation/models.py:549
|
||||
#: apps/participation/models.py:407 apps/participation/models.py:550
|
||||
msgid "reporter"
|
||||
msgstr "rapporteur"
|
||||
|
||||
#: apps/participation/models.py:466 apps/participation/models.py:469
|
||||
#: apps/participation/models.py:472
|
||||
#: apps/participation/models.py:467 apps/participation/models.py:470
|
||||
#: apps/participation/models.py:473
|
||||
#, python-brace-format
|
||||
msgid "Team {trigram} is not registered in the pool."
|
||||
msgstr "L'équipe {trigram} n'est pas inscrite dans la poule."
|
||||
|
||||
#: apps/participation/models.py:477
|
||||
#: apps/participation/models.py:478
|
||||
#, python-brace-format
|
||||
msgid "Passage of {defender} for problem {problem}"
|
||||
msgstr "Passage de {defender} pour le problème {problem}"
|
||||
|
||||
#: apps/participation/models.py:481 apps/participation/models.py:543
|
||||
#: apps/participation/models.py:581
|
||||
#: apps/participation/models.py:482 apps/participation/models.py:544
|
||||
#: apps/participation/models.py:582
|
||||
msgid "passage"
|
||||
msgstr "passage"
|
||||
|
||||
#: apps/participation/models.py:482
|
||||
#: apps/participation/models.py:483
|
||||
msgid "passages"
|
||||
msgstr "passages"
|
||||
|
||||
#: apps/participation/models.py:503
|
||||
#: apps/participation/models.py:504
|
||||
msgid "problem"
|
||||
msgstr "numéro de problème"
|
||||
|
||||
#: apps/participation/models.py:510
|
||||
#: apps/participation/models.py:511
|
||||
msgid "solution for the final tournament"
|
||||
msgstr "solution pour la finale"
|
||||
|
||||
#: apps/participation/models.py:515 apps/participation/models.py:554
|
||||
#: apps/participation/models.py:516 apps/participation/models.py:555
|
||||
msgid "file"
|
||||
msgstr "fichier"
|
||||
|
||||
#: apps/participation/models.py:523
|
||||
#: apps/participation/models.py:524
|
||||
#, python-brace-format
|
||||
msgid "Solution of team {team} for problem {problem}"
|
||||
msgstr "Solution de l'équipe {team} pour le problème {problem}"
|
||||
|
||||
#: apps/participation/models.py:527
|
||||
#: apps/participation/models.py:528
|
||||
msgid "solution"
|
||||
msgstr "solution"
|
||||
|
||||
#: apps/participation/models.py:528
|
||||
#: apps/participation/models.py:529
|
||||
msgid "solutions"
|
||||
msgstr "solutions"
|
||||
|
||||
#: apps/participation/models.py:562
|
||||
#: apps/participation/models.py:563
|
||||
#, python-brace-format
|
||||
msgid "Synthesis for the {type} of the {passage}"
|
||||
msgstr "Synthèse pour {type} du {passage}"
|
||||
|
||||
#: apps/participation/models.py:565
|
||||
#: apps/participation/models.py:566
|
||||
msgid "synthesis"
|
||||
msgstr "note de synthèse"
|
||||
|
||||
#: apps/participation/models.py:566
|
||||
#: apps/participation/models.py:567
|
||||
msgid "syntheses"
|
||||
msgstr "notes de synthèse"
|
||||
|
||||
#: apps/participation/models.py:574
|
||||
#: apps/participation/models.py:575
|
||||
msgid "jury"
|
||||
msgstr "jury"
|
||||
|
||||
#: apps/participation/models.py:586
|
||||
#: apps/participation/models.py:587
|
||||
msgid "defender writing note"
|
||||
msgstr "note d'écrit du défenseur"
|
||||
|
||||
#: apps/participation/models.py:592
|
||||
#: apps/participation/models.py:593
|
||||
msgid "defender oral note"
|
||||
msgstr "note d'oral du défenseur"
|
||||
|
||||
#: apps/participation/models.py:598
|
||||
#: apps/participation/models.py:599
|
||||
msgid "opponent writing note"
|
||||
msgstr "note d'écrit de l'opposant"
|
||||
|
||||
#: apps/participation/models.py:604
|
||||
#: apps/participation/models.py:605
|
||||
msgid "opponent oral note"
|
||||
msgstr "note d'oral de l'opposant"
|
||||
|
||||
#: apps/participation/models.py:610
|
||||
#: apps/participation/models.py:611
|
||||
msgid "reporter writing note"
|
||||
msgstr "not d'écrit du rapporteur"
|
||||
|
||||
#: apps/participation/models.py:616
|
||||
#: apps/participation/models.py:617
|
||||
msgid "reporter oral note"
|
||||
msgstr "note d'oral du rapporteur"
|
||||
|
||||
#: apps/participation/models.py:625
|
||||
#: apps/participation/models.py:626
|
||||
#, python-brace-format
|
||||
msgid "Notes of {jury} for {passage}"
|
||||
msgstr "Notes de {jury} pour le {passage}"
|
||||
|
||||
#: apps/participation/models.py:632
|
||||
#: apps/participation/models.py:633
|
||||
msgid "note"
|
||||
msgstr "note"
|
||||
|
||||
#: apps/participation/models.py:633
|
||||
#: apps/participation/models.py:634
|
||||
msgid "notes"
|
||||
msgstr "notes"
|
||||
|
||||
@ -485,9 +485,11 @@ msgstr "Rejoindre"
|
||||
#: apps/participation/templates/participation/team_detail.html:148
|
||||
#: apps/participation/templates/participation/tournament_form.html:12
|
||||
#: apps/participation/templates/participation/update_team.html:12
|
||||
#: apps/registration/templates/registration/payment_form.html:11
|
||||
#: apps/registration/templates/registration/update_user.html:16
|
||||
#: apps/registration/templates/registration/user_detail.html:127
|
||||
#: apps/registration/templates/registration/user_detail.html:136
|
||||
#: apps/registration/templates/registration/user_detail.html:140
|
||||
#: apps/registration/templates/registration/user_detail.html:149
|
||||
#: apps/registration/templates/registration/user_detail.html:177
|
||||
msgid "Update"
|
||||
msgstr "Modifier"
|
||||
|
||||
@ -541,9 +543,10 @@ msgstr "Envoyer une solution"
|
||||
#: apps/registration/templates/registration/upload_health_sheet.html:17
|
||||
#: apps/registration/templates/registration/upload_parental_authorization.html:17
|
||||
#: apps/registration/templates/registration/upload_photo_authorization.html:18
|
||||
#: apps/registration/templates/registration/user_detail.html:141
|
||||
#: apps/registration/templates/registration/user_detail.html:146
|
||||
#: apps/registration/templates/registration/user_detail.html:151
|
||||
#: apps/registration/templates/registration/user_detail.html:155
|
||||
#: apps/registration/templates/registration/user_detail.html:160
|
||||
#: apps/registration/templates/registration/user_detail.html:165
|
||||
#: apps/registration/templates/registration/user_detail.html:170
|
||||
msgid "Upload"
|
||||
msgstr "Téléverser"
|
||||
|
||||
@ -781,7 +784,7 @@ msgid "Update team"
|
||||
msgstr "Modifier l'équipe"
|
||||
|
||||
#: apps/participation/templates/participation/team_detail.html:152
|
||||
#: apps/participation/views.py:351
|
||||
#: apps/participation/views.py:359
|
||||
msgid "Leave team"
|
||||
msgstr "Quitter l'équipe"
|
||||
|
||||
@ -887,12 +890,12 @@ msgstr "Vous êtes déjà dans une équipe."
|
||||
msgid "Join team"
|
||||
msgstr "Rejoindre une équipe"
|
||||
|
||||
#: apps/participation/views.py:146 apps/participation/views.py:357
|
||||
#: apps/participation/views.py:390
|
||||
#: apps/participation/views.py:146 apps/participation/views.py:365
|
||||
#: apps/participation/views.py:398
|
||||
msgid "You are not in a team."
|
||||
msgstr "Vous n'êtes pas dans une équipe."
|
||||
|
||||
#: apps/participation/views.py:147 apps/participation/views.py:391
|
||||
#: apps/participation/views.py:147 apps/participation/views.py:399
|
||||
msgid "You don't participate, so you don't have any team."
|
||||
msgstr "Vous ne participez pas, vous n'avez donc pas d'équipe."
|
||||
|
||||
@ -928,44 +931,44 @@ msgstr "Vous n'êtes pas administrateur."
|
||||
msgid "This team has no pending validation."
|
||||
msgstr "L'équipe n'a pas de validation en attente."
|
||||
|
||||
#: apps/participation/views.py:254
|
||||
#: apps/participation/views.py:262
|
||||
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:285
|
||||
#: apps/participation/views.py:293
|
||||
#, python-brace-format
|
||||
msgid "Update team {trigram}"
|
||||
msgstr "Mise à jour de l'équipe {trigram}"
|
||||
|
||||
#: apps/participation/views.py:324
|
||||
#: apps/participation/views.py:332
|
||||
#, python-brace-format
|
||||
msgid "Photo authorization of {participant}.{ext}"
|
||||
msgstr "Autorisation de droit à l'image de {participant}.{ext}"
|
||||
|
||||
#: apps/participation/views.py:330
|
||||
#: apps/participation/views.py:338
|
||||
#, python-brace-format
|
||||
msgid "Parental authorization of {participant}.{ext}"
|
||||
msgstr "Autorisation parentale de {participant}.{ext}"
|
||||
|
||||
#: apps/participation/views.py:337
|
||||
#: apps/participation/views.py:345
|
||||
#, python-brace-format
|
||||
msgid "Health sheet of {participant}.{ext}"
|
||||
msgstr "Fiche sanitaire de {participant}.{ext}"
|
||||
|
||||
#: apps/participation/views.py:341
|
||||
#: apps/participation/views.py:349
|
||||
#, 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:359
|
||||
#: apps/participation/views.py:367
|
||||
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:405
|
||||
#: apps/participation/views.py:413
|
||||
msgid "The team is not validated yet."
|
||||
msgstr "L'équipe n'est pas encore validée."
|
||||
|
||||
#: apps/participation/views.py:417
|
||||
#: apps/participation/views.py:425
|
||||
#, python-brace-format
|
||||
msgid "Participation of team {trigram}"
|
||||
msgstr "Participation de l'équipe {trigram}"
|
||||
@ -995,15 +998,23 @@ msgid "admin"
|
||||
msgstr "admin"
|
||||
|
||||
#: apps/registration/forms.py:116 apps/registration/forms.py:138
|
||||
#: apps/registration/forms.py:160
|
||||
#: apps/registration/forms.py:160 apps/registration/forms.py:214
|
||||
msgid "The uploaded file size must be under 2 Mo."
|
||||
msgstr "Le fichier envoyé doit peser moins de 2 Mo."
|
||||
|
||||
#: apps/registration/forms.py:118 apps/registration/forms.py:140
|
||||
#: apps/registration/forms.py:162
|
||||
#: apps/registration/forms.py:162 apps/registration/forms.py:216
|
||||
msgid "The uploaded file must be a PDF, PNG of JPEG file."
|
||||
msgstr "Le fichier envoyé doit être au format PDF, PNG ou JPEG."
|
||||
|
||||
#: apps/registration/forms.py:208
|
||||
msgid "Pending"
|
||||
msgstr "En attente"
|
||||
|
||||
#: apps/registration/forms.py:224
|
||||
msgid "You must upload your scholarship attestation."
|
||||
msgstr "Vous devez envoyer votre attestation de bourse."
|
||||
|
||||
#: apps/registration/models.py:35
|
||||
msgid "Grant Animath to contact me in the future about other actions"
|
||||
msgstr ""
|
||||
@ -1145,19 +1156,24 @@ msgstr "Notification de bourse"
|
||||
msgid "only if you have a scholarship."
|
||||
msgstr "Nécessaire seulement si vous déclarez être boursier."
|
||||
|
||||
#: apps/registration/models.py:329
|
||||
#: apps/registration/models.py:328
|
||||
msgid "additional information"
|
||||
msgstr "informations additionnelles"
|
||||
|
||||
#: apps/registration/models.py:330
|
||||
#: apps/registration/models.py:329
|
||||
msgid "To help us to find your payment."
|
||||
msgstr "Pour nous aider à retrouver votre paiement, si nécessaire."
|
||||
|
||||
#: apps/registration/models.py:342
|
||||
#: apps/registration/models.py:344
|
||||
#, python-brace-format
|
||||
msgid "Payment of {registration}"
|
||||
msgstr "Paiement de {registration}"
|
||||
|
||||
#: apps/registration/models.py:347
|
||||
msgid "payment"
|
||||
msgstr "paiement"
|
||||
|
||||
#: apps/registration/models.py:343
|
||||
#: apps/registration/models.py:348
|
||||
msgid "payments"
|
||||
msgstr "paiements"
|
||||
|
||||
@ -1169,7 +1185,7 @@ msgstr "nom de famille"
|
||||
#: apps/registration/templates/registration/add_organizer.html:12
|
||||
#: apps/registration/templates/registration/add_organizer.html:19
|
||||
#: apps/registration/templates/registration/user_list.html:8
|
||||
#: apps/registration/views.py:86
|
||||
#: apps/registration/views.py:85
|
||||
msgid "Add organizer"
|
||||
msgstr "Ajouter un organisateur"
|
||||
|
||||
@ -1324,7 +1340,7 @@ msgstr "Réinitialiser mon mot de passe"
|
||||
#: apps/registration/templates/registration/signup.html:5
|
||||
#: apps/registration/templates/registration/signup.html:12
|
||||
#: apps/registration/templates/registration/signup.html:19
|
||||
#: apps/registration/views.py:42
|
||||
#: apps/registration/views.py:41
|
||||
msgid "Sign up"
|
||||
msgstr "Inscription"
|
||||
|
||||
@ -1456,78 +1472,87 @@ msgstr "Informations de paiement :"
|
||||
msgid "yes,no,pending"
|
||||
msgstr "oui,non,en attente"
|
||||
|
||||
#: apps/registration/templates/registration/user_detail.html:120
|
||||
#: apps/registration/templates/registration/user_detail.html:123
|
||||
#: apps/registration/templates/registration/user_detail.html:126
|
||||
msgid "valid:"
|
||||
msgstr "valide :"
|
||||
|
||||
#: apps/registration/templates/registration/user_detail.html:129
|
||||
#: apps/registration/templates/registration/user_detail.html:130
|
||||
#: apps/registration/templates/registration/user_detail.html:176
|
||||
#, fuzzy
|
||||
#| msgid "Update team"
|
||||
msgid "Update payment"
|
||||
msgstr "Modifier l'équipe"
|
||||
|
||||
#: apps/registration/templates/registration/user_detail.html:142
|
||||
msgid "Impersonate"
|
||||
msgstr "Impersonifier"
|
||||
|
||||
#: apps/registration/templates/registration/user_detail.html:135
|
||||
#: apps/registration/templates/registration/user_detail.html:148
|
||||
msgid "Update user"
|
||||
msgstr "Modifier l'utilisateur"
|
||||
|
||||
#: apps/registration/templates/registration/user_detail.html:140
|
||||
#: apps/registration/views.py:313
|
||||
#: apps/registration/templates/registration/user_detail.html:154
|
||||
#: apps/registration/views.py:312
|
||||
msgid "Upload photo authorization"
|
||||
msgstr "Téléverser l'autorisation de droit à l'image"
|
||||
|
||||
#: apps/registration/templates/registration/user_detail.html:145
|
||||
#: apps/registration/views.py:339
|
||||
#: apps/registration/templates/registration/user_detail.html:159
|
||||
#: apps/registration/views.py:338
|
||||
msgid "Upload health sheet"
|
||||
msgstr "Téléverser la fiche sanitaire"
|
||||
|
||||
#: apps/registration/templates/registration/user_detail.html:150
|
||||
#: apps/registration/views.py:365
|
||||
#: apps/registration/templates/registration/user_detail.html:164
|
||||
#: apps/registration/templates/registration/user_detail.html:169
|
||||
#: apps/registration/views.py:364
|
||||
msgid "Upload parental authorization"
|
||||
msgstr "Téléverser l'autorisation parentale"
|
||||
|
||||
#: apps/registration/views.py:125
|
||||
#: apps/registration/views.py:124
|
||||
msgid "New TFJM² organizer account"
|
||||
msgstr "Nouveau compte organisateur pour le TFJM²"
|
||||
|
||||
#: apps/registration/views.py:147
|
||||
#: apps/registration/views.py:146
|
||||
msgid "Email validation"
|
||||
msgstr "Validation de l'adresse mail"
|
||||
|
||||
#: apps/registration/views.py:149
|
||||
#: apps/registration/views.py:148
|
||||
msgid "Validate email"
|
||||
msgstr "Valider l'adresse mail"
|
||||
|
||||
#: apps/registration/views.py:188
|
||||
#: apps/registration/views.py:187
|
||||
msgid "Email validation unsuccessful"
|
||||
msgstr "Échec de la validation de l'adresse mail"
|
||||
|
||||
#: apps/registration/views.py:199
|
||||
#: apps/registration/views.py:198
|
||||
msgid "Email validation email sent"
|
||||
msgstr "Mail de confirmation de l'adresse mail envoyé"
|
||||
|
||||
#: apps/registration/views.py:207
|
||||
#: apps/registration/views.py:206
|
||||
msgid "Resend email validation link"
|
||||
msgstr "Renvoyé le lien de validation de l'adresse mail"
|
||||
|
||||
#: apps/registration/views.py:247
|
||||
#: apps/registration/views.py:246
|
||||
#, python-brace-format
|
||||
msgid "Detail of user {user}"
|
||||
msgstr "Détails de l'utilisateur {user}"
|
||||
|
||||
#: apps/registration/views.py:277
|
||||
#: apps/registration/views.py:276
|
||||
#, python-brace-format
|
||||
msgid "Update user {user}"
|
||||
msgstr "Mise à jour de l'utilisateur {user}"
|
||||
|
||||
#: apps/registration/views.py:403
|
||||
#: apps/registration/views.py:427
|
||||
#, python-brace-format
|
||||
msgid "Photo authorization of {student}.{ext}"
|
||||
msgstr "Autorisation de droit à l'image de {student}.{ext}"
|
||||
|
||||
#: apps/registration/views.py:426
|
||||
#: apps/registration/views.py:450
|
||||
#, python-brace-format
|
||||
msgid "Health sheet of {student}.{ext}"
|
||||
msgstr "Fiche sanitaire de {student}.{ext}"
|
||||
|
||||
#: apps/registration/views.py:449
|
||||
#: apps/registration/views.py:473
|
||||
#, python-brace-format
|
||||
msgid "Parental authorization of {student}.{ext}"
|
||||
msgstr "Autorisation parentale de {student}.{ext}"
|
||||
|
Loading…
x
Reference in New Issue
Block a user