1
0
mirror of https://gitlab.com/animath/si/plateforme.git synced 2025-02-23 07:01:19 +00:00

Compare commits

..

No commits in common. "7a0cb64fb6016e73a4c7f408fbbe7110f1d8fffe" and "2b02c250a24c0028a8207131fa6c20d3d1808761" have entirely different histories.

3 changed files with 77 additions and 95 deletions

View File

@ -17,22 +17,11 @@ class TeamForm(forms.ModelForm):
""" """
Form to create a team, with the name and the trigram,... Form to create a team, with the name and the trigram,...
""" """
def clean_name(self):
if "name" in self.cleaned_data:
name = self.cleaned_data["name"].upper()
if not self.instance.pk and Team.objects.filter(name=name).exists():
raise ValidationError(_("This name is already used."))
return name
def clean_trigram(self): def clean_trigram(self):
if "trigram" in self.cleaned_data: trigram = self.cleaned_data["trigram"].upper()
trigram = self.cleaned_data["trigram"].upper() if not re.match("[A-Z]{3}", trigram):
if not re.match("[A-Z]{3}", trigram): raise ValidationError(_("The trigram must be composed of three uppercase letters."))
raise ValidationError(_("The trigram must be composed of three uppercase letters.")) return trigram
if not self.instance.pk and Team.objects.filter(trigram=trigram).exists():
raise ValidationError(_("This trigram is already used."))
return trigram
class Meta: class Meta:
model = Team model = Team

View File

@ -234,9 +234,8 @@ class TeamDetailView(LoginRequiredMixin, FormMixin, ProcessFormView, DetailView)
""" """
An admin validates the team (or not) An admin validates the team (or not)
""" """
if not self.request.user.registration.is_admin and \ if not self.object.participation.tournament \
(not self.object.participation.tournament or self.request.user.registration not in self.object.participation.tournament.organizers.all():
or self.request.user.registration not in self.object.participation.tournament.organizers.all()):
form.add_error(None, _("You are not an organizer of the tournament.")) form.add_error(None, _("You are not an organizer of the tournament."))
return self.form_invalid(form) return self.form_invalid(form)
elif self.object.participation.valid is not False: elif self.object.participation.valid is not False:

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: 2021-02-07 17:38+0100\n" "POT-Creation-Date: 2021-01-23 21:55+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"
@ -104,59 +104,51 @@ msgstr "Changelog de type \"{action}\" pour le modèle {model} le {timestamp}"
msgid "valid" msgid "valid"
msgstr "valide" msgstr "valide"
#: apps/participation/forms.py:24 #: apps/participation/forms.py:23 apps/participation/models.py:41
msgid "This name is already used."
msgstr "Ce nom est déjà utilisé."
#: apps/participation/forms.py:31 apps/participation/models.py:41
msgid "The trigram must be composed of three uppercase letters." msgid "The trigram must be composed of three uppercase letters."
msgstr "Le trigramme doit être composé de trois lettres majuscules." msgstr "Le trigramme doit être composé de trois lettres majuscules."
#: apps/participation/forms.py:34 #: apps/participation/forms.py:38
msgid "This trigram is already used."
msgstr "Ce trigramme est déjà utilisé."
#: apps/participation/forms.py:49
msgid "No team was found with this access code." msgid "No team was found with this access code."
msgstr "Aucune équipe n'a été trouvée avec ce code d'accès." msgstr "Aucune équipe n'a été trouvée avec ce code d'accès."
#: apps/participation/forms.py:78 apps/participation/forms.py:213 #: apps/participation/forms.py:67 apps/participation/forms.py:202
#: apps/registration/forms.py:117 apps/registration/forms.py:139 #: apps/registration/forms.py:116 apps/registration/forms.py:138
#: apps/registration/forms.py:161 apps/registration/forms.py:215 #: apps/registration/forms.py:160 apps/registration/forms.py:214
msgid "The uploaded file size must be under 2 Mo." msgid "The uploaded file size must be under 2 Mo."
msgstr "Le fichier envoyé doit peser moins de 2 Mo." msgstr "Le fichier envoyé doit peser moins de 2 Mo."
#: apps/participation/forms.py:80 apps/registration/forms.py:119 #: apps/participation/forms.py:69 apps/registration/forms.py:118
#: apps/registration/forms.py:141 apps/registration/forms.py:163 #: apps/registration/forms.py:140 apps/registration/forms.py:162
#: apps/registration/forms.py:217 #: apps/registration/forms.py:216
msgid "The uploaded file must be a PDF, PNG of JPEG file." msgid "The uploaded file must be a PDF, PNG of JPEG file."
msgstr "Le fichier envoyé doit être au format PDF, PNG ou JPEG." msgstr "Le fichier envoyé doit être au format PDF, PNG ou JPEG."
#: apps/participation/forms.py:98 #: apps/participation/forms.py:87
msgid "I engage myself to participate to the whole TFJM²." msgid "I engage myself to participate to the whole TFJM²."
msgstr "Je m'engage à participer à l'intégralité du TFJM²." msgstr "Je m'engage à participer à l'intégralité du TFJM²."
#: apps/participation/forms.py:113 #: apps/participation/forms.py:102
msgid "Message to address to the team:" msgid "Message to address to the team:"
msgstr "Message à adresser à l'équipe :" msgstr "Message à adresser à l'équipe :"
#: apps/participation/forms.py:150 #: apps/participation/forms.py:139
msgid "The uploaded file size must be under 5 Mo." msgid "The uploaded file size must be under 5 Mo."
msgstr "Le fichier envoyé doit peser moins de 5 Mo." msgstr "Le fichier envoyé doit peser moins de 5 Mo."
#: apps/participation/forms.py:152 apps/participation/forms.py:215 #: apps/participation/forms.py:141 apps/participation/forms.py:204
msgid "The uploaded file must be a PDF file." msgid "The uploaded file must be a PDF file."
msgstr "Le fichier envoyé doit être au format PDF." msgstr "Le fichier envoyé doit être au format PDF."
#: apps/participation/forms.py:156 #: apps/participation/forms.py:145
msgid "The PDF file must not have more than 30 pages." msgid "The PDF file must not have more than 30 pages."
msgstr "Le fichier PDF ne doit pas avoir plus de 30 pages." msgstr "Le fichier PDF ne doit pas avoir plus de 30 pages."
#: apps/participation/forms.py:196 #: apps/participation/forms.py:185
msgid "The defender, the opponent and the reporter must be different." msgid "The defender, the opponent and the reporter must be different."
msgstr "Le défenseur, l'opposant et le rapporteur doivent être différents." msgstr "Le défenseur, l'opposant et le rapporteur doivent être différents."
#: apps/participation/forms.py:200 #: apps/participation/forms.py:189
msgid "This defender did not work on this problem." msgid "This defender did not work on this problem."
msgstr "Ce défenseur ne travaille pas sur ce problème." msgstr "Ce défenseur ne travaille pas sur ce problème."
@ -514,12 +506,12 @@ msgstr ""
#: apps/participation/templates/participation/create_team.html:11 #: apps/participation/templates/participation/create_team.html:11
#: apps/participation/templates/participation/tournament_form.html:14 #: apps/participation/templates/participation/tournament_form.html:14
#: tfjm/templates/base.html:234 #: tfjm/templates/base.html:240
msgid "Create" msgid "Create"
msgstr "Créer" msgstr "Créer"
#: apps/participation/templates/participation/join_team.html:11 #: apps/participation/templates/participation/join_team.html:11
#: tfjm/templates/base.html:229 #: tfjm/templates/base.html:235
msgid "Join" msgid "Join"
msgstr "Rejoindre" msgstr "Rejoindre"
@ -537,7 +529,8 @@ msgstr "Rejoindre"
#: 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:153
#: apps/registration/templates/registration/user_detail.html:185 #: apps/registration/templates/registration/user_detail.html:162
#: apps/registration/templates/registration/user_detail.html:190
msgid "Update" msgid "Update"
msgstr "Modifier" msgstr "Modifier"
@ -593,10 +586,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:168 #: apps/registration/templates/registration/user_detail.html:168
#: apps/registration/templates/registration/user_detail.html:173 #: apps/registration/templates/registration/user_detail.html:173
#: apps/registration/templates/registration/user_detail.html:178 #: apps/registration/templates/registration/user_detail.html:178
#: apps/registration/templates/registration/user_detail.html:183
msgid "Upload" msgid "Upload"
msgstr "Téléverser" msgstr "Téléverser"
@ -831,8 +824,8 @@ msgid ""
"Your team must be composed of 4 members and a coach and each member must " "Your team must be composed of 4 members and a coach and each member must "
"upload their authorizations and confirm its email address." "upload their authorizations and confirm its email address."
msgstr "" msgstr ""
"Votre équipe doit être composée d'au moins 4 membres et un encadrant et " "Votre équipe doit être composée d'au moins 4 membres et un encadrant et chaque "
"chaque membre doit envoyer ses autorisations et confirmé son adresse e-mail." "membre doit envoyer ses autorisations et confirmé son adresse e-mail."
#: apps/participation/templates/participation/team_detail.html:146 #: apps/participation/templates/participation/team_detail.html:146
msgid "This team didn't ask for validation yet." msgid "This team didn't ask for validation yet."
@ -859,7 +852,7 @@ msgid "Invalidate"
msgstr "Invalider" msgstr "Invalider"
#: apps/participation/templates/participation/team_detail.html:169 #: apps/participation/templates/participation/team_detail.html:169
#: apps/participation/views.py:324 #: apps/participation/views.py:323
msgid "Upload motivation letter" msgid "Upload motivation letter"
msgstr "Envoyer la lettre de motivation" msgstr "Envoyer la lettre de motivation"
@ -868,7 +861,7 @@ msgid "Update team"
msgstr "Modifier l'équipe" msgstr "Modifier l'équipe"
#: apps/participation/templates/participation/team_detail.html:179 #: apps/participation/templates/participation/team_detail.html:179
#: apps/participation/views.py:425 #: apps/participation/views.py:424
msgid "Leave team" msgid "Leave team"
msgstr "Quitter l'équipe" msgstr "Quitter l'équipe"
@ -877,7 +870,7 @@ msgid "Are you sure that you want to leave this team?"
msgstr "Êtes-vous sûr·e de vouloir quitter cette équipe ?" msgstr "Êtes-vous sûr·e de vouloir quitter cette équipe ?"
#: apps/participation/templates/participation/team_list.html:6 #: apps/participation/templates/participation/team_list.html:6
#: tfjm/templates/base.html:222 #: tfjm/templates/base.html:228
msgid "All teams" msgid "All teams"
msgstr "Toutes les équipes" msgstr "Toutes les équipes"
@ -960,7 +953,7 @@ msgid "Add pool"
msgstr "Ajouter une poule" msgstr "Ajouter une poule"
#: apps/participation/templates/participation/tournament_list.html:6 #: apps/participation/templates/participation/tournament_list.html:6
#: tfjm/templates/base.html:218 #: tfjm/templates/base.html:224
msgid "All tournaments" msgid "All tournaments"
msgstr "Tous les tournois" msgstr "Tous les tournois"
@ -973,7 +966,7 @@ msgid "Back to the team detail"
msgstr "Retour aux détails de l'utilisateur" msgstr "Retour aux détails de l'utilisateur"
#: apps/participation/views.py:43 tfjm/templates/base.html:74 #: apps/participation/views.py:43 tfjm/templates/base.html:74
#: tfjm/templates/base.html:233 #: tfjm/templates/base.html:239
msgid "Create team" msgid "Create team"
msgstr "Créer une équipe" msgstr "Créer une équipe"
@ -986,16 +979,16 @@ msgid "You are already in a team."
msgstr "Vous êtes déjà dans une équipe." msgstr "Vous êtes déjà dans une équipe."
#: apps/participation/views.py:88 tfjm/templates/base.html:79 #: apps/participation/views.py:88 tfjm/templates/base.html:79
#: tfjm/templates/base.html:228 #: tfjm/templates/base.html:234
msgid "Join team" msgid "Join team"
msgstr "Rejoindre une équipe" msgstr "Rejoindre une équipe"
#: apps/participation/views.py:150 apps/participation/views.py:431 #: apps/participation/views.py:150 apps/participation/views.py:430
#: apps/participation/views.py:464 #: apps/participation/views.py:463
msgid "You are not in a team." msgid "You are not in a team."
msgstr "Vous n'êtes pas dans une équipe." msgstr "Vous n'êtes pas dans une équipe."
#: apps/participation/views.py:151 apps/participation/views.py:465 #: apps/participation/views.py:151 apps/participation/views.py:464
msgid "You don't participate, so you don't have any team." msgid "You don't participate, so you don't have any team."
msgstr "Vous ne participez pas, vous n'avez donc pas d'équipe." msgstr "Vous ne participez pas, vous n'avez donc pas d'équipe."
@ -1023,98 +1016,98 @@ msgstr ""
"d'adresse e-mail, soit une autorisation, soit des personnes, soit la lettre " "d'adresse e-mail, soit une autorisation, soit des personnes, soit la lettre "
"de motivation, soit le tournoi n'a pas été choisi." "de motivation, soit le tournoi n'a pas été choisi."
#: apps/participation/views.py:240 #: apps/participation/views.py:239
msgid "You are not an organizer of the tournament." msgid "You are not an organizer of the tournament."
msgstr "Vous n'êtes pas un organisateur du tournoi." msgstr "Vous n'êtes pas un organisateur du tournoi."
#: apps/participation/views.py:243 #: apps/participation/views.py:242
msgid "This team has no pending validation." msgid "This team has no pending validation."
msgstr "L'équipe n'a pas de validation en attente." msgstr "L'équipe n'a pas de validation en attente."
#: apps/participation/views.py:273 #: apps/participation/views.py:272
msgid "You must specify if you validate the registration or not." msgid "You must specify if you validate the registration or not."
msgstr "Vous devez spécifier si vous validez l'inscription ou non." msgstr "Vous devez spécifier si vous validez l'inscription ou non."
#: apps/participation/views.py:304 #: apps/participation/views.py:303
#, python-brace-format #, python-brace-format
msgid "Update team {trigram}" msgid "Update team {trigram}"
msgstr "Mise à jour de l'équipe {trigram}" msgstr "Mise à jour de l'équipe {trigram}"
#: apps/participation/views.py:362 apps/participation/views.py:411 #: apps/participation/views.py:361 apps/participation/views.py:410
#, python-brace-format #, python-brace-format
msgid "Motivation letter of {team}.{ext}" msgid "Motivation letter of {team}.{ext}"
msgstr "Lettre de motivation de {team}.{ext}" msgstr "Lettre de motivation de {team}.{ext}"
#: apps/participation/views.py:392 #: apps/participation/views.py:391
#, python-brace-format #, python-brace-format
msgid "Photo authorization of {participant}.{ext}" msgid "Photo authorization of {participant}.{ext}"
msgstr "Autorisation de droit à l'image de {participant}.{ext}" msgstr "Autorisation de droit à l'image de {participant}.{ext}"
#: apps/participation/views.py:398 #: apps/participation/views.py:397
#, python-brace-format #, python-brace-format
msgid "Parental authorization of {participant}.{ext}" msgid "Parental authorization of {participant}.{ext}"
msgstr "Autorisation parentale de {participant}.{ext}" msgstr "Autorisation parentale de {participant}.{ext}"
#: apps/participation/views.py:405 #: apps/participation/views.py:404
#, python-brace-format #, python-brace-format
msgid "Health sheet of {participant}.{ext}" msgid "Health sheet of {participant}.{ext}"
msgstr "Fiche sanitaire de {participant}.{ext}" msgstr "Fiche sanitaire de {participant}.{ext}"
#: apps/participation/views.py:415 #: apps/participation/views.py:414
#, python-brace-format #, python-brace-format
msgid "Photo authorizations of team {trigram}.zip" msgid "Photo authorizations of team {trigram}.zip"
msgstr "Autorisations de droit à l'image de l'équipe {trigram}.zip" msgstr "Autorisations de droit à l'image de l'équipe {trigram}.zip"
#: apps/participation/views.py:433 #: apps/participation/views.py:432
msgid "The team is already validated or the validation is pending." msgid "The team is already validated or the validation is pending."
msgstr "La validation de l'équipe est déjà faite ou en cours." msgstr "La validation de l'équipe est déjà faite ou en cours."
#: apps/participation/views.py:479 #: apps/participation/views.py:478
msgid "The team is not validated yet." msgid "The team is not validated yet."
msgstr "L'équipe n'est pas encore validée." msgstr "L'équipe n'est pas encore validée."
#: apps/participation/views.py:491 #: apps/participation/views.py:490
#, python-brace-format #, python-brace-format
msgid "Participation of team {trigram}" msgid "Participation of team {trigram}"
msgstr "Participation de l'équipe {trigram}" msgstr "Participation de l'équipe {trigram}"
#: apps/participation/views.py:580 #: apps/participation/views.py:579
msgid "You can't upload a solution after the deadline." msgid "You can't upload a solution after the deadline."
msgstr "Vous ne pouvez pas envoyer de solution après la date limite." msgstr "Vous ne pouvez pas envoyer de solution après la date limite."
#: apps/participation/views.py:761 #: apps/participation/views.py:760
msgid "You can't upload a synthesis after the deadline." msgid "You can't upload a synthesis after the deadline."
msgstr "Vous ne pouvez pas envoyer de note de synthèse après la date limite." msgstr "Vous ne pouvez pas envoyer de note de synthèse après la date limite."
#: apps/registration/forms.py:22 apps/registration/forms.py:54 #: apps/registration/forms.py:21 apps/registration/forms.py:53
msgid "role" msgid "role"
msgstr "rôle" msgstr "rôle"
#: apps/registration/forms.py:24 #: apps/registration/forms.py:23
msgid "participant" msgid "participant"
msgstr "participant" msgstr "participant"
#: apps/registration/forms.py:25 apps/registration/models.py:259 #: apps/registration/forms.py:24 apps/registration/models.py:259
msgid "coach" msgid "coach"
msgstr "encadrant" msgstr "encadrant"
#: apps/registration/forms.py:35 apps/registration/forms.py:68 #: apps/registration/forms.py:34 apps/registration/forms.py:67
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:285 #: apps/registration/forms.py:55 apps/registration/models.py:285
msgid "volunteer" msgid "volunteer"
msgstr "bénévole" msgstr "bénévole"
#: apps/registration/forms.py:57 apps/registration/models.py:304 #: apps/registration/forms.py:56 apps/registration/models.py:304
msgid "admin" msgid "admin"
msgstr "admin" msgstr "admin"
#: apps/registration/forms.py:209 #: apps/registration/forms.py:208
msgid "Pending" msgid "Pending"
msgstr "En attente" msgstr "En attente"
#: apps/registration/forms.py:225 #: apps/registration/forms.py:224
msgid "You must upload your scholarship attestation." msgid "You must upload your scholarship attestation."
msgstr "Vous devez envoyer votre attestation de bourse." msgstr "Vous devez envoyer votre attestation de bourse."
@ -1414,8 +1407,8 @@ msgid "Your password has been set. You may go ahead and log in now."
msgstr "Votre mot de passe a été changé. Vous pouvez désormais vous connecter." msgstr "Votre mot de passe a été changé. Vous pouvez désormais vous connecter."
#: apps/registration/templates/registration/password_reset_complete.html:10 #: apps/registration/templates/registration/password_reset_complete.html:10
#: tfjm/templates/base.html:127 tfjm/templates/base.html:238 #: tfjm/templates/base.html:127 tfjm/templates/base.html:244
#: tfjm/templates/base.html:239 tfjm/templates/registration/login.html:7 #: tfjm/templates/base.html:245 tfjm/templates/registration/login.html:7
#: tfjm/templates/registration/login.html:8 #: tfjm/templates/registration/login.html:8
#: tfjm/templates/registration/login.html:25 #: tfjm/templates/registration/login.html:25
msgid "Log in" msgid "Log in"
@ -1652,7 +1645,7 @@ msgid "valid:"
msgstr "valide :" msgstr "valide :"
#: apps/registration/templates/registration/user_detail.html:136 #: apps/registration/templates/registration/user_detail.html:136
#: apps/registration/templates/registration/user_detail.html:184 #: apps/registration/templates/registration/user_detail.html:189
msgid "Update payment" msgid "Update payment"
msgstr "Modifier le paiement" msgstr "Modifier le paiement"
@ -1664,18 +1657,22 @@ msgstr "Télécharger l'attestation de bourse"
msgid "Impersonate" msgid "Impersonate"
msgstr "Impersonifier" msgstr "Impersonifier"
#: apps/registration/templates/registration/user_detail.html:162 #: apps/registration/templates/registration/user_detail.html:161
msgid "Update user"
msgstr "Modifier l'utilisateur"
#: apps/registration/templates/registration/user_detail.html:167
#: apps/registration/views.py:313 #: apps/registration/views.py:313
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:172
#: apps/registration/views.py:334 #: apps/registration/views.py:334
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:177 #: apps/registration/templates/registration/user_detail.html:177
#: apps/registration/templates/registration/user_detail.html:182
#: apps/registration/views.py:355 #: apps/registration/views.py:355
msgid "Upload parental authorization" msgid "Upload parental authorization"
msgstr "Téléverser l'autorisation parentale" msgstr "Téléverser l'autorisation parentale"
@ -1714,22 +1711,22 @@ msgstr "Détails de l'utilisateur {user}"
msgid "Update user {user}" msgid "Update user {user}"
msgstr "Mise à jour de l'utilisateur {user}" msgstr "Mise à jour de l'utilisateur {user}"
#: apps/registration/views.py:461 #: apps/registration/views.py:459
#, python-brace-format #, python-brace-format
msgid "Photo authorization of {student}.{ext}" msgid "Photo authorization of {student}.{ext}"
msgstr "Autorisation de droit à l'image de {student}.{ext}" msgstr "Autorisation de droit à l'image de {student}.{ext}"
#: apps/registration/views.py:484 #: apps/registration/views.py:482
#, python-brace-format #, python-brace-format
msgid "Health sheet of {student}.{ext}" msgid "Health sheet of {student}.{ext}"
msgstr "Fiche sanitaire de {student}.{ext}" msgstr "Fiche sanitaire de {student}.{ext}"
#: apps/registration/views.py:507 #: apps/registration/views.py:505
#, python-brace-format #, python-brace-format
msgid "Parental authorization of {student}.{ext}" msgid "Parental authorization of {student}.{ext}"
msgstr "Autorisation parentale de {student}.{ext}" msgstr "Autorisation parentale de {student}.{ext}"
#: apps/registration/views.py:529 #: apps/registration/views.py:527
#, python-brace-format #, python-brace-format
msgid "Scholarship attestation of {user}.{ext}" msgid "Scholarship attestation of {user}.{ext}"
msgstr "Notification de bourse de {user}.{ext}" msgstr "Notification de bourse de {user}.{ext}"
@ -1854,15 +1851,15 @@ msgstr ""
"avez reçu par mail. Vous pouvez renvoyer un mail en cliquant sur <a href=" "avez reçu par mail. Vous pouvez renvoyer un mail en cliquant sur <a href="
"\"%(send_email_url)s\">ce lien</a>." "\"%(send_email_url)s\">ce lien</a>."
#: tfjm/templates/base.html:183 #: tfjm/templates/base.html:189
msgid "Contact us" msgid "Contact us"
msgstr "Nous contacter" msgstr "Nous contacter"
#: tfjm/templates/base.html:202 #: tfjm/templates/base.html:208
msgid "About" msgid "About"
msgstr "À propos" msgstr "À propos"
#: tfjm/templates/base.html:225 #: tfjm/templates/base.html:231
msgid "Search results" msgid "Search results"
msgstr "Résultats de la recherche" msgstr "Résultats de la recherche"
@ -1898,6 +1895,3 @@ msgstr "Résultats"
#: tfjm/templates/search/search.html:25 #: tfjm/templates/search/search.html:25
msgid "No results found." msgid "No results found."
msgstr "Aucun résultat." msgstr "Aucun résultat."
#~ msgid "Update user"
#~ msgstr "Modifier l'utilisateur"