Birth date is only for participants

This commit is contained in:
Emmy D'Anello 2023-01-10 20:31:43 +01:00
parent 63a10c1be5
commit 0f176ea4c6
Signed by: ynerant
GPG Key ID: 3A75C55819C8CF85
9 changed files with 252 additions and 109 deletions

View File

@ -0,0 +1,108 @@
# Generated by Django 3.2.13 on 2023-01-10 19:22
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
initial = True
dependencies = [
('participation', '0001_initial'),
('registration', '0001_initial'),
]
operations = [
migrations.AddField(
model_name='tournament',
name='organizers',
field=models.ManyToManyField(related_name='organized_tournaments', to='registration.VolunteerRegistration', verbose_name='organizers'),
),
migrations.AddIndex(
model_name='team',
index=models.Index(fields=['trigram'], name='participati_trigram_239255_idx'),
),
migrations.AddField(
model_name='synthesis',
name='participation',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='participation.participation', verbose_name='participation'),
),
migrations.AddField(
model_name='synthesis',
name='passage',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='syntheses', to='participation.passage', verbose_name='passage'),
),
migrations.AddField(
model_name='solution',
name='participation',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='solutions', to='participation.participation', verbose_name='participation'),
),
migrations.AddField(
model_name='pool',
name='juries',
field=models.ManyToManyField(related_name='jury_in', to='registration.VolunteerRegistration', verbose_name='juries'),
),
migrations.AddField(
model_name='pool',
name='participations',
field=models.ManyToManyField(related_name='pools', to='participation.Participation', verbose_name='participations'),
),
migrations.AddField(
model_name='pool',
name='tournament',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='pools', to='participation.tournament', verbose_name='tournament'),
),
migrations.AddField(
model_name='passage',
name='defender',
field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='+', to='participation.participation', verbose_name='defender'),
),
migrations.AddField(
model_name='passage',
name='opponent',
field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='+', to='participation.participation', verbose_name='opponent'),
),
migrations.AddField(
model_name='passage',
name='pool',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='passages', to='participation.pool', verbose_name='pool'),
),
migrations.AddField(
model_name='passage',
name='reporter',
field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='+', to='participation.participation', verbose_name='reporter'),
),
migrations.AddField(
model_name='participation',
name='team',
field=models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to='participation.team', verbose_name='team'),
),
migrations.AddField(
model_name='participation',
name='tournament',
field=models.ForeignKey(blank=True, default=None, null=True, on_delete=django.db.models.deletion.SET_NULL, to='participation.tournament', verbose_name='tournament'),
),
migrations.AddField(
model_name='note',
name='jury',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='notes', to='registration.volunteerregistration', verbose_name='jury'),
),
migrations.AddField(
model_name='note',
name='passage',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='notes', to='participation.passage', verbose_name='passage'),
),
migrations.AddIndex(
model_name='tournament',
index=models.Index(fields=['name', 'date_start', 'date_end'], name='participati_name_b43174_idx'),
),
migrations.AlterUniqueTogether(
name='synthesis',
unique_together={('participation', 'passage', 'type')},
),
migrations.AlterUniqueTogether(
name='solution',
unique_together={('participation', 'problem', 'final_solution')},
),
]

View File

@ -101,8 +101,8 @@ class StudentRegistrationForm(forms.ModelForm):
""" """
class Meta: class Meta:
model = StudentRegistration model = StudentRegistration
fields = ('team', 'student_class', 'birth_date', 'gender', 'address', 'phone_number', 'health_issues', fields = ('team', 'student_class', 'birth_date', 'gender', 'address', 'zip_code', 'city', 'phone_number',
'school', 'responsible_name', 'responsible_phone', 'responsible_email', 'health_issues', 'school', 'responsible_name', 'responsible_phone', 'responsible_email',
'give_contact_to_animath', 'email_confirmed',) 'give_contact_to_animath', 'email_confirmed',)
@ -178,8 +178,8 @@ class CoachRegistrationForm(forms.ModelForm):
""" """
class Meta: class Meta:
model = CoachRegistration model = CoachRegistration
fields = ('team', 'birth_date', 'gender', 'address', 'phone_number', 'health_issues', 'professional_activity', fields = ('team', 'gender', 'address', 'zip_code', 'city', 'phone_number', 'health_issues',
'give_contact_to_animath', 'email_confirmed',) 'professional_activity', 'give_contact_to_animath', 'email_confirmed',)
class VolunteerRegistrationForm(forms.ModelForm): class VolunteerRegistrationForm(forms.ModelForm):

View File

@ -0,0 +1,29 @@
# Generated by Django 3.2.13 on 2023-01-10 19:31
import datetime
from django.db import migrations, models
import phonenumber_field.modelfields
class Migration(migrations.Migration):
dependencies = [
('registration', '0001_initial'),
]
operations = [
migrations.RemoveField(
model_name='participantregistration',
name='birth_date',
),
migrations.AddField(
model_name='studentregistration',
name='birth_date',
field=models.DateField(default=datetime.date.today, verbose_name='birth date'),
),
migrations.AlterField(
model_name='studentregistration',
name='responsible_phone',
field=phonenumber_field.modelfields.PhoneNumberField(default='', max_length=128, region=None, verbose_name='responsible phone number'),
),
]

View File

@ -123,11 +123,6 @@ class ParticipantRegistration(Registration):
verbose_name=_("team"), verbose_name=_("team"),
) )
birth_date = models.DateField(
verbose_name=_("birth date"),
default=date.today,
)
gender = models.CharField( gender = models.CharField(
max_length=6, max_length=6,
verbose_name=_("gender"), verbose_name=_("gender"),
@ -174,6 +169,8 @@ class ParticipantRegistration(Registration):
@property @property
def under_18(self): def under_18(self):
if isinstance(self, CoachRegistration):
return False # In normal case
important_date = timezone.now().date() important_date = timezone.now().date()
if self.team and self.team.participation.tournament: if self.team and self.team.participation.tournament:
important_date = self.team.participation.tournament.date_start important_date = self.team.participation.tournament.date_start
@ -196,6 +193,11 @@ class StudentRegistration(ParticipantRegistration):
Specific registration for students. Specific registration for students.
They have a team, a student class and a school. They have a team, a student class and a school.
""" """
birth_date = models.DateField(
verbose_name=_("birth date"),
default=date.today,
)
student_class = models.IntegerField( student_class = models.IntegerField(
choices=[ choices=[
(12, _("12th grade")), (12, _("12th grade")),
@ -218,7 +220,7 @@ class StudentRegistration(ParticipantRegistration):
responsible_phone = PhoneNumberField( responsible_phone = PhoneNumberField(
verbose_name=_("responsible phone number"), verbose_name=_("responsible phone number"),
blank=True, default="",
) )
responsible_email = models.EmailField( responsible_email = models.EmailField(

View File

@ -39,8 +39,10 @@
</a> </a>
</dd> </dd>
{% if user_object.registration.studentregistration %}
<dt class="col-sm-6 text-right">{% trans "Birth date:" %}</dt> <dt class="col-sm-6 text-right">{% trans "Birth date:" %}</dt>
<dd class="col-sm-6">{{ user_object.registration.birth_date }}</dd> <dd class="col-sm-6">{{ user_object.registration.birth_date }}</dd>
{% endif %}
<dt class="col-sm-6 text-right">{% trans "Gender:" %}</dt> <dt class="col-sm-6 text-right">{% trans "Gender:" %}</dt>
<dd class="col-sm-6">{{ user_object.registration.get_gender_display }}</dd> <dd class="col-sm-6">{{ user_object.registration.get_gender_display }}</dd>

View File

@ -3,8 +3,9 @@
{{ object.user.email }} {{ object.user.email }}
{{ object.type }} {{ object.type }}
{{ object.professional_activity }} {{ object.professional_activity }}
{{ object.birth_date }}
{{ object.address }} {{ object.address }}
{{ object.zip_code }}
{{ object.city }}
{{ object.phone_number }} {{ object.phone_number }}
{{ object.team.name }} {{ object.team.name }}
{{ object.team.trigram }} {{ object.team.trigram }}

View File

@ -6,6 +6,8 @@
{{ object.school }} {{ object.school }}
{{ object.birth_date }} {{ object.birth_date }}
{{ object.address }} {{ object.address }}
{{ object.zip_code }}
{{ object.city }}
{{ object.phone_number }} {{ object.phone_number }}
{{ object.responsible_name }} {{ object.responsible_name }}
{{ object.reponsible_phone }} {{ object.reponsible_phone }}

View File

@ -178,7 +178,6 @@ class TestRegistration(TestCase):
password1="azertyuiopazertyuiop", password1="azertyuiopazertyuiop",
password2="azertyuiopazertyuiop", password2="azertyuiopazertyuiop",
role="coach", role="coach",
birth_date="1980-01-01",
gender="other", gender="other",
address="1 Rue de Rivoli", address="1 Rue de Rivoli",
zip_code=75001, zip_code=75001,
@ -264,8 +263,8 @@ class TestRegistration(TestCase):
gender="female", address="1 Rue de Rivoli", zip_code=75001, gender="female", address="1 Rue de Rivoli", zip_code=75001,
city="Paris", responsible_name="Toto", city="Paris", responsible_name="Toto",
responsible_email="toto@example.com")), responsible_email="toto@example.com")),
(self.coach, dict(professional_activity="God", birth_date="2001-01-01", (self.coach, dict(professional_activity="God", gender="male",
gender="male", address="1 Rue de Rivoli", zip_code=75001, city="Paris"))]: address="1 Rue de Rivoli", zip_code=75001, city="Paris"))]:
response = self.client.get(reverse("registration:update_user", args=(user.pk,))) response = self.client.get(reverse("registration:update_user", args=(user.pk,)))
self.assertEqual(response.status_code, 200) self.assertEqual(response.status_code, 200)

View File

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: TFJM\n" "Project-Id-Version: TFJM\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-01-10 20:22+0100\n" "POT-Creation-Date: 2023-01-10 20:31+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: Yohann D'ANELLO <yohann.danello@animath.fr>\n" "Last-Translator: Yohann D'ANELLO <yohann.danello@animath.fr>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@ -100,7 +100,7 @@ msgid "Changelog of type \"{action}\" for model {model} at {timestamp}"
msgstr "Changelog de type \"{action}\" pour le modèle {model} le {timestamp}" msgstr "Changelog de type \"{action}\" pour le modèle {model} le {timestamp}"
#: apps/participation/admin.py:19 apps/participation/models.py:314 #: apps/participation/admin.py:19 apps/participation/models.py:314
#: apps/participation/tables.py:44 apps/registration/models.py:368 #: apps/participation/tables.py:44 apps/registration/models.py:370
msgid "valid" msgid "valid"
msgstr "valide" msgstr "valide"
@ -599,8 +599,8 @@ msgstr "Rejoindre"
#: apps/participation/templates/participation/update_team.html:12 #: apps/participation/templates/participation/update_team.html:12
#: apps/registration/templates/registration/payment_form.html:49 #: apps/registration/templates/registration/payment_form.html:49
#: apps/registration/templates/registration/update_user.html:16 #: apps/registration/templates/registration/update_user.html:16
#: apps/registration/templates/registration/user_detail.html:153 #: apps/registration/templates/registration/user_detail.html:155
#: apps/registration/templates/registration/user_detail.html:185 #: apps/registration/templates/registration/user_detail.html:187
msgid "Update" msgid "Update"
msgstr "Modifier" msgstr "Modifier"
@ -665,10 +665,10 @@ msgstr "Envoyer une solution"
#: apps/registration/templates/registration/upload_health_sheet.html:17 #: apps/registration/templates/registration/upload_health_sheet.html:17
#: apps/registration/templates/registration/upload_parental_authorization.html:17 #: apps/registration/templates/registration/upload_parental_authorization.html:17
#: apps/registration/templates/registration/upload_photo_authorization.html:18 #: apps/registration/templates/registration/upload_photo_authorization.html:18
#: apps/registration/templates/registration/user_detail.html:163 #: apps/registration/templates/registration/user_detail.html:165
#: apps/registration/templates/registration/user_detail.html:168 #: apps/registration/templates/registration/user_detail.html:170
#: apps/registration/templates/registration/user_detail.html:173 #: apps/registration/templates/registration/user_detail.html:175
#: apps/registration/templates/registration/user_detail.html:178 #: apps/registration/templates/registration/user_detail.html:180
msgid "Upload" msgid "Upload"
msgstr "Téléverser" msgstr "Téléverser"
@ -867,16 +867,16 @@ msgstr "Lettre de motivation :"
#: apps/participation/templates/participation/team_detail.html:94 #: apps/participation/templates/participation/team_detail.html:94
#: apps/registration/templates/registration/upload_health_sheet.html:12 #: apps/registration/templates/registration/upload_health_sheet.html:12
#: apps/registration/templates/registration/upload_parental_authorization.html:12 #: apps/registration/templates/registration/upload_parental_authorization.html:12
#: apps/registration/templates/registration/user_detail.html:60 #: apps/registration/templates/registration/user_detail.html:62
#: apps/registration/templates/registration/user_detail.html:73 #: apps/registration/templates/registration/user_detail.html:75
#: apps/registration/templates/registration/user_detail.html:83 #: apps/registration/templates/registration/user_detail.html:85
msgid "Download" msgid "Download"
msgstr "Télécharger" msgstr "Télécharger"
#: apps/participation/templates/participation/team_detail.html:99 #: apps/participation/templates/participation/team_detail.html:99
#: apps/registration/templates/registration/user_detail.html:63 #: apps/registration/templates/registration/user_detail.html:65
#: apps/registration/templates/registration/user_detail.html:76 #: apps/registration/templates/registration/user_detail.html:78
#: apps/registration/templates/registration/user_detail.html:86 #: apps/registration/templates/registration/user_detail.html:88
msgid "Replace" msgid "Replace"
msgstr "Remplacer" msgstr "Remplacer"
@ -1190,7 +1190,7 @@ msgstr "rôle"
msgid "participant" msgid "participant"
msgstr "participant⋅e" msgstr "participant⋅e"
#: apps/registration/forms.py:25 apps/registration/models.py:268 #: apps/registration/forms.py:25 apps/registration/models.py:270
msgid "coach" msgid "coach"
msgstr "encadrant⋅e" msgstr "encadrant⋅e"
@ -1198,11 +1198,11 @@ msgstr "encadrant⋅e"
msgid "This email address is already used." msgid "This email address is already used."
msgstr "Cette adresse e-mail est déjà utilisée." msgstr "Cette adresse e-mail est déjà utilisée."
#: apps/registration/forms.py:56 apps/registration/models.py:294 #: apps/registration/forms.py:56 apps/registration/models.py:296
msgid "volunteer" msgid "volunteer"
msgstr "bénévole" msgstr "bénévole"
#: apps/registration/forms.py:57 apps/registration/models.py:313 #: apps/registration/forms.py:57 apps/registration/models.py:315
msgid "admin" msgid "admin"
msgstr "admin" msgstr "admin"
@ -1227,7 +1227,7 @@ msgstr "email confirmé"
msgid "Activate your TFJM² account" msgid "Activate your TFJM² account"
msgstr "Activez votre compte du TFJM²" msgstr "Activez votre compte du TFJM²"
#: apps/registration/models.py:99 apps/registration/models.py:334 #: apps/registration/models.py:99 apps/registration/models.py:336
msgid "registration" msgid "registration"
msgstr "inscription" msgstr "inscription"
@ -1235,47 +1235,43 @@ msgstr "inscription"
msgid "registrations" msgid "registrations"
msgstr "inscriptions" msgstr "inscriptions"
#: apps/registration/models.py:127 #: apps/registration/models.py:128
msgid "birth date"
msgstr "date de naissance"
#: apps/registration/models.py:133
msgid "gender" msgid "gender"
msgstr "genre" msgstr "genre"
#: apps/registration/models.py:135 #: apps/registration/models.py:130
msgid "Female" msgid "Female"
msgstr "Femme" msgstr "Femme"
#: apps/registration/models.py:136 #: apps/registration/models.py:131
msgid "Male" msgid "Male"
msgstr "Homme" msgstr "Homme"
#: apps/registration/models.py:137 #: apps/registration/models.py:132
msgid "Other" msgid "Other"
msgstr "Autre" msgstr "Autre"
#: apps/registration/models.py:144 #: apps/registration/models.py:139
msgid "address" msgid "address"
msgstr "adresse" msgstr "adresse"
#: apps/registration/models.py:148 #: apps/registration/models.py:143
msgid "zip code" msgid "zip code"
msgstr "code postal" msgstr "code postal"
#: apps/registration/models.py:154 #: apps/registration/models.py:149
msgid "city" msgid "city"
msgstr "ville" msgstr "ville"
#: apps/registration/models.py:158 #: apps/registration/models.py:153
msgid "phone number" msgid "phone number"
msgstr "numéro de téléphone" msgstr "numéro de téléphone"
#: apps/registration/models.py:163 #: apps/registration/models.py:158
msgid "health issues" msgid "health issues"
msgstr "problèmes de santé" msgstr "problèmes de santé"
#: apps/registration/models.py:165 #: apps/registration/models.py:160
msgid "" msgid ""
"You can indicate here your allergies or anything that is important to know " "You can indicate here your allergies or anything that is important to know "
"for organizers" "for organizers"
@ -1283,136 +1279,140 @@ msgstr ""
"Vous pouvez indiquer ici vos allergies ou n'importe quoi qui peut être bon à " "Vous pouvez indiquer ici vos allergies ou n'importe quoi qui peut être bon à "
"savoir pour les organisateur⋅rices" "savoir pour les organisateur⋅rices"
#: apps/registration/models.py:169 #: apps/registration/models.py:164
msgid "photo authorization" msgid "photo authorization"
msgstr "autorisation de droit à l'image" msgstr "autorisation de droit à l'image"
#: apps/registration/models.py:201 #: apps/registration/models.py:197
msgid "birth date"
msgstr "date de naissance"
#: apps/registration/models.py:203
msgid "12th grade" msgid "12th grade"
msgstr "Terminale" msgstr "Terminale"
#: apps/registration/models.py:202 #: apps/registration/models.py:204
msgid "11th grade" msgid "11th grade"
msgstr "Première" msgstr "Première"
#: apps/registration/models.py:203 #: apps/registration/models.py:205
msgid "10th grade or lower" msgid "10th grade or lower"
msgstr "Seconde ou inférieur" msgstr "Seconde ou inférieur"
#: apps/registration/models.py:205 #: apps/registration/models.py:207
msgid "student class" msgid "student class"
msgstr "classe" msgstr "classe"
#: apps/registration/models.py:210 #: apps/registration/models.py:212
msgid "school" msgid "school"
msgstr "école" msgstr "école"
#: apps/registration/models.py:215 #: apps/registration/models.py:217
msgid "responsible name" msgid "responsible name"
msgstr "nom de læ responsable légal⋅e" msgstr "nom de læ responsable légal⋅e"
#: apps/registration/models.py:220 #: apps/registration/models.py:222
msgid "responsible phone number" msgid "responsible phone number"
msgstr "numéro de téléphone de læ responsable légal⋅e" msgstr "numéro de téléphone de læ responsable légal⋅e"
#: apps/registration/models.py:225 #: apps/registration/models.py:227
msgid "responsible email address" msgid "responsible email address"
msgstr "adresse e-mail de læ responsable légal⋅e" msgstr "adresse e-mail de læ responsable légal⋅e"
#: apps/registration/models.py:230 #: apps/registration/models.py:232
msgid "parental authorization" msgid "parental authorization"
msgstr "autorisation parentale" msgstr "autorisation parentale"
#: apps/registration/models.py:237 #: apps/registration/models.py:239
msgid "health sheet" msgid "health sheet"
msgstr "fiche sanitaire" msgstr "fiche sanitaire"
#: apps/registration/models.py:245 #: apps/registration/models.py:247
msgid "student" msgid "student"
msgstr "étudiant⋅e" msgstr "étudiant⋅e"
#: apps/registration/models.py:253 #: apps/registration/models.py:255
msgid "student registration" msgid "student registration"
msgstr "inscription d'élève" msgstr "inscription d'élève"
#: apps/registration/models.py:254 #: apps/registration/models.py:256
msgid "student registrations" msgid "student registrations"
msgstr "inscriptions d'élève" msgstr "inscriptions d'élève"
#: apps/registration/models.py:263 apps/registration/models.py:285 #: apps/registration/models.py:265 apps/registration/models.py:287
msgid "professional activity" msgid "professional activity"
msgstr "activité professionnelle" msgstr "activité professionnelle"
#: apps/registration/models.py:276 #: apps/registration/models.py:278
msgid "coach registration" msgid "coach registration"
msgstr "inscription d'encadrant⋅e" msgstr "inscription d'encadrant⋅e"
#: apps/registration/models.py:277 #: apps/registration/models.py:279
msgid "coach registrations" msgid "coach registrations"
msgstr "inscriptions d'encadrant⋅es" msgstr "inscriptions d'encadrant⋅es"
#: apps/registration/models.py:308 #: apps/registration/models.py:310
msgid "role of the administrator" msgid "role of the administrator"
msgstr "rôle de l'administrateur⋅rice" msgstr "rôle de l'administrateur⋅rice"
#: apps/registration/models.py:321 #: apps/registration/models.py:323
msgid "admin registration" msgid "admin registration"
msgstr "inscription d'administrateur⋅rice" msgstr "inscription d'administrateur⋅rice"
#: apps/registration/models.py:322 #: apps/registration/models.py:324
msgid "admin registrations" msgid "admin registrations"
msgstr "inscriptions d'administrateur⋅rices" msgstr "inscriptions d'administrateur⋅rices"
#: apps/registration/models.py:338 #: apps/registration/models.py:340
msgid "type" msgid "type"
msgstr "type" msgstr "type"
#: apps/registration/models.py:341 #: apps/registration/models.py:343
msgid "No payment" msgid "No payment"
msgstr "Pas de paiement" msgstr "Pas de paiement"
#: apps/registration/models.py:343 #: apps/registration/models.py:345
msgid "Scholarship" msgid "Scholarship"
msgstr "Notification de bourse" msgstr "Notification de bourse"
#: apps/registration/models.py:344 #: apps/registration/models.py:346
msgid "Bank transfer" msgid "Bank transfer"
msgstr "Virement bancaire" msgstr "Virement bancaire"
#: apps/registration/models.py:345 #: apps/registration/models.py:347
msgid "Other (please indicate)" msgid "Other (please indicate)"
msgstr "Autre (veuillez spécifier)" msgstr "Autre (veuillez spécifier)"
#: apps/registration/models.py:346 #: apps/registration/models.py:348
msgid "The tournament is free" msgid "The tournament is free"
msgstr "Le tournoi est gratuit" msgstr "Le tournoi est gratuit"
#: apps/registration/models.py:353 #: apps/registration/models.py:355
msgid "scholarship file" msgid "scholarship file"
msgstr "Notification de bourse" msgstr "Notification de bourse"
#: apps/registration/models.py:354 #: apps/registration/models.py:356
msgid "only if you have a scholarship." msgid "only if you have a scholarship."
msgstr "Nécessaire seulement si vous déclarez être boursier." msgstr "Nécessaire seulement si vous déclarez être boursier."
#: apps/registration/models.py:361 #: apps/registration/models.py:363
msgid "additional information" msgid "additional information"
msgstr "informations additionnelles" msgstr "informations additionnelles"
#: apps/registration/models.py:362 #: apps/registration/models.py:364
msgid "To help us to find your payment." msgid "To help us to find your payment."
msgstr "Pour nous aider à retrouver votre paiement, si nécessaire." msgstr "Pour nous aider à retrouver votre paiement, si nécessaire."
#: apps/registration/models.py:377 #: apps/registration/models.py:379
#, python-brace-format #, python-brace-format
msgid "Payment of {registration}" msgid "Payment of {registration}"
msgstr "Paiement de {registration}" msgstr "Paiement de {registration}"
#: apps/registration/models.py:380 #: apps/registration/models.py:382
msgid "payment" msgid "payment"
msgstr "paiement" msgstr "paiement"
#: apps/registration/models.py:381 #: apps/registration/models.py:383
msgid "payments" msgid "payments"
msgstr "paiements" msgstr "paiements"
@ -1683,108 +1683,108 @@ msgstr "Mot de passe :"
msgid "Change password" msgid "Change password"
msgstr "Changer mon mot de passe" msgstr "Changer mon mot de passe"
#: apps/registration/templates/registration/user_detail.html:42 #: apps/registration/templates/registration/user_detail.html:43
msgid "Birth date:" msgid "Birth date:"
msgstr "Date de naissance :" msgstr "Date de naissance :"
#: apps/registration/templates/registration/user_detail.html:45 #: apps/registration/templates/registration/user_detail.html:47
msgid "Gender:" msgid "Gender:"
msgstr "Genre :" msgstr "Genre :"
#: apps/registration/templates/registration/user_detail.html:48 #: apps/registration/templates/registration/user_detail.html:50
msgid "Address:" msgid "Address:"
msgstr "Adresse :" msgstr "Adresse :"
#: apps/registration/templates/registration/user_detail.html:51 #: apps/registration/templates/registration/user_detail.html:53
msgid "Phone number:" msgid "Phone number:"
msgstr "Numéro de téléphone :" msgstr "Numéro de téléphone :"
#: apps/registration/templates/registration/user_detail.html:54 #: apps/registration/templates/registration/user_detail.html:56
msgid "Health issues:" msgid "Health issues:"
msgstr "Problèmes de santé :" msgstr "Problèmes de santé :"
#: apps/registration/templates/registration/user_detail.html:57 #: apps/registration/templates/registration/user_detail.html:59
msgid "Photo authorization:" msgid "Photo authorization:"
msgstr "Autorisation de droit à l'image" msgstr "Autorisation de droit à l'image"
#: apps/registration/templates/registration/user_detail.html:70 #: apps/registration/templates/registration/user_detail.html:72
msgid "Health sheet:" msgid "Health sheet:"
msgstr "Fiche sanitaire :" msgstr "Fiche sanitaire :"
#: apps/registration/templates/registration/user_detail.html:80 #: apps/registration/templates/registration/user_detail.html:82
msgid "Parental authorization:" msgid "Parental authorization:"
msgstr "Autorisation parentale :" msgstr "Autorisation parentale :"
#: apps/registration/templates/registration/user_detail.html:91 #: apps/registration/templates/registration/user_detail.html:93
msgid "Student class:" msgid "Student class:"
msgstr "Classe :" msgstr "Classe :"
#: apps/registration/templates/registration/user_detail.html:94 #: apps/registration/templates/registration/user_detail.html:96
msgid "School:" msgid "School:"
msgstr "École :" msgstr "École :"
#: apps/registration/templates/registration/user_detail.html:97 #: apps/registration/templates/registration/user_detail.html:99
msgid "Responsible name:" msgid "Responsible name:"
msgstr "Nom de læ responsable légal⋅e :" msgstr "Nom de læ responsable légal⋅e :"
#: apps/registration/templates/registration/user_detail.html:100 #: apps/registration/templates/registration/user_detail.html:102
msgid "Responsible phone number:" msgid "Responsible phone number:"
msgstr "Numéro de téléphone de læ responsable légal⋅e :" msgstr "Numéro de téléphone de læ responsable légal⋅e :"
#: apps/registration/templates/registration/user_detail.html:103 #: apps/registration/templates/registration/user_detail.html:105
msgid "Responsible email address:" msgid "Responsible email address:"
msgstr "Adresse e-mail de læ responsable légal⋅e :" msgstr "Adresse e-mail de læ responsable légal⋅e :"
#: apps/registration/templates/registration/user_detail.html:108 #: apps/registration/templates/registration/user_detail.html:110
msgid "Role:" msgid "Role:"
msgstr "Rôle :" msgstr "Rôle :"
#: apps/registration/templates/registration/user_detail.html:111 #: apps/registration/templates/registration/user_detail.html:113
msgid "Profesional activity:" msgid "Profesional activity:"
msgstr "Activité professionnelle :" msgstr "Activité professionnelle :"
#: apps/registration/templates/registration/user_detail.html:115 #: apps/registration/templates/registration/user_detail.html:117
msgid "Grant Animath to contact me in the future about other actions:" msgid "Grant Animath to contact me in the future about other actions:"
msgstr "Autorise Animath à recontacter à propos d'autres actions :" msgstr "Autorise Animath à recontacter à propos d'autres actions :"
#: apps/registration/templates/registration/user_detail.html:123 #: apps/registration/templates/registration/user_detail.html:125
msgid "Payment information:" msgid "Payment information:"
msgstr "Informations de paiement :" msgstr "Informations de paiement :"
#: apps/registration/templates/registration/user_detail.html:125 #: apps/registration/templates/registration/user_detail.html:127
msgid "yes,no,pending" msgid "yes,no,pending"
msgstr "oui,non,en attente" msgstr "oui,non,en attente"
#: apps/registration/templates/registration/user_detail.html:129 #: apps/registration/templates/registration/user_detail.html:131
#: apps/registration/templates/registration/user_detail.html:132 #: apps/registration/templates/registration/user_detail.html:134
msgid "valid:" msgid "valid:"
msgstr "valide :" msgstr "valide :"
#: apps/registration/templates/registration/user_detail.html:136 #: apps/registration/templates/registration/user_detail.html:138
#: apps/registration/templates/registration/user_detail.html:184 #: apps/registration/templates/registration/user_detail.html:186
msgid "Update payment" msgid "Update payment"
msgstr "Modifier le paiement" msgstr "Modifier le paiement"
#: apps/registration/templates/registration/user_detail.html:142 #: apps/registration/templates/registration/user_detail.html:144
msgid "Download scholarship attestation" msgid "Download scholarship attestation"
msgstr "Télécharger l'attestation de bourse" msgstr "Télécharger l'attestation de bourse"
#: apps/registration/templates/registration/user_detail.html:155 #: apps/registration/templates/registration/user_detail.html:157
msgid "Impersonate" msgid "Impersonate"
msgstr "Impersonifier" msgstr "Impersonifier"
#: apps/registration/templates/registration/user_detail.html:162 #: apps/registration/templates/registration/user_detail.html:164
#: apps/registration/views.py:315 #: apps/registration/views.py:315
msgid "Upload photo authorization" msgid "Upload photo authorization"
msgstr "Téléverser l'autorisation de droit à l'image" msgstr "Téléverser l'autorisation de droit à l'image"
#: apps/registration/templates/registration/user_detail.html:167 #: apps/registration/templates/registration/user_detail.html:169
#: apps/registration/views.py:336 #: apps/registration/views.py:336
msgid "Upload health sheet" msgid "Upload health sheet"
msgstr "Téléverser la fiche sanitaire" msgstr "Téléverser la fiche sanitaire"
#: apps/registration/templates/registration/user_detail.html:172 #: apps/registration/templates/registration/user_detail.html:174
#: apps/registration/templates/registration/user_detail.html:177 #: apps/registration/templates/registration/user_detail.html:179
#: apps/registration/views.py:357 #: apps/registration/views.py:357
msgid "Upload parental authorization" msgid "Upload parental authorization"
msgstr "Téléverser l'autorisation parentale" msgstr "Téléverser l'autorisation parentale"