Indicate if this is a final solution

This commit is contained in:
Yohann D'ANELLO 2021-04-29 15:46:38 +02:00
parent 9e885153c2
commit afde1d35d5
Signed by: ynerant
GPG Key ID: 3A75C55819C8CF85
2 changed files with 223 additions and 53 deletions

View File

@ -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):

View File

@ -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"