Indicate if this is a final solution
This commit is contained in:
parent
9e885153c2
commit
afde1d35d5
|
@ -560,13 +560,14 @@ class Solution(models.Model):
|
|||
|
||||
def __str__(self):
|
||||
return _("Solution of team {team} for problem {problem}")\
|
||||
.format(team=self.participation.team.name, problem=self.problem)
|
||||
.format(team=self.participation.team.name, problem=self.problem)\
|
||||
+ (" " + _("for final") if self.final_solution else "")
|
||||
|
||||
class Meta:
|
||||
verbose_name = _("solution")
|
||||
verbose_name_plural = _("solutions")
|
||||
unique_together = (('participation', 'problem', 'final_solution', ), )
|
||||
ordering = ('participation__team__trigram', 'problem',)
|
||||
ordering = ('participation__team__trigram', 'final_solution', 'problem',)
|
||||
|
||||
|
||||
class Synthesis(models.Model):
|
||||
|
|
|
@ -7,7 +7,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: TFJM\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-04-10 10:02+0200\n"
|
||||
"POT-Creation-Date: 2021-04-29 15:45+0200\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: Yohann D'ANELLO <yohann.danello@animath.fr>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
@ -287,7 +287,7 @@ msgid "Participation of the team {name} ({trigram})"
|
|||
msgstr "Participation de l'équipe {name} ({trigram})"
|
||||
|
||||
#: apps/participation/models.py:331 apps/participation/models.py:537
|
||||
#: apps/participation/models.py:575
|
||||
#: apps/participation/models.py:577
|
||||
msgid "participation"
|
||||
msgstr "participation"
|
||||
|
||||
|
@ -359,11 +359,11 @@ msgstr "Problème n°{problem}"
|
|||
msgid "defender"
|
||||
msgstr "défenseur"
|
||||
|
||||
#: apps/participation/models.py:431 apps/participation/models.py:587
|
||||
#: apps/participation/models.py:431 apps/participation/models.py:589
|
||||
msgid "opponent"
|
||||
msgstr "opposant"
|
||||
|
||||
#: apps/participation/models.py:438 apps/participation/models.py:588
|
||||
#: apps/participation/models.py:438 apps/participation/models.py:590
|
||||
msgid "reporter"
|
||||
msgstr "rapporteur"
|
||||
|
||||
|
@ -390,8 +390,8 @@ msgstr "L'équipe {trigram} n'est pas inscrite dans la poule."
|
|||
msgid "Passage of {defender} for problem {problem}"
|
||||
msgstr "Passage de {defender} pour le problème {problem}"
|
||||
|
||||
#: apps/participation/models.py:520 apps/participation/models.py:582
|
||||
#: apps/participation/models.py:625
|
||||
#: apps/participation/models.py:520 apps/participation/models.py:584
|
||||
#: apps/participation/models.py:628
|
||||
msgid "passage"
|
||||
msgstr "passage"
|
||||
|
||||
|
@ -407,7 +407,7 @@ msgstr "numéro de problème"
|
|||
msgid "solution for the final tournament"
|
||||
msgstr "solution pour la finale"
|
||||
|
||||
#: apps/participation/models.py:554 apps/participation/models.py:593
|
||||
#: apps/participation/models.py:554 apps/participation/models.py:595
|
||||
msgid "file"
|
||||
msgstr "fichier"
|
||||
|
||||
|
@ -416,67 +416,71 @@ msgstr "fichier"
|
|||
msgid "Solution of team {team} for problem {problem}"
|
||||
msgstr "Solution de l'équipe {team} pour le problème {problem}"
|
||||
|
||||
#: apps/participation/models.py:566
|
||||
#: apps/participation/models.py:564
|
||||
msgid "for final"
|
||||
msgstr "pour la finale"
|
||||
|
||||
#: apps/participation/models.py:567
|
||||
msgid "solution"
|
||||
msgstr "solution"
|
||||
|
||||
#: apps/participation/models.py:567
|
||||
#: apps/participation/models.py:568
|
||||
msgid "solutions"
|
||||
msgstr "solutions"
|
||||
|
||||
#: apps/participation/models.py:601
|
||||
#: apps/participation/models.py:603
|
||||
#, 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}"
|
||||
|
||||
#: apps/participation/models.py:609
|
||||
#: apps/participation/models.py:611
|
||||
msgid "synthesis"
|
||||
msgstr "note de synthèse"
|
||||
|
||||
#: apps/participation/models.py:610
|
||||
#: apps/participation/models.py:612
|
||||
msgid "syntheses"
|
||||
msgstr "notes de synthèse"
|
||||
|
||||
#: apps/participation/models.py:618
|
||||
#: apps/participation/models.py:621
|
||||
msgid "jury"
|
||||
msgstr "jury"
|
||||
|
||||
#: apps/participation/models.py:630
|
||||
#: apps/participation/models.py:633
|
||||
msgid "defender writing note"
|
||||
msgstr "note d'écrit du défenseur"
|
||||
|
||||
#: apps/participation/models.py:636
|
||||
#: apps/participation/models.py:639
|
||||
msgid "defender oral note"
|
||||
msgstr "note d'oral du défenseur"
|
||||
|
||||
#: apps/participation/models.py:642
|
||||
#: apps/participation/models.py:645
|
||||
msgid "opponent writing note"
|
||||
msgstr "note d'écrit de l'opposant"
|
||||
|
||||
#: apps/participation/models.py:648
|
||||
#: apps/participation/models.py:651
|
||||
msgid "opponent oral note"
|
||||
msgstr "note d'oral de l'opposant"
|
||||
|
||||
#: apps/participation/models.py:654
|
||||
#: apps/participation/models.py:657
|
||||
msgid "reporter writing note"
|
||||
msgstr "not d'écrit du rapporteur"
|
||||
|
||||
#: apps/participation/models.py:660
|
||||
#: apps/participation/models.py:663
|
||||
msgid "reporter oral note"
|
||||
msgstr "note d'oral du rapporteur"
|
||||
|
||||
#: apps/participation/models.py:669
|
||||
#: apps/participation/models.py:672
|
||||
#, python-brace-format
|
||||
msgid "Notes of {jury} for {passage}"
|
||||
msgstr "Notes de {jury} pour le {passage}"
|
||||
|
||||
#: apps/participation/models.py:676
|
||||
#: apps/participation/models.py:679
|
||||
msgid "note"
|
||||
msgstr "note"
|
||||
|
||||
#: apps/participation/models.py:677
|
||||
#: apps/participation/models.py:680
|
||||
msgid "notes"
|
||||
msgstr "notes"
|
||||
|
||||
|
@ -541,12 +545,12 @@ msgstr ""
|
|||
|
||||
#: apps/participation/templates/participation/create_team.html:11
|
||||
#: apps/participation/templates/participation/tournament_form.html:14
|
||||
#: tfjm/templates/base.html:234
|
||||
#: tfjm/templates/base.html:231
|
||||
msgid "Create"
|
||||
msgstr "Créer"
|
||||
|
||||
#: apps/participation/templates/participation/join_team.html:11
|
||||
#: tfjm/templates/base.html:229
|
||||
#: tfjm/templates/base.html:226
|
||||
msgid "Join"
|
||||
msgstr "Rejoindre"
|
||||
|
||||
|
@ -908,7 +912,7 @@ msgid "Are you sure that you want to leave this team?"
|
|||
msgstr "Êtes-vous sûr·e de vouloir quitter cette équipe ?"
|
||||
|
||||
#: apps/participation/templates/participation/team_list.html:6
|
||||
#: tfjm/templates/base.html:222
|
||||
#: tfjm/templates/base.html:219
|
||||
msgid "All teams"
|
||||
msgstr "Toutes les équipes"
|
||||
|
||||
|
@ -974,7 +978,7 @@ msgid "Edit tournament"
|
|||
msgstr "Modifier le tournoi"
|
||||
|
||||
#: apps/participation/templates/participation/tournament_detail.html:71
|
||||
#: tfjm/templates/base.html:68
|
||||
#: tfjm/templates/base.html:65
|
||||
msgid "Teams"
|
||||
msgstr "Équipes"
|
||||
|
||||
|
@ -991,7 +995,7 @@ msgid "Add pool"
|
|||
msgstr "Ajouter une poule"
|
||||
|
||||
#: apps/participation/templates/participation/tournament_list.html:6
|
||||
#: tfjm/templates/base.html:218
|
||||
#: tfjm/templates/base.html:215
|
||||
msgid "All tournaments"
|
||||
msgstr "Tous les tournois"
|
||||
|
||||
|
@ -1007,8 +1011,8 @@ msgstr "Retour aux détails de l'utilisateur"
|
|||
msgid "Templates:"
|
||||
msgstr "Modèles :"
|
||||
|
||||
#: apps/participation/views.py:43 tfjm/templates/base.html:74
|
||||
#: tfjm/templates/base.html:233
|
||||
#: apps/participation/views.py:43 tfjm/templates/base.html:71
|
||||
#: tfjm/templates/base.html:230
|
||||
msgid "Create team"
|
||||
msgstr "Créer une équipe"
|
||||
|
||||
|
@ -1020,8 +1024,8 @@ msgstr "Vous ne participez pas, vous ne pouvez pas créer d'équipe."
|
|||
msgid "You are already in a team."
|
||||
msgstr "Vous êtes déjà dans une équipe."
|
||||
|
||||
#: apps/participation/views.py:88 tfjm/templates/base.html:79
|
||||
#: tfjm/templates/base.html:228
|
||||
#: apps/participation/views.py:88 tfjm/templates/base.html:76
|
||||
#: tfjm/templates/base.html:225
|
||||
msgid "Join team"
|
||||
msgstr "Rejoindre une équipe"
|
||||
|
||||
|
@ -1113,11 +1117,11 @@ msgstr "L'équipe n'est pas encore validée."
|
|||
msgid "Participation of team {trigram}"
|
||||
msgstr "Participation de l'équipe {trigram}"
|
||||
|
||||
#: apps/participation/views.py:579
|
||||
#: apps/participation/views.py:580
|
||||
msgid "You can't upload a solution after the deadline."
|
||||
msgstr "Vous ne pouvez pas envoyer de solution après la date limite."
|
||||
|
||||
#: apps/participation/views.py:765
|
||||
#: apps/participation/views.py:766
|
||||
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."
|
||||
|
||||
|
@ -1449,8 +1453,8 @@ msgid "Your password has been set. You may go ahead and log in now."
|
|||
msgstr "Votre mot de passe a été changé. Vous pouvez désormais vous connecter."
|
||||
|
||||
#: apps/registration/templates/registration/password_reset_complete.html:10
|
||||
#: tfjm/templates/base.html:127 tfjm/templates/base.html:238
|
||||
#: tfjm/templates/base.html:239 tfjm/templates/registration/login.html:7
|
||||
#: tfjm/templates/base.html:124 tfjm/templates/base.html:235
|
||||
#: tfjm/templates/base.html:236 tfjm/templates/registration/login.html:7
|
||||
#: tfjm/templates/registration/login.html:8
|
||||
#: tfjm/templates/registration/login.html:25
|
||||
msgid "Log in"
|
||||
|
@ -1830,55 +1834,55 @@ msgstr ""
|
|||
"avec les détails de l'erreur. Vous pouvez désormais retourner chercher "
|
||||
"d'autres solutions.."
|
||||
|
||||
#: tfjm/templates/base.html:56
|
||||
#: tfjm/templates/base.html:53
|
||||
msgid "Home"
|
||||
msgstr "Accueil"
|
||||
|
||||
#: tfjm/templates/base.html:60
|
||||
#: tfjm/templates/base.html:57
|
||||
msgid "Tournaments"
|
||||
msgstr "Tournois"
|
||||
|
||||
#: tfjm/templates/base.html:65
|
||||
#: tfjm/templates/base.html:62
|
||||
msgid "Users"
|
||||
msgstr "Utilisateurs"
|
||||
|
||||
#: tfjm/templates/base.html:85
|
||||
#: tfjm/templates/base.html:82
|
||||
msgid "My team"
|
||||
msgstr "Mon équipe"
|
||||
|
||||
#: tfjm/templates/base.html:90
|
||||
#: tfjm/templates/base.html:87
|
||||
msgid "My participation"
|
||||
msgstr "Ma participation"
|
||||
|
||||
#: tfjm/templates/base.html:97
|
||||
#: tfjm/templates/base.html:94
|
||||
msgid "Chat"
|
||||
msgstr "Chat"
|
||||
|
||||
#: tfjm/templates/base.html:101
|
||||
#: tfjm/templates/base.html:98
|
||||
msgid "Administration"
|
||||
msgstr "Administration"
|
||||
|
||||
#: tfjm/templates/base.html:109
|
||||
#: tfjm/templates/base.html:106
|
||||
msgid "Search..."
|
||||
msgstr "Chercher ..."
|
||||
|
||||
#: tfjm/templates/base.html:118
|
||||
#: tfjm/templates/base.html:115
|
||||
msgid "Return to admin view"
|
||||
msgstr "Retourner à l'interface administrateur"
|
||||
|
||||
#: tfjm/templates/base.html:123
|
||||
#: tfjm/templates/base.html:120
|
||||
msgid "Register"
|
||||
msgstr "S'inscrire"
|
||||
|
||||
#: tfjm/templates/base.html:139
|
||||
#: tfjm/templates/base.html:136
|
||||
msgid "My account"
|
||||
msgstr "Mon compte"
|
||||
|
||||
#: tfjm/templates/base.html:142
|
||||
#: tfjm/templates/base.html:139
|
||||
msgid "Log out"
|
||||
msgstr "Déconnexion"
|
||||
|
||||
#: tfjm/templates/base.html:159
|
||||
#: tfjm/templates/base.html:156
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Your email address is not validated. Please click on the link you received "
|
||||
|
@ -1889,15 +1893,15 @@ msgstr ""
|
|||
"avez reçu par mail. Vous pouvez renvoyer un mail en cliquant sur <a href="
|
||||
"\"%(send_email_url)s\">ce lien</a>."
|
||||
|
||||
#: tfjm/templates/base.html:183
|
||||
#: tfjm/templates/base.html:180
|
||||
msgid "Contact us"
|
||||
msgstr "Nous contacter"
|
||||
|
||||
#: tfjm/templates/base.html:202
|
||||
#: tfjm/templates/base.html:199
|
||||
msgid "About"
|
||||
msgstr "À propos"
|
||||
|
||||
#: tfjm/templates/base.html:225
|
||||
#: tfjm/templates/base.html:222
|
||||
msgid "Search results"
|
||||
msgstr "Résultats de la recherche"
|
||||
|
||||
|
@ -1933,3 +1937,168 @@ msgstr "Résultats"
|
|||
#: tfjm/templates/search/search.html:25
|
||||
msgid "No results found."
|
||||
msgstr "Aucun résultat."
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "This name is already used."
|
||||
#~ msgid "This field is required."
|
||||
#~ msgstr "Ce nom est déjà utilisé."
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "passages"
|
||||
#~ msgid "Messages"
|
||||
#~ msgstr "passages"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "responsible email address"
|
||||
#~ msgid "Enter a valid email address."
|
||||
#~ msgstr "adresse e-mail du responsable légal"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "phone number"
|
||||
#~ msgid "Enter a number."
|
||||
#~ msgstr "numéro de téléphone"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "end"
|
||||
#~ msgid "and"
|
||||
#~ msgstr "fin"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "phone number"
|
||||
#~ msgid "Decimal number"
|
||||
#~ msgstr "numéro de téléphone"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "action"
|
||||
#~ msgid "Duration"
|
||||
#~ msgstr "action"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "address"
|
||||
#~ msgid "Email address"
|
||||
#~ msgstr "adresse"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "phone number"
|
||||
#~ msgid "Floating point number"
|
||||
#~ msgstr "numéro de téléphone"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "IP Address"
|
||||
#~ msgid "IPv4 address"
|
||||
#~ msgstr "Adresse IP"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "IP Address"
|
||||
#~ msgid "IP address"
|
||||
#~ msgstr "Adresse IP"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "phone number"
|
||||
#~ msgid "Enter a whole number."
|
||||
#~ msgstr "numéro de téléphone"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "Not validated"
|
||||
#~ msgid "Enter a valid date."
|
||||
#~ msgstr "Non validée"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "Email validation"
|
||||
#~ msgid "Enter a valid duration."
|
||||
#~ msgstr "Validation de l'adresse mail"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "delete"
|
||||
#~ msgid "Delete"
|
||||
#~ msgstr "supprimer"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "changelog"
|
||||
#~ msgid "Change"
|
||||
#~ msgstr "changelog"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "yes,no,pending"
|
||||
#~ msgid "yes,no,maybe"
|
||||
#~ msgstr "oui,non,en attente"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "end"
|
||||
#~ msgid "Wed"
|
||||
#~ msgstr "fin"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "Search"
|
||||
#~ msgid "March"
|
||||
#~ msgstr "Chercher"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "any"
|
||||
#~ msgid "May"
|
||||
#~ msgstr "aucun·e"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "phone number"
|
||||
#~ msgid "November"
|
||||
#~ msgstr "numéro de téléphone"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "any"
|
||||
#~ msgid "jan"
|
||||
#~ msgstr "aucun·e"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "any"
|
||||
#~ msgid "may"
|
||||
#~ msgstr "aucun·e"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "Search"
|
||||
#~ msgctxt "abbrev. month"
|
||||
#~ msgid "March"
|
||||
#~ msgstr "Chercher"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "any"
|
||||
#~ msgctxt "abbrev. month"
|
||||
#~ msgid "May"
|
||||
#~ msgstr "aucun·e"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "Search"
|
||||
#~ msgctxt "alt. month"
|
||||
#~ msgid "March"
|
||||
#~ msgstr "Chercher"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "any"
|
||||
#~ msgctxt "alt. month"
|
||||
#~ msgid "May"
|
||||
#~ msgstr "aucun·e"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "phone number"
|
||||
#~ msgctxt "alt. month"
|
||||
#~ msgid "November"
|
||||
#~ msgstr "numéro de téléphone"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "The team is not validated yet."
|
||||
#~ msgid "This is not a valid IPv6 address."
|
||||
#~ msgstr "L'équipe n'est pas encore validée."
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "Search"
|
||||
#~ msgid "Search In"
|
||||
#~ msgstr "Chercher"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "Search results"
|
||||
#~ msgid "Search Queries"
|
||||
#~ msgstr "Résultats de la recherche"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "Contact us"
|
||||
#~ msgid "Contents"
|
||||
#~ msgstr "Nous contacter"
|
||||
|
|
Loading…
Reference in New Issue