mirror of
https://gitlab.com/animath/si/plateforme.git
synced 2024-12-24 03:02:23 +00:00
Add country field in registration
Signed-off-by: Emmy D'Anello <emmy.danello@animath.fr>
This commit is contained in:
parent
2c15774185
commit
85b3da09f6
27
draw/migrations/0004_alter_round_number.py
Normal file
27
draw/migrations/0004_alter_round_number.py
Normal file
@ -0,0 +1,27 @@
|
||||
# Generated by Django 5.0.6 on 2024-06-07 12:46
|
||||
|
||||
import django.core.validators
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
("draw", "0003_alter_teamdraw_options"),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name="round",
|
||||
name="number",
|
||||
field=models.PositiveSmallIntegerField(
|
||||
choices=[(1, "Round 1"), (2, "Round 2")],
|
||||
help_text="The number of the round, 1 or 2 (or 3 for ETEAM)",
|
||||
validators=[
|
||||
django.core.validators.MinValueValidator(1),
|
||||
django.core.validators.MaxValueValidator(2),
|
||||
],
|
||||
verbose_name="number",
|
||||
),
|
||||
),
|
||||
]
|
@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: TFJM\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-06-07 14:13+0200\n"
|
||||
"POT-Creation-Date: 2024-06-07 14:45+0200\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: Emmy D'Anello <emmy.danello@animath.fr>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
@ -80,7 +80,7 @@ msgstr "Type de permission nécessaire pour écrire un message dans un canal."
|
||||
#: draw/models.py:26 participation/admin.py:79 participation/admin.py:140
|
||||
#: participation/admin.py:171 participation/models.py:694
|
||||
#: participation/models.py:718 participation/models.py:936
|
||||
#: registration/models.py:756
|
||||
#: registration/models.py:762
|
||||
#: registration/templates/registration/payment_form.html:53
|
||||
msgid "tournament"
|
||||
msgstr "tournoi"
|
||||
@ -95,7 +95,7 @@ msgstr ""
|
||||
|
||||
#: chat/models.py:73 draw/models.py:429 draw/models.py:456
|
||||
#: participation/admin.py:136 participation/admin.py:155
|
||||
#: participation/models.py:1435 participation/models.py:1444
|
||||
#: participation/models.py:1439 participation/models.py:1448
|
||||
#: participation/tables.py:84
|
||||
msgid "pool"
|
||||
msgstr "poule"
|
||||
@ -111,7 +111,7 @@ msgstr ""
|
||||
#: participation/admin.py:167 participation/models.py:253
|
||||
#: participation/models.py:709
|
||||
#: participation/templates/participation/tournament_harmonize.html:15
|
||||
#: registration/models.py:157 registration/models.py:747
|
||||
#: registration/models.py:157 registration/models.py:753
|
||||
#: registration/tables.py:39
|
||||
#: registration/templates/registration/payment_form.html:52
|
||||
msgid "team"
|
||||
@ -440,12 +440,12 @@ msgstr "L'instance complète de la poule."
|
||||
msgid "Pool {letter}{number}"
|
||||
msgstr "Poule {letter}{number}"
|
||||
|
||||
#: draw/models.py:430 participation/models.py:1436
|
||||
#: draw/models.py:430 participation/models.py:1440
|
||||
msgid "pools"
|
||||
msgstr "poules"
|
||||
|
||||
#: draw/models.py:442 participation/models.py:926 participation/models.py:1585
|
||||
#: participation/models.py:1615 participation/models.py:1657
|
||||
#: draw/models.py:442 participation/models.py:926 participation/models.py:1589
|
||||
#: participation/models.py:1619 participation/models.py:1661
|
||||
msgid "participation"
|
||||
msgstr "participation"
|
||||
|
||||
@ -469,8 +469,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"L'ordre de choix dans la poule, entre 0 et la taille de la poule moins 1."
|
||||
|
||||
#: draw/models.py:479 draw/models.py:502 participation/models.py:1458
|
||||
#: participation/models.py:1622
|
||||
#: draw/models.py:479 draw/models.py:502 participation/models.py:1462
|
||||
#: participation/models.py:1626
|
||||
#, python-brace-format
|
||||
msgid "Problem #{problem}"
|
||||
msgstr "Problème n°{problem}"
|
||||
@ -686,21 +686,21 @@ msgid "selected for final"
|
||||
msgstr "sélectionnée pour la finale"
|
||||
|
||||
#: participation/admin.py:124 participation/admin.py:183
|
||||
#: participation/models.py:1465 participation/tables.py:112
|
||||
#: participation/models.py:1469 participation/tables.py:112
|
||||
msgid "defender"
|
||||
msgstr "défenseur⋅se"
|
||||
|
||||
#: participation/admin.py:128 participation/models.py:1472
|
||||
#: participation/models.py:1669
|
||||
#: participation/admin.py:128 participation/models.py:1476
|
||||
#: participation/models.py:1673
|
||||
msgid "opponent"
|
||||
msgstr "opposant⋅e"
|
||||
|
||||
#: participation/admin.py:132 participation/models.py:1479
|
||||
#: participation/models.py:1670
|
||||
#: participation/admin.py:132 participation/models.py:1483
|
||||
#: participation/models.py:1674
|
||||
msgid "reporter"
|
||||
msgstr "rapporteur⋅rice"
|
||||
|
||||
#: participation/admin.py:187 participation/models.py:1620
|
||||
#: participation/admin.py:187 participation/models.py:1624
|
||||
msgid "problem"
|
||||
msgstr "numéro de problème"
|
||||
|
||||
@ -811,8 +811,8 @@ msgid "The code must be composed of {nb_letters} uppercase letters."
|
||||
msgstr "Le code doit être composé de {nb_letters} lettres majuscules."
|
||||
|
||||
#: participation/models.py:48
|
||||
msgid "This trigram is forbidden."
|
||||
msgstr "Ce trigramme est interdit."
|
||||
msgid "This team code is forbidden."
|
||||
msgstr "Ce code d'équipe est interdit."
|
||||
|
||||
#: participation/models.py:54
|
||||
msgid "access code"
|
||||
@ -943,7 +943,7 @@ msgstr ""
|
||||
"L'équipe {trigram} n'a pas encore été validée par les organisateurices. "
|
||||
"Merci de patienter."
|
||||
|
||||
#: participation/models.py:197 registration/models.py:575
|
||||
#: participation/models.py:197 registration/models.py:581
|
||||
msgid "Pending validation"
|
||||
msgstr "Validation en attente"
|
||||
|
||||
@ -1100,7 +1100,7 @@ msgstr ""
|
||||
"parties.</p><p>Vous pouvez envoyer vos solutions sur <a href='{url}'>votre "
|
||||
"page de participation</a>.</p>"
|
||||
|
||||
#: participation/models.py:814 registration/models.py:600
|
||||
#: participation/models.py:814 registration/models.py:606
|
||||
msgid ""
|
||||
"<p>The draw of the solutions for the tournament {tournament} is planned on "
|
||||
"the {date:%Y-%m-%d %H:%M}. You can join it on <a href='{url}'>this link</a>."
|
||||
@ -1110,7 +1110,7 @@ msgstr ""
|
||||
"{date:%d/%m/%Y %H:%M}. Vous pouvez y participer sur <a href='{url}'>ce lien</"
|
||||
"a>.</p>"
|
||||
|
||||
#: participation/models.py:820 registration/models.py:607
|
||||
#: participation/models.py:820 registration/models.py:613
|
||||
msgid "Draw of solutions"
|
||||
msgstr "Tirage au sort des solutions"
|
||||
|
||||
@ -1148,7 +1148,7 @@ msgstr ""
|
||||
"href='{solution_url}'>problème {problem}</a>. Vous pouvez envoyer votre note "
|
||||
"de synthèse sur <a href='{passage_url}'>cette page</a>.</p>"
|
||||
|
||||
#: participation/models.py:864 registration/models.py:622
|
||||
#: participation/models.py:864 registration/models.py:628
|
||||
msgid "First round"
|
||||
msgstr "Premier tour"
|
||||
|
||||
@ -1161,7 +1161,7 @@ msgstr ""
|
||||
"<p>Pour le second tour, vous défendrez <a href='{solution_url}'>votre "
|
||||
"solution du problème {problem}</a>.</p>"
|
||||
|
||||
#: participation/models.py:906 registration/models.py:633
|
||||
#: participation/models.py:906 registration/models.py:639
|
||||
msgid "Second round"
|
||||
msgstr "Second tour"
|
||||
|
||||
@ -1233,33 +1233,33 @@ msgstr ""
|
||||
"Ils restent toujours accessibles pour vous. Seules les moyennes sont "
|
||||
"communiquées."
|
||||
|
||||
#: participation/models.py:1027
|
||||
#: participation/models.py:1031
|
||||
msgid "The president of the jury must be part of the jury."
|
||||
msgstr "Læ président⋅e du jury doit faire partie du jury."
|
||||
|
||||
#: participation/models.py:1416
|
||||
#: participation/models.py:1420
|
||||
#, python-brace-format
|
||||
msgid "The jury {jury} is not part of the jury for this pool."
|
||||
msgstr "{jury} ne fait pas partie du jury pour cette poule."
|
||||
|
||||
#: participation/models.py:1429
|
||||
#: participation/models.py:1433
|
||||
#, python-brace-format
|
||||
msgid "Pool {code} for tournament {tournament} with teams {teams}"
|
||||
msgstr "Poule {code} du tournoi {tournament} avec les équipes {teams}"
|
||||
|
||||
#: participation/models.py:1449
|
||||
#: participation/models.py:1453
|
||||
msgid "position"
|
||||
msgstr "position"
|
||||
|
||||
#: participation/models.py:1456
|
||||
#: participation/models.py:1460
|
||||
msgid "defended solution"
|
||||
msgstr "solution défendue"
|
||||
|
||||
#: participation/models.py:1484
|
||||
#: participation/models.py:1488
|
||||
msgid "penalties"
|
||||
msgstr "pénalités"
|
||||
|
||||
#: participation/models.py:1486
|
||||
#: participation/models.py:1490
|
||||
msgid ""
|
||||
"Number of penalties for the defender. The defender will loose a 0.5 "
|
||||
"coefficient per penalty."
|
||||
@ -1267,120 +1267,120 @@ msgstr ""
|
||||
"Nombre de pénalités pour l'équipe défenseuse. Elle perd un coefficient 0.5 "
|
||||
"sur sa présentation orale par pénalité."
|
||||
|
||||
#: participation/models.py:1555 participation/models.py:1558
|
||||
#: participation/models.py:1561
|
||||
#: participation/models.py:1559 participation/models.py:1562
|
||||
#: participation/models.py:1565
|
||||
#, python-brace-format
|
||||
msgid "Team {trigram} is not registered in the pool."
|
||||
msgstr "L'équipe {trigram} n'est pas inscrite dans la poule."
|
||||
|
||||
#: participation/models.py:1566
|
||||
#: participation/models.py:1570
|
||||
#, python-brace-format
|
||||
msgid "Passage of {defender} for problem {problem}"
|
||||
msgstr "Passage de {defender} pour le problème {problem}"
|
||||
|
||||
#: participation/models.py:1570 participation/models.py:1579
|
||||
#: participation/models.py:1664 participation/models.py:1706
|
||||
#: participation/models.py:1574 participation/models.py:1583
|
||||
#: participation/models.py:1668 participation/models.py:1710
|
||||
msgid "passage"
|
||||
msgstr "passage"
|
||||
|
||||
#: participation/models.py:1571
|
||||
#: participation/models.py:1575
|
||||
msgid "passages"
|
||||
msgstr "passages"
|
||||
|
||||
#: participation/models.py:1590
|
||||
#: participation/models.py:1594
|
||||
msgid "difference"
|
||||
msgstr "différence"
|
||||
|
||||
#: participation/models.py:1591
|
||||
#: participation/models.py:1595
|
||||
msgid "Score to add/remove on the final score"
|
||||
msgstr "Score à ajouter/retrancher au score final"
|
||||
|
||||
#: participation/models.py:1598
|
||||
#: participation/models.py:1602
|
||||
msgid "tweak"
|
||||
msgstr "harmonisation"
|
||||
|
||||
#: participation/models.py:1599
|
||||
#: participation/models.py:1603
|
||||
msgid "tweaks"
|
||||
msgstr "harmonisations"
|
||||
|
||||
#: participation/models.py:1627
|
||||
#: participation/models.py:1631
|
||||
msgid "solution for the final tournament"
|
||||
msgstr "solution pour la finale"
|
||||
|
||||
#: participation/models.py:1632 participation/models.py:1675
|
||||
#: participation/models.py:1636 participation/models.py:1679
|
||||
msgid "file"
|
||||
msgstr "fichier"
|
||||
|
||||
#: participation/models.py:1642
|
||||
#: participation/models.py:1646
|
||||
#, python-brace-format
|
||||
msgid "Solution of team {team} for problem {problem}"
|
||||
msgstr "Solution de l'équipe {team} pour le problème {problem}"
|
||||
|
||||
#: participation/models.py:1644
|
||||
#: participation/models.py:1648
|
||||
msgid "for final"
|
||||
msgstr "pour la finale"
|
||||
|
||||
#: participation/models.py:1647
|
||||
#: participation/models.py:1651
|
||||
msgid "solution"
|
||||
msgstr "solution"
|
||||
|
||||
#: participation/models.py:1648
|
||||
#: participation/models.py:1652
|
||||
msgid "solutions"
|
||||
msgstr "solutions"
|
||||
|
||||
#: participation/models.py:1681
|
||||
#: participation/models.py:1685
|
||||
#, python-brace-format
|
||||
msgid "Synthesis of {team} as {type} for problem {problem} of {defender}"
|
||||
msgstr ""
|
||||
"Note de synthèse de l'équipe {team} en tant que {type} pour le problème "
|
||||
"{problem} de {defender}"
|
||||
|
||||
#: participation/models.py:1689
|
||||
#: participation/models.py:1693
|
||||
msgid "synthesis"
|
||||
msgstr "note de synthèse"
|
||||
|
||||
#: participation/models.py:1690
|
||||
#: participation/models.py:1694
|
||||
msgid "syntheses"
|
||||
msgstr "notes de synthèse"
|
||||
|
||||
#: participation/models.py:1699
|
||||
#: participation/models.py:1703
|
||||
msgid "jury"
|
||||
msgstr "jury"
|
||||
|
||||
#: participation/models.py:1711
|
||||
#: participation/models.py:1715
|
||||
msgid "defender writing note"
|
||||
msgstr "note d'écrit défenseur⋅se"
|
||||
|
||||
#: participation/models.py:1717
|
||||
#: participation/models.py:1721
|
||||
msgid "defender oral note"
|
||||
msgstr "note d'oral défenseur⋅se"
|
||||
|
||||
#: participation/models.py:1723
|
||||
#: participation/models.py:1727
|
||||
msgid "opponent writing note"
|
||||
msgstr "note d'écrit opposant⋅e"
|
||||
|
||||
#: participation/models.py:1729
|
||||
#: participation/models.py:1733
|
||||
msgid "opponent oral note"
|
||||
msgstr "note d'oral opposant⋅e"
|
||||
|
||||
#: participation/models.py:1735
|
||||
#: participation/models.py:1739
|
||||
msgid "reporter writing note"
|
||||
msgstr "note d'écrit rapporteur⋅rice"
|
||||
|
||||
#: participation/models.py:1741
|
||||
#: participation/models.py:1745
|
||||
msgid "reporter oral note"
|
||||
msgstr "note d'oral du rapporteur⋅rice"
|
||||
|
||||
#: participation/models.py:1801
|
||||
#: participation/models.py:1805
|
||||
#, python-brace-format
|
||||
msgid "Notes of {jury} for {passage}"
|
||||
msgstr "Notes de {jury} pour le {passage}"
|
||||
|
||||
#: participation/models.py:1804
|
||||
#: participation/models.py:1808
|
||||
msgid "note"
|
||||
msgstr "note"
|
||||
|
||||
#: participation/models.py:1805
|
||||
#: participation/models.py:1809
|
||||
msgid "notes"
|
||||
msgstr "notes"
|
||||
|
||||
@ -1845,7 +1845,7 @@ msgid "Payment of"
|
||||
msgstr "Paiement de"
|
||||
|
||||
#: participation/templates/participation/team_detail.html:160
|
||||
#: registration/models.py:677
|
||||
#: registration/models.py:683
|
||||
msgid "grouped"
|
||||
msgstr "groupé"
|
||||
|
||||
@ -2048,7 +2048,7 @@ msgid "Rank"
|
||||
msgstr "Rang"
|
||||
|
||||
#: participation/templates/participation/tournament_harmonize.html:16
|
||||
#: registration/models.py:648
|
||||
#: registration/models.py:654
|
||||
msgid "Note"
|
||||
msgstr "Note"
|
||||
|
||||
@ -2352,7 +2352,7 @@ msgstr "rôle"
|
||||
msgid "participant"
|
||||
msgstr "participant⋅e"
|
||||
|
||||
#: registration/forms.py:25 registration/models.py:509
|
||||
#: registration/forms.py:25 registration/models.py:515
|
||||
msgid "coach"
|
||||
msgstr "encadrant⋅e"
|
||||
|
||||
@ -2396,7 +2396,7 @@ msgstr ""
|
||||
msgid "registration"
|
||||
msgstr "inscription"
|
||||
|
||||
#: registration/models.py:130 registration/models.py:673
|
||||
#: registration/models.py:130 registration/models.py:679
|
||||
msgid "registrations"
|
||||
msgstr "inscriptions"
|
||||
|
||||
@ -2429,15 +2429,19 @@ msgstr "code postal"
|
||||
msgid "city"
|
||||
msgstr "ville"
|
||||
|
||||
#: registration/models.py:187
|
||||
#: registration/models.py:188
|
||||
msgid "country"
|
||||
msgstr "pays"
|
||||
|
||||
#: registration/models.py:193
|
||||
msgid "phone number"
|
||||
msgstr "numéro de téléphone"
|
||||
|
||||
#: registration/models.py:192
|
||||
#: registration/models.py:198
|
||||
msgid "health issues"
|
||||
msgstr "problèmes de santé"
|
||||
|
||||
#: registration/models.py:194
|
||||
#: registration/models.py:200
|
||||
msgid ""
|
||||
"You can indicate here your allergies or anything that is important to know "
|
||||
"for organizers."
|
||||
@ -2445,11 +2449,11 @@ msgstr ""
|
||||
"Vous pouvez indiquer ici vos allergies ou n'importe quoi qui peut être bon à "
|
||||
"savoir pour les organisateur⋅rices."
|
||||
|
||||
#: registration/models.py:198
|
||||
#: registration/models.py:204
|
||||
msgid "housing constraints"
|
||||
msgstr "contraintes de logement"
|
||||
|
||||
#: registration/models.py:200
|
||||
#: registration/models.py:206
|
||||
msgid ""
|
||||
"You can fill in something here if you have any housing constraints, e.g. "
|
||||
"medical problems, scheduling issues, gender issues, or anything else you "
|
||||
@ -2462,15 +2466,15 @@ msgstr ""
|
||||
"organisateur⋅rices. Laissez vide si vous n'avez rien de spécifique à "
|
||||
"déclarer."
|
||||
|
||||
#: registration/models.py:207
|
||||
#: registration/models.py:213
|
||||
msgid "photo authorization"
|
||||
msgstr "autorisation de droit à l'image"
|
||||
|
||||
#: registration/models.py:214
|
||||
#: registration/models.py:220
|
||||
msgid "photo authorization (final)"
|
||||
msgstr "autorisation de droit à l'image (finale)"
|
||||
|
||||
#: registration/models.py:258
|
||||
#: registration/models.py:264
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"You are not in a team. You can <a href=\"{create_url}\">create one</a> or <a "
|
||||
@ -2480,11 +2484,11 @@ msgstr ""
|
||||
"a> ou <a href=\"{join_url}\">rejoindre une équipe existante</a> pour "
|
||||
"participer."
|
||||
|
||||
#: registration/models.py:264
|
||||
#: registration/models.py:270
|
||||
msgid "No team"
|
||||
msgstr "Pas d'équipe"
|
||||
|
||||
#: registration/models.py:272
|
||||
#: registration/models.py:278
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"You have not uploaded your photo authorization. You can do it by clicking on "
|
||||
@ -2493,11 +2497,11 @@ msgstr ""
|
||||
"Vous n'avez pas envoyé votre autorisation de droit à l'image. Vous pouvez le "
|
||||
"faire en cliquant sur <a href=\"{photo_url}\">ce lien</a>."
|
||||
|
||||
#: registration/models.py:277 registration/models.py:290
|
||||
#: registration/models.py:283 registration/models.py:296
|
||||
msgid "Photo authorization"
|
||||
msgstr "Autorisation de droit à l'image"
|
||||
|
||||
#: registration/models.py:285
|
||||
#: registration/models.py:291
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"You have not uploaded your photo authorization for the final tournament. You "
|
||||
@ -2506,75 +2510,75 @@ msgstr ""
|
||||
"Vous n'avez pas envoyé votre autorisation de droit à l'image pour la finale. "
|
||||
"Vous pouvez le faire en cliquant sur <a href=\"{photo_url}\">ce lien</a>."
|
||||
|
||||
#: registration/models.py:305
|
||||
#: registration/models.py:311
|
||||
msgid "Team selected for the final tournament"
|
||||
msgstr "Équipe sélectionnée pour la finale"
|
||||
|
||||
#: registration/models.py:327
|
||||
#: registration/models.py:333
|
||||
msgid "participant registration"
|
||||
msgstr "inscription de participant⋅e"
|
||||
|
||||
#: registration/models.py:328
|
||||
#: registration/models.py:334
|
||||
msgid "participant registrations"
|
||||
msgstr "inscriptions de participant⋅es"
|
||||
|
||||
#: registration/models.py:337
|
||||
#: registration/models.py:343
|
||||
msgid "birth date"
|
||||
msgstr "date de naissance"
|
||||
|
||||
#: registration/models.py:343
|
||||
#: registration/models.py:349
|
||||
msgid "12th grade"
|
||||
msgstr "Terminale"
|
||||
|
||||
#: registration/models.py:344
|
||||
#: registration/models.py:350
|
||||
msgid "11th grade"
|
||||
msgstr "Première"
|
||||
|
||||
#: registration/models.py:345
|
||||
#: registration/models.py:351
|
||||
msgid "10th grade or lower"
|
||||
msgstr "Seconde ou inférieur"
|
||||
|
||||
#: registration/models.py:347
|
||||
#: registration/models.py:353
|
||||
msgid "student class"
|
||||
msgstr "classe"
|
||||
|
||||
#: registration/models.py:352
|
||||
#: registration/models.py:358
|
||||
msgid "school"
|
||||
msgstr "école"
|
||||
|
||||
#: registration/models.py:357
|
||||
#: registration/models.py:363
|
||||
msgid "responsible name"
|
||||
msgstr "nom d'un⋅e responsable légal⋅e"
|
||||
|
||||
#: registration/models.py:362
|
||||
#: registration/models.py:368
|
||||
msgid "responsible phone number"
|
||||
msgstr "numéro de téléphone d'un⋅e responsable légal⋅e"
|
||||
|
||||
#: registration/models.py:367
|
||||
#: registration/models.py:373
|
||||
msgid "responsible email address"
|
||||
msgstr "adresse e-mail d'un⋅e responsable légal⋅e"
|
||||
|
||||
#: registration/models.py:372
|
||||
#: registration/models.py:378
|
||||
msgid "parental authorization"
|
||||
msgstr "autorisation parentale"
|
||||
|
||||
#: registration/models.py:379
|
||||
#: registration/models.py:385
|
||||
msgid "parental authorization (final)"
|
||||
msgstr "autorisation parentale (finale)"
|
||||
|
||||
#: registration/models.py:386
|
||||
#: registration/models.py:392
|
||||
msgid "health sheet"
|
||||
msgstr "fiche sanitaire"
|
||||
|
||||
#: registration/models.py:393
|
||||
#: registration/models.py:399
|
||||
msgid "vaccine sheet"
|
||||
msgstr "carnet de vaccination"
|
||||
|
||||
#: registration/models.py:401
|
||||
#: registration/models.py:407
|
||||
msgid "student"
|
||||
msgstr "élève"
|
||||
|
||||
#: registration/models.py:412
|
||||
#: registration/models.py:418
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"You have not uploaded your parental authorization. You can do it by clicking "
|
||||
@ -2583,11 +2587,11 @@ msgstr ""
|
||||
"Vous n'avez pas envoyé votre autorisation parentale. Vous pouvez le faire en "
|
||||
"cliquant sur <a href=\"{parental_url}\">ce lien</a>."
|
||||
|
||||
#: registration/models.py:417 registration/models.py:477
|
||||
#: registration/models.py:423 registration/models.py:483
|
||||
msgid "Parental authorization"
|
||||
msgstr "Autorisation parentale"
|
||||
|
||||
#: registration/models.py:423
|
||||
#: registration/models.py:429
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"You have not uploaded your health sheet. You can do it by clicking on <a "
|
||||
@ -2596,11 +2600,11 @@ msgstr ""
|
||||
"Vous n'avez pas envoyé votre fiche sanitaire. Vous pouvez le faire en "
|
||||
"cliquant sur <a href=\"{health_url}\">ce lien</a>."
|
||||
|
||||
#: registration/models.py:428
|
||||
#: registration/models.py:434
|
||||
msgid "Health sheet"
|
||||
msgstr "Fiche sanitaire"
|
||||
|
||||
#: registration/models.py:434
|
||||
#: registration/models.py:440
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"You have not uploaded your vaccine sheet. You can do it by clicking on <a "
|
||||
@ -2609,11 +2613,11 @@ msgstr ""
|
||||
"Vous n'avez pas envoyé votre carnet de vaccination. Vous pouvez le faire en "
|
||||
"cliquant sur <a href=\"{vaccine_url}\">ce lien</a>."
|
||||
|
||||
#: registration/models.py:439
|
||||
#: registration/models.py:445
|
||||
msgid "Vaccine sheet"
|
||||
msgstr "Carnet de vaccination"
|
||||
|
||||
#: registration/models.py:448
|
||||
#: registration/models.py:454
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"You have to pay {amount} € for your registration, or send a scholarship "
|
||||
@ -2624,15 +2628,15 @@ msgstr ""
|
||||
"notification de bourse ou un justificatif de paiement. Vous pouvez le faire "
|
||||
"sur <a href=\"{url}\">la page de paiement</a>."
|
||||
|
||||
#: registration/models.py:454 registration/models.py:463
|
||||
#: registration/models.py:460 registration/models.py:469
|
||||
msgid "Payment"
|
||||
msgstr "Paiement"
|
||||
|
||||
#: registration/models.py:460
|
||||
#: registration/models.py:466
|
||||
msgid "Your payment is under approval."
|
||||
msgstr "Votre paiement est en cours de validation."
|
||||
|
||||
#: registration/models.py:471
|
||||
#: registration/models.py:477
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"You have not uploaded your parental authorization for the final tournament. "
|
||||
@ -2641,19 +2645,19 @@ msgstr ""
|
||||
"Vous n'avez pas envoyé votre autorisation parentale pour la finale. Vous "
|
||||
"pouvez le faire en cliquant sur <a href=\"{parental_url}\">ce lien</a>."
|
||||
|
||||
#: registration/models.py:486
|
||||
#: registration/models.py:492
|
||||
msgid "student registration"
|
||||
msgstr "inscription d'élève"
|
||||
|
||||
#: registration/models.py:487
|
||||
#: registration/models.py:493
|
||||
msgid "student registrations"
|
||||
msgstr "inscriptions d'élève"
|
||||
|
||||
#: registration/models.py:498
|
||||
#: registration/models.py:504
|
||||
msgid "most recent degree in mathematics, computer science or physics"
|
||||
msgstr "Dernier diplôme obtenu en mathématiques, informatique ou physique"
|
||||
|
||||
#: registration/models.py:499
|
||||
#: registration/models.py:505
|
||||
msgid ""
|
||||
"Your most recent degree in maths, computer science or physics, or your last "
|
||||
"entrance exam (CAPES, Agrégation,…)"
|
||||
@ -2661,23 +2665,23 @@ msgstr ""
|
||||
"Votre dernier diplôme en mathématiques, informatique ou physique, ou votre "
|
||||
"dernier concours obtenu (CAPES, Agrégation, …)"
|
||||
|
||||
#: registration/models.py:504 registration/models.py:526
|
||||
#: registration/models.py:510 registration/models.py:532
|
||||
msgid "professional activity"
|
||||
msgstr "activité professionnelle"
|
||||
|
||||
#: registration/models.py:517
|
||||
#: registration/models.py:523
|
||||
msgid "coach registration"
|
||||
msgstr "inscription d'encadrant⋅e"
|
||||
|
||||
#: registration/models.py:518
|
||||
#: registration/models.py:524
|
||||
msgid "coach registrations"
|
||||
msgstr "inscriptions d'encadrant⋅es"
|
||||
|
||||
#: registration/models.py:530
|
||||
#: registration/models.py:536
|
||||
msgid "administrator"
|
||||
msgstr "administrateur⋅rice"
|
||||
|
||||
#: registration/models.py:531
|
||||
#: registration/models.py:537
|
||||
msgid ""
|
||||
"An administrator has all rights. Please don't give this right to all juries "
|
||||
"and volunteers."
|
||||
@ -2685,15 +2689,15 @@ msgstr ""
|
||||
"Un⋅e administrateur⋅rice a tous les droits. Merci de ne pas donner ce droit "
|
||||
"à toustes les juré⋅es et bénévoles."
|
||||
|
||||
#: registration/models.py:541
|
||||
#: registration/models.py:547
|
||||
msgid "admin"
|
||||
msgstr "admin"
|
||||
|
||||
#: registration/models.py:541
|
||||
#: registration/models.py:547
|
||||
msgid "volunteer"
|
||||
msgstr "bénévole"
|
||||
|
||||
#: registration/models.py:554
|
||||
#: registration/models.py:560
|
||||
msgid ""
|
||||
"Registrations for tournament {tournament} are closing on {date:%Y-%m-%d %H:"
|
||||
"%M}. There are for now {validated_teams} validated teams (+ {pending_teams} "
|
||||
@ -2703,11 +2707,11 @@ msgstr ""
|
||||
"%M}. Il y a pour l'instant {validated_teams} équipes validées (+ "
|
||||
"{pending_teams} en attente) sur {max_teams} attendues."
|
||||
|
||||
#: registration/models.py:562
|
||||
#: registration/models.py:568
|
||||
msgid "Registrations"
|
||||
msgstr "Inscriptions"
|
||||
|
||||
#: registration/models.py:569
|
||||
#: registration/models.py:575
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"The team {trigram} requested to be validated for the tournament of "
|
||||
@ -2718,7 +2722,7 @@ msgstr ""
|
||||
"Vous pouvez vérifier le statut de l'équipe sur la <a href=\"{url}\">page de "
|
||||
"l'équipe</a>."
|
||||
|
||||
#: registration/models.py:586
|
||||
#: registration/models.py:592
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"There are {valid} validated payments, {pending} pending and {invalid} "
|
||||
@ -2729,11 +2733,11 @@ msgstr ""
|
||||
"invalides pour le tournoi {tournament}. Vous pouvez vérifier le statut des "
|
||||
"paiements sur la <a href=\"{url}\">liste des paiements</a>."
|
||||
|
||||
#: registration/models.py:593
|
||||
#: registration/models.py:599
|
||||
msgid "Payments"
|
||||
msgstr "Paiements"
|
||||
|
||||
#: registration/models.py:617 registration/models.py:628
|
||||
#: registration/models.py:623 registration/models.py:634
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"<p>You are in the jury of the pool {pool} for the tournament of "
|
||||
@ -2742,7 +2746,7 @@ msgstr ""
|
||||
"<p>Vous êtes dans le jury de la poule {pool} pour le tournoi {tournament}. "
|
||||
"Vous pouvez trouver la page de la poule <a href='{pool_url}'>ici</a>.</p>"
|
||||
|
||||
#: registration/models.py:641
|
||||
#: registration/models.py:647
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"<p>You don't have given any note as a jury for the passage {passage} in the "
|
||||
@ -2753,15 +2757,15 @@ msgstr ""
|
||||
"{passage} dans la poule {pool} de {tournament}. Vous pouvez donner vos notes "
|
||||
"<a href='{passage_url}'>ici</a>.</p>"
|
||||
|
||||
#: registration/models.py:657
|
||||
#: registration/models.py:663
|
||||
msgid "volunteer registration"
|
||||
msgstr "inscription de bénévole"
|
||||
|
||||
#: registration/models.py:658
|
||||
#: registration/models.py:664
|
||||
msgid "volunteer registrations"
|
||||
msgstr "inscriptions de bénévoles"
|
||||
|
||||
#: registration/models.py:679
|
||||
#: registration/models.py:685
|
||||
msgid ""
|
||||
"If set to true, then one payment is made for the full team, for example if "
|
||||
"the school pays for all."
|
||||
@ -2769,100 +2773,100 @@ msgstr ""
|
||||
"Si vrai, alors un seul paiement est fait pour toute l'équipe, par exemple si "
|
||||
"le lycée paie pour tout le monde."
|
||||
|
||||
#: registration/models.py:684
|
||||
#: registration/models.py:690
|
||||
msgid "total amount"
|
||||
msgstr "montant total"
|
||||
|
||||
#: registration/models.py:685
|
||||
#: registration/models.py:691
|
||||
msgid "Corresponds to the total required amount to pay, in euros."
|
||||
msgstr "Correspond au montant total à payer, en euros."
|
||||
|
||||
#: registration/models.py:690
|
||||
#: registration/models.py:696
|
||||
msgid "token"
|
||||
msgstr "jeton"
|
||||
|
||||
#: registration/models.py:693
|
||||
#: registration/models.py:699
|
||||
msgid "A token to authorize external users to make this payment."
|
||||
msgstr "Un jeton pour autoriser des utilisateurs externes à faire ce paiement."
|
||||
|
||||
#: registration/models.py:697
|
||||
#: registration/models.py:703
|
||||
msgid "for final tournament"
|
||||
msgstr "pour la finale"
|
||||
|
||||
#: registration/models.py:702
|
||||
#: registration/models.py:708
|
||||
msgid "type"
|
||||
msgstr "type"
|
||||
|
||||
#: registration/models.py:705
|
||||
#: registration/models.py:711
|
||||
msgid "No payment"
|
||||
msgstr "Pas de paiement"
|
||||
|
||||
#: registration/models.py:706
|
||||
#: registration/models.py:712
|
||||
#: registration/templates/registration/payment_form.html:72
|
||||
msgid "Credit card"
|
||||
msgstr "Carte bancaire"
|
||||
|
||||
#: registration/models.py:707
|
||||
#: registration/models.py:713
|
||||
msgid "Scholarship"
|
||||
msgstr "Notification de bourse"
|
||||
|
||||
#: registration/models.py:708
|
||||
#: registration/models.py:714
|
||||
#: registration/templates/registration/payment_form.html:77
|
||||
msgid "Bank transfer"
|
||||
msgstr "Virement bancaire"
|
||||
|
||||
#: registration/models.py:709
|
||||
#: registration/models.py:715
|
||||
msgid "Other (please indicate)"
|
||||
msgstr "Autre (veuillez spécifier)"
|
||||
|
||||
#: registration/models.py:710
|
||||
#: registration/models.py:716
|
||||
msgid "The tournament is free"
|
||||
msgstr "Le tournoi est gratuit"
|
||||
|
||||
#: registration/models.py:717
|
||||
#: registration/models.py:723
|
||||
msgid "Hello Asso checkout intent ID"
|
||||
msgstr "ID de l'intention de paiement Hello Asso"
|
||||
|
||||
#: registration/models.py:724
|
||||
#: registration/models.py:730
|
||||
msgid "receipt"
|
||||
msgstr "justificatif"
|
||||
|
||||
#: registration/models.py:725
|
||||
#: registration/models.py:731
|
||||
msgid "only if you have a scholarship or if you chose a bank transfer."
|
||||
msgstr ""
|
||||
"Nécessaire seulement si vous déclarez être boursièr⋅e ou si vous payez par "
|
||||
"virement bancaire."
|
||||
|
||||
#: registration/models.py:732
|
||||
#: registration/models.py:738
|
||||
msgid "additional information"
|
||||
msgstr "informations additionnelles"
|
||||
|
||||
#: registration/models.py:733
|
||||
#: registration/models.py:739
|
||||
msgid "To help us to find your payment."
|
||||
msgstr "Pour nous aider à retrouver votre paiement, si nécessaire."
|
||||
|
||||
#: registration/models.py:739
|
||||
#: registration/models.py:745
|
||||
msgid "payment valid"
|
||||
msgstr "paiement valide"
|
||||
|
||||
#: registration/models.py:799
|
||||
#: registration/models.py:805
|
||||
msgid "Reminder for your payment"
|
||||
msgstr "Rappel pour votre paiement"
|
||||
|
||||
#: registration/models.py:810
|
||||
#: registration/models.py:816
|
||||
msgid "Payment confirmation"
|
||||
msgstr "Confirmation de paiement"
|
||||
|
||||
#: registration/models.py:832
|
||||
#: registration/models.py:838
|
||||
#, python-brace-format
|
||||
msgid "Payment of {registrations}"
|
||||
msgstr "Paiements de {registrations}"
|
||||
|
||||
#: registration/models.py:835
|
||||
#: registration/models.py:841
|
||||
msgid "payment"
|
||||
msgstr "paiement"
|
||||
|
||||
#: registration/models.py:836
|
||||
#: registration/models.py:842
|
||||
msgid "payments"
|
||||
msgstr "paiements"
|
||||
|
||||
|
31
participation/migrations/0014_alter_team_trigram.py
Normal file
31
participation/migrations/0014_alter_team_trigram.py
Normal file
@ -0,0 +1,31 @@
|
||||
# Generated by Django 5.0.6 on 2024-06-07 12:46
|
||||
|
||||
import django.core.validators
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
("participation", "0013_alter_pool_options_pool_room"),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name="team",
|
||||
name="trigram",
|
||||
field=models.CharField(
|
||||
help_text="The code must be composed of 3 uppercase letters.",
|
||||
max_length=3,
|
||||
unique=True,
|
||||
validators=[
|
||||
django.core.validators.RegexValidator("^[A-Z]{3}$"),
|
||||
django.core.validators.RegexValidator(
|
||||
"^(?!BIT$|CNO$|CRO$|CUL$|FTG$|FCK$|FUC$|FUK$|FYS$|HIV$|IST$|MST$|KKK$|KYS$|SEX$)",
|
||||
message="This team code is forbidden.",
|
||||
),
|
||||
],
|
||||
verbose_name="code",
|
||||
),
|
||||
),
|
||||
]
|
@ -43,9 +43,9 @@ class Team(models.Model):
|
||||
nb_letters=settings.TEAM_CODE_LENGTH),
|
||||
unique=True,
|
||||
validators=[
|
||||
RegexValidator(fr"^[A-Z]{{f'{settings.TEAM_CODE_LENGTH}'}}$"),
|
||||
RegexValidator("^[A-Z]{" + str(settings.TEAM_CODE_LENGTH) + "}$"),
|
||||
RegexValidator(fr"^(?!{'|'.join(f'{t}$' for t in settings.FORBIDDEN_TRIGRAMS)})",
|
||||
message=_("This trigram is forbidden.")),
|
||||
message=_("This team code is forbidden.")),
|
||||
],
|
||||
)
|
||||
|
||||
|
@ -711,6 +711,7 @@ class TournamentExportCSVView(VolunteerMixin, DetailView):
|
||||
'Adresse': registration.address,
|
||||
'Code postal': registration.zip_code,
|
||||
'Ville': registration.city,
|
||||
'Pays': registration.country,
|
||||
'Téléphone': registration.phone_number,
|
||||
'Classe': registration.get_student_class_display() if registration.is_student
|
||||
else registration.last_degree,
|
||||
|
@ -106,9 +106,10 @@ class StudentRegistrationForm(forms.ModelForm):
|
||||
|
||||
class Meta:
|
||||
model = StudentRegistration
|
||||
fields = ('team', 'student_class', 'birth_date', 'gender', 'address', 'zip_code', 'city', 'phone_number',
|
||||
'school', 'health_issues', 'housing_constraints', 'responsible_name', 'responsible_phone',
|
||||
'responsible_email', 'give_contact_to_animath', 'email_confirmed',)
|
||||
fields = ('team', 'student_class', 'birth_date', 'gender', 'address', 'zip_code', 'city', 'country',
|
||||
'phone_number', 'school', 'health_issues', 'housing_constraints',
|
||||
'responsible_name', 'responsible_phone', 'responsible_email', 'give_contact_to_animath',
|
||||
'email_confirmed',)
|
||||
|
||||
|
||||
class PhotoAuthorizationForm(forms.ModelForm):
|
||||
@ -249,7 +250,7 @@ class CoachRegistrationForm(forms.ModelForm):
|
||||
"""
|
||||
class Meta:
|
||||
model = CoachRegistration
|
||||
fields = ('team', 'gender', 'address', 'zip_code', 'city', 'phone_number',
|
||||
fields = ('team', 'gender', 'address', 'zip_code', 'city', 'country', 'phone_number',
|
||||
'last_degree', 'professional_activity', 'health_issues', 'housing_constraints',
|
||||
'give_contact_to_animath', 'email_confirmed',)
|
||||
|
||||
|
@ -0,0 +1,23 @@
|
||||
# Generated by Django 5.0.6 on 2024-06-07 12:46
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
(
|
||||
"registration",
|
||||
"0013_participantregistration_photo_authorization_final_and_more",
|
||||
),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name="participantregistration",
|
||||
name="country",
|
||||
field=models.CharField(
|
||||
default="France", max_length=255, verbose_name="country"
|
||||
),
|
||||
),
|
||||
]
|
@ -183,6 +183,12 @@ class ParticipantRegistration(Registration):
|
||||
verbose_name=_("city"),
|
||||
)
|
||||
|
||||
country = models.CharField(
|
||||
max_length=255,
|
||||
verbose_name=_("country"),
|
||||
default="France",
|
||||
)
|
||||
|
||||
phone_number = PhoneNumberField(
|
||||
verbose_name=_("phone number"),
|
||||
blank=True,
|
||||
|
@ -48,7 +48,10 @@
|
||||
<dd class="col-sm-6">{{ user_object.registration.get_gender_display }}</dd>
|
||||
|
||||
<dt class="col-sm-6 text-sm-end">{% trans "Address:" %}</dt>
|
||||
<dd class="col-sm-6">{{ user_object.registration.address }}, {{ user_object.registration.zip_code|stringformat:'05d' }} {{ user_object.registration.city }}</dd>
|
||||
<dd class="col-sm-6">
|
||||
{{ user_object.registration.address }},
|
||||
{{ user_object.registration.zip_code|stringformat:'05d' }} {{ user_object.registration.city }} ({{ user_object.registration.country }})
|
||||
</dd>
|
||||
|
||||
<dt class="col-sm-6 text-sm-end">{% trans "Phone number:" %}</dt>
|
||||
<dd class="col-sm-6">{{ user_object.registration.phone_number }}</dd>
|
||||
|
Loading…
Reference in New Issue
Block a user