From cf92c78d0343b0c92d37952d9ce78281acbbf6b7 Mon Sep 17 00:00:00 2001 From: Emmy D'Anello Date: Fri, 7 Jun 2024 16:03:42 +0200 Subject: [PATCH] Store round dates Signed-off-by: Emmy D'Anello --- locale/fr/LC_MESSAGES/django.po | 257 +++++++++--------- participation/forms.py | 1 + ...16_tournament_date_first_phase_and_more.py | 35 +++ participation/models.py | 15 + .../templates/participation/tex/finale.tex | 2 +- 5 files changed, 188 insertions(+), 122 deletions(-) create mode 100644 participation/migrations/0016_tournament_date_first_phase_and_more.py diff --git a/locale/fr/LC_MESSAGES/django.po b/locale/fr/LC_MESSAGES/django.po index 6712a7b..09002f0 100644 --- a/locale/fr/LC_MESSAGES/django.po +++ b/locale/fr/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: TFJM\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-07 15:49+0200\n" +"POT-Creation-Date: 2024-06-07 16:01+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Emmy D'Anello \n" "Language-Team: LANGUAGE \n" @@ -78,8 +78,8 @@ msgstr "Type de permission nécessaire pour écrire un message dans un canal." #: chat/models.py:62 draw/admin.py:53 draw/admin.py:71 draw/admin.py:88 #: draw/models.py:26 participation/admin.py:79 participation/admin.py:140 -#: participation/admin.py:171 participation/models.py:704 -#: participation/models.py:728 participation/models.py:989 +#: participation/admin.py:171 participation/models.py:719 +#: participation/models.py:743 participation/models.py:1004 #: registration/models.py:762 #: registration/templates/registration/payment_form.html:53 msgid "tournament" @@ -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:1492 participation/models.py:1501 +#: participation/models.py:1507 participation/models.py:1516 #: participation/tables.py:84 msgid "pool" msgstr "poule" @@ -109,7 +109,7 @@ msgstr "" #: chat/models.py:84 draw/templates/draw/tournament_content.html:277 #: participation/admin.py:167 participation/models.py:253 -#: participation/models.py:719 +#: participation/models.py:734 #: participation/templates/participation/tournament_harmonize.html:15 #: registration/models.py:157 registration/models.py:753 #: registration/tables.py:39 @@ -260,7 +260,7 @@ msgid "teams" msgstr "équipes" #: draw/admin.py:92 draw/models.py:234 draw/models.py:448 -#: participation/models.py:993 +#: participation/models.py:1008 msgid "round" msgstr "tour" @@ -402,7 +402,7 @@ msgstr "La poule en cours, où les équipes choisissent leurs problèmes" msgid "rounds" msgstr "tours" -#: draw/models.py:257 participation/models.py:1001 +#: draw/models.py:257 participation/models.py:1016 msgid "letter" msgstr "lettre" @@ -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:1493 +#: draw/models.py:430 participation/models.py:1508 msgid "pools" msgstr "poules" -#: draw/models.py:442 participation/models.py:979 participation/models.py:1642 -#: participation/models.py:1672 participation/models.py:1714 +#: draw/models.py:442 participation/models.py:994 participation/models.py:1657 +#: participation/models.py:1687 participation/models.py:1729 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:1515 -#: participation/models.py:1679 +#: draw/models.py:479 draw/models.py:502 participation/models.py:1530 +#: participation/models.py:1694 #, python-brace-format msgid "Problem #{problem}" msgstr "Problème n°{problem}" @@ -681,26 +681,26 @@ msgstr "Changelog de type \"{action}\" pour le modèle {model} le {timestamp}" msgid "valid" msgstr "valide" -#: participation/admin.py:87 participation/models.py:740 +#: participation/admin.py:87 participation/models.py:755 msgid "selected for final" msgstr "sélectionnée pour la finale" #: participation/admin.py:124 participation/admin.py:183 -#: participation/models.py:1522 participation/tables.py:112 +#: participation/models.py:1537 participation/tables.py:112 msgid "defender" msgstr "défenseur⋅se" -#: participation/admin.py:128 participation/models.py:1529 -#: participation/models.py:1726 +#: participation/admin.py:128 participation/models.py:1544 +#: participation/models.py:1741 msgid "opponent" msgstr "opposant⋅e" -#: participation/admin.py:132 participation/models.py:1536 -#: participation/models.py:1727 +#: participation/admin.py:132 participation/models.py:1551 +#: participation/models.py:1742 msgid "reporter" msgstr "rapporteur⋅rice" -#: participation/admin.py:187 participation/models.py:1677 +#: participation/admin.py:187 participation/models.py:1692 msgid "problem" msgstr "numéro de problème" @@ -724,7 +724,7 @@ msgstr "Aucune équipe n'a été trouvée avec ce code d'accès." msgid "The team is already validated or the validation is pending." msgstr "La validation de l'équipe est déjà faite ou en cours." -#: participation/forms.py:88 participation/forms.py:354 +#: participation/forms.py:88 participation/forms.py:355 #: registration/forms.py:123 registration/forms.py:145 #: registration/forms.py:167 registration/forms.py:189 #: registration/forms.py:211 registration/forms.py:233 @@ -748,31 +748,31 @@ msgstr "Je m'engage à participer à l'intégralité du TFJM²." msgid "Message to address to the team:" msgstr "Message à adresser à l'équipe :" -#: participation/forms.py:164 +#: participation/forms.py:165 msgid "The uploaded file size must be under 5 Mo." msgstr "Le fichier envoyé doit peser moins de 5 Mo." -#: participation/forms.py:166 participation/forms.py:356 +#: participation/forms.py:167 participation/forms.py:357 msgid "The uploaded file must be a PDF file." msgstr "Le fichier envoyé doit être au format PDF." -#: participation/forms.py:170 +#: participation/forms.py:171 msgid "The PDF file must not have more than 30 pages." msgstr "Le fichier PDF ne doit pas avoir plus de 30 pages." -#: participation/forms.py:224 +#: participation/forms.py:225 msgid "Add" msgstr "Ajouter" -#: participation/forms.py:239 +#: participation/forms.py:240 msgid "This user already exists, but is a participant." msgstr "Cet⋅te utilisateur⋅rice existe déjà, mais en tant que participant⋅e." -#: participation/forms.py:250 +#: participation/forms.py:251 msgid "Spreadsheet file:" msgstr "Fichier tableur :" -#: participation/forms.py:276 +#: participation/forms.py:277 msgid "" "This file contains non-UTF-8 and non-ISO-8859-1 content. Please send your " "sheet as a CSV file." @@ -780,24 +780,24 @@ msgstr "" "Ce fichier contient des éléments non-UTF-8 et non-ISO-8859-1. Merci " "d'envoyer votre tableur au format CSV." -#: participation/forms.py:315 +#: participation/forms.py:316 msgid "The following note is higher of the maximum expected value:" msgstr "La note suivante est supérieure au maximum attendu :" -#: participation/forms.py:321 +#: participation/forms.py:322 msgid "The following user was not found:" msgstr "L'utilisateur⋅rice suivant n'a pas été trouvé :" -#: participation/forms.py:337 +#: participation/forms.py:338 msgid "The defender, the opponent and the reporter must be different." msgstr "" "Les équipes défenseuse, opposante et rapportrice doivent être différent⋅es." -#: participation/forms.py:341 +#: participation/forms.py:342 msgid "This defender did not work on this problem." msgstr "Ce⋅tte défenseur⋅se ne travaille pas sur ce problème." -#: participation/forms.py:360 +#: participation/forms.py:361 msgid "The PDF file must not have more than 2 pages." msgstr "Le fichier PDF ne doit pas avoir plus de 2 pages." @@ -992,74 +992,89 @@ msgid "random draw for solutions" msgstr "tirage au sort des solutions" #: participation/models.py:314 +msgid "first phase date" +msgstr "date du premier tour" + +#: participation/models.py:319 msgid "limit date to upload the syntheses for the first phase" msgstr "date limite pour envoyer les notes de synthèses pour la première phase" -#: participation/models.py:319 -msgid "check this case when solutions for the second round become available" -msgstr "cocher la case lorsque les solutions pour le second tour sont accessibles" - #: participation/models.py:324 +msgid "first second date" +msgstr "date du second tour" + +#: participation/models.py:329 +msgid "check this case when solutions for the second round become available" +msgstr "" +"cocher la case lorsque les solutions pour le second tour sont accessibles" + +#: participation/models.py:334 msgid "limit date to upload the syntheses for the second phase" msgstr "date limite d'envoi des notes de synthèse pour la seconde phase" -#: participation/models.py:329 -msgid "check this case when solutions for the third round become available" -msgstr "cocher la case lorsque les solutions pour le second tour sont accessibles" - -#: participation/models.py:334 -msgid "limit date to upload the syntheses for the third phase" -msgstr "date limite pour envoyer les notes de synthèses pour la troisième phase" - #: participation/models.py:339 +msgid "third phase date" +msgstr "date du troisième tour" + +#: participation/models.py:344 +msgid "check this case when solutions for the third round become available" +msgstr "" +"cocher la case lorsque les solutions pour le second tour sont accessibles" + +#: participation/models.py:349 +msgid "limit date to upload the syntheses for the third phase" +msgstr "" +"date limite pour envoyer les notes de synthèses pour la troisième phase" + +#: participation/models.py:354 #: participation/templates/participation/tournament_detail.html:50 msgid "description" msgstr "description" -#: participation/models.py:345 +#: participation/models.py:360 #: participation/templates/participation/tournament_detail.html:12 msgid "organizers" msgstr "organisateur⋅rices" -#: participation/models.py:350 +#: participation/models.py:365 #: participation/templates/participation/team_detail.html:161 msgid "final" msgstr "finale" -#: participation/models.py:358 +#: participation/models.py:373 msgid "Google Sheet ID" msgstr "ID de la feuille Google Sheets" -#: participation/models.py:705 registration/admin.py:125 +#: participation/models.py:720 registration/admin.py:125 msgid "tournaments" msgstr "tournois" -#: participation/models.py:734 +#: participation/models.py:749 msgid "valid team" msgstr "équipe valide" -#: participation/models.py:735 +#: participation/models.py:750 msgid "The participation got the validation of the organizers." msgstr "La participation a été validée par les organisateur⋅rices." -#: participation/models.py:741 +#: participation/models.py:756 msgid "The team is selected for the final tournament." msgstr "L'équipe est sélectionnée pour la finale." -#: participation/models.py:745 +#: participation/models.py:760 msgid "mention" msgstr "mention" -#: participation/models.py:752 +#: participation/models.py:767 msgid "mention (final)" msgstr "Mention (pour la finale) :" -#: participation/models.py:762 +#: participation/models.py:777 #, python-brace-format msgid "Participation of the team {name} ({trigram})" msgstr "Participation de l'équipe {name} ({trigram})" -#: participation/models.py:769 +#: participation/models.py:784 #, python-brace-format msgid "" "

The team {trigram} has {nb_missing_payments} missing payments. Each " @@ -1072,11 +1087,11 @@ msgstr "" "notification de bourse) pour participer au tournoi.

Les participant⋅es " "qui n'ont pas encore payé sont : {participants}.

" -#: participation/models.py:777 +#: participation/models.py:792 msgid "Missing payments" msgstr "Paiements manquants" -#: participation/models.py:794 +#: participation/models.py:809 msgid "" "

The solutions for the tournament of {tournament} are due on the {date:%Y-" "%m-%d %H:%M}.

You have currently sent {nb_solutions} " @@ -1091,11 +1106,11 @@ msgstr "" "pouvez envoyer vos solutions sur votre page de " "participation.

" -#: participation/models.py:804 participation/models.py:818 +#: participation/models.py:819 participation/models.py:833 msgid "Solutions due" msgstr "Rendu des solutions" -#: participation/models.py:810 +#: participation/models.py:825 msgid "" "

The solutions for the tournament of {tournament} are due on the {date:%Y-" "%m-%d %H:%M}.

Remember that you can only fix minor changes to your " @@ -1108,7 +1123,7 @@ msgstr "" "parties.

Vous pouvez envoyer vos solutions sur votre " "page de participation.

" -#: participation/models.py:824 registration/models.py:606 +#: participation/models.py:839 registration/models.py:606 msgid "" "

The draw of the solutions for the tournament {tournament} is planned on " "the {date:%Y-%m-%d %H:%M}. You can join it on this link." @@ -1118,11 +1133,11 @@ msgstr "" "{date:%d/%m/%Y %H:%M}. Vous pouvez y participer sur ce lien.

" -#: participation/models.py:830 registration/models.py:613 +#: participation/models.py:845 registration/models.py:613 msgid "Draw of solutions" msgstr "Tirage au sort des solutions" -#: participation/models.py:840 +#: participation/models.py:855 #, python-brace-format msgid "" "

The solutions draw is ended. You can check the result on votre solution du problème " "{problem}.

" -#: participation/models.py:849 participation/models.py:891 -#: participation/models.py:934 +#: participation/models.py:864 participation/models.py:906 +#: participation/models.py:949 #, python-brace-format msgid "" "

You will oppose the solution of the team {opponent} on the problème {problem}. Vous pouvez envoyer votre note " "de synthèse sur cette page.

" -#: participation/models.py:858 participation/models.py:900 -#: participation/models.py:943 +#: participation/models.py:873 participation/models.py:915 +#: participation/models.py:958 #, python-brace-format msgid "" "

You will report the solution of the team {reporter} on the problème {problem}. Vous pouvez envoyer votre note " "de synthèse sur cette page.

" -#: participation/models.py:874 registration/models.py:628 +#: participation/models.py:889 registration/models.py:628 msgid "First round" msgstr "Premier tour" -#: participation/models.py:884 +#: participation/models.py:899 #, python-brace-format msgid "" "

For the second round, you will defend your " @@ -1171,12 +1186,12 @@ msgstr "" "

Pour le second tour, vous défendrez votre " "solution du problème {problem}.

" -#: participation/models.py:916 participation/models.py:959 +#: participation/models.py:931 participation/models.py:974 #: registration/models.py:639 msgid "Second round" msgstr "Second tour" -#: participation/models.py:927 +#: participation/models.py:942 #, python-brace-format msgid "" "

For the third round, you will defend your " @@ -1185,7 +1200,7 @@ msgstr "" "

Pour le troisième tour, vous défendrez votre " "solution du problème {problem}.

" -#: participation/models.py:965 +#: participation/models.py:980 #, python-brace-format msgid "" "

The tournament {tournament} is ended. You can check the results on the Le tournoi {tournament} est terminé. Vous pouvez consulter les résultats " "sur la page du tournoi.

" -#: participation/models.py:970 +#: participation/models.py:985 msgid "Tournament ended" msgstr "Tournoi terminé" -#: participation/models.py:980 participation/models.py:1023 +#: participation/models.py:995 participation/models.py:1038 msgid "participations" msgstr "participations" -#: participation/models.py:995 participation/models.py:996 -#: participation/models.py:997 +#: participation/models.py:1010 participation/models.py:1011 +#: participation/models.py:1012 #, python-brace-format msgid "Round {round}" msgstr "Tour {round}" -#: participation/models.py:1011 +#: participation/models.py:1026 msgid "room" msgstr "salle" -#: participation/models.py:1013 +#: participation/models.py:1028 msgid "Room 1" msgstr "Salle 1" -#: participation/models.py:1014 +#: participation/models.py:1029 msgid "Room 2" msgstr "Salle 2" -#: participation/models.py:1017 +#: participation/models.py:1032 msgid "For 5-teams pools only" msgstr "Pour les poules de 5 équipe uniquement" -#: participation/models.py:1029 +#: participation/models.py:1044 msgid "juries" msgstr "jurys" -#: participation/models.py:1038 +#: participation/models.py:1053 msgid "president of the jury" msgstr "président⋅e du jury" -#: participation/models.py:1045 +#: participation/models.py:1060 msgid "BigBlueButton URL" msgstr "Lien BigBlueButton" -#: participation/models.py:1046 +#: participation/models.py:1061 msgid "The link of the BBB visio for this pool." msgstr "Le lien du salon BBB pour cette poule." -#: participation/models.py:1051 +#: participation/models.py:1066 msgid "results available" msgstr "résultats disponibles" -#: participation/models.py:1052 +#: participation/models.py:1067 msgid "" "Check this case when results become accessible to teams. They stay " "accessible to you. Only averages are given." @@ -1253,33 +1268,33 @@ msgstr "" "Ils restent toujours accessibles pour vous. Seules les moyennes sont " "communiquées." -#: participation/models.py:1084 +#: participation/models.py:1099 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:1473 +#: participation/models.py:1488 #, 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:1486 +#: participation/models.py:1501 #, 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:1506 +#: participation/models.py:1521 msgid "position" msgstr "position" -#: participation/models.py:1513 +#: participation/models.py:1528 msgid "defended solution" msgstr "solution défendue" -#: participation/models.py:1541 +#: participation/models.py:1556 msgid "penalties" msgstr "pénalités" -#: participation/models.py:1543 +#: participation/models.py:1558 msgid "" "Number of penalties for the defender. The defender will loose a 0.5 " "coefficient per penalty." @@ -1287,120 +1302,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:1612 participation/models.py:1615 -#: participation/models.py:1618 +#: participation/models.py:1627 participation/models.py:1630 +#: participation/models.py:1633 #, 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:1623 +#: participation/models.py:1638 #, python-brace-format msgid "Passage of {defender} for problem {problem}" msgstr "Passage de {defender} pour le problème {problem}" -#: participation/models.py:1627 participation/models.py:1636 -#: participation/models.py:1721 participation/models.py:1763 +#: participation/models.py:1642 participation/models.py:1651 +#: participation/models.py:1736 participation/models.py:1778 msgid "passage" msgstr "passage" -#: participation/models.py:1628 +#: participation/models.py:1643 msgid "passages" msgstr "passages" -#: participation/models.py:1647 +#: participation/models.py:1662 msgid "difference" msgstr "différence" -#: participation/models.py:1648 +#: participation/models.py:1663 msgid "Score to add/remove on the final score" msgstr "Score à ajouter/retrancher au score final" -#: participation/models.py:1655 +#: participation/models.py:1670 msgid "tweak" msgstr "harmonisation" -#: participation/models.py:1656 +#: participation/models.py:1671 msgid "tweaks" msgstr "harmonisations" -#: participation/models.py:1684 +#: participation/models.py:1699 msgid "solution for the final tournament" msgstr "solution pour la finale" -#: participation/models.py:1689 participation/models.py:1732 +#: participation/models.py:1704 participation/models.py:1747 msgid "file" msgstr "fichier" -#: participation/models.py:1699 +#: participation/models.py:1714 #, 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:1701 +#: participation/models.py:1716 msgid "for final" msgstr "pour la finale" -#: participation/models.py:1704 +#: participation/models.py:1719 msgid "solution" msgstr "solution" -#: participation/models.py:1705 +#: participation/models.py:1720 msgid "solutions" msgstr "solutions" -#: participation/models.py:1738 +#: participation/models.py:1753 #, 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:1746 +#: participation/models.py:1761 msgid "synthesis" msgstr "note de synthèse" -#: participation/models.py:1747 +#: participation/models.py:1762 msgid "syntheses" msgstr "notes de synthèse" -#: participation/models.py:1756 +#: participation/models.py:1771 msgid "jury" msgstr "jury" -#: participation/models.py:1768 +#: participation/models.py:1783 msgid "defender writing note" msgstr "note d'écrit défenseur⋅se" -#: participation/models.py:1774 +#: participation/models.py:1789 msgid "defender oral note" msgstr "note d'oral défenseur⋅se" -#: participation/models.py:1780 +#: participation/models.py:1795 msgid "opponent writing note" msgstr "note d'écrit opposant⋅e" -#: participation/models.py:1786 +#: participation/models.py:1801 msgid "opponent oral note" msgstr "note d'oral opposant⋅e" -#: participation/models.py:1792 +#: participation/models.py:1807 msgid "reporter writing note" msgstr "note d'écrit rapporteur⋅rice" -#: participation/models.py:1798 +#: participation/models.py:1813 msgid "reporter oral note" msgstr "note d'oral du rapporteur⋅rice" -#: participation/models.py:1858 +#: participation/models.py:1873 #, python-brace-format msgid "Notes of {jury} for {passage}" msgstr "Notes de {jury} pour le {passage}" -#: participation/models.py:1861 +#: participation/models.py:1876 msgid "note" msgstr "note" -#: participation/models.py:1862 +#: participation/models.py:1877 msgid "notes" msgstr "notes" diff --git a/participation/forms.py b/participation/forms.py index 098dc98..e216c6b 100644 --- a/participation/forms.py +++ b/participation/forms.py @@ -129,6 +129,7 @@ class TournamentForm(forms.ModelForm): def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) if settings.TFJM_APP != "ETEAM": + del self.fields['date_third_phase'] del self.fields['solutions_available_third_phase'] del self.fields['syntheses_third_phase_limit'] diff --git a/participation/migrations/0016_tournament_date_first_phase_and_more.py b/participation/migrations/0016_tournament_date_first_phase_and_more.py new file mode 100644 index 0000000..7d1aa33 --- /dev/null +++ b/participation/migrations/0016_tournament_date_first_phase_and_more.py @@ -0,0 +1,35 @@ +# Generated by Django 5.0.6 on 2024-06-07 14:01 + +import datetime +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ("participation", "0015_tournament_solutions_available_third_phase_and_more"), + ] + + operations = [ + migrations.AddField( + model_name="tournament", + name="date_first_phase", + field=models.DateField( + default=datetime.date.today, verbose_name="first phase date" + ), + ), + migrations.AddField( + model_name="tournament", + name="date_second_phase", + field=models.DateField( + default=datetime.date.today, verbose_name="first second date" + ), + ), + migrations.AddField( + model_name="tournament", + name="date_third_phase", + field=models.DateField( + default=datetime.date.today, verbose_name="third phase date" + ), + ), + ] diff --git a/participation/models.py b/participation/models.py index f579253..b3538f8 100644 --- a/participation/models.py +++ b/participation/models.py @@ -310,11 +310,21 @@ class Tournament(models.Model): default=timezone.now, ) + date_first_phase = models.DateField( + verbose_name=_("first phase date"), + default=date.today, + ) + syntheses_first_phase_limit = models.DateTimeField( verbose_name=_("limit date to upload the syntheses for the first phase"), default=timezone.now, ) + date_second_phase = models.DateField( + verbose_name=_("first second date"), + default=date.today, + ) + solutions_available_second_phase = models.BooleanField( verbose_name=_("check this case when solutions for the second round become available"), default=False, @@ -325,6 +335,11 @@ class Tournament(models.Model): default=timezone.now, ) + date_third_phase = models.DateField( + verbose_name=_("third phase date"), + default=date.today, + ) + solutions_available_third_phase = models.BooleanField( verbose_name=_("check this case when solutions for the third round become available"), default=False, diff --git a/participation/templates/participation/tex/finale.tex b/participation/templates/participation/tex/finale.tex index 2fa769f..ad4036d 100644 --- a/participation/templates/participation/tex/finale.tex +++ b/participation/templates/participation/tex/finale.tex @@ -37,7 +37,7 @@ \Large {\bf \tfjmedition$^{e}$ Tournoi Fran\c cais des Jeunes Math\'ematiciennes et Math\'ematiciens \tfjm}\\ \vspace{3mm} -Tour {{ pool.round }} \;-- Poule {{ pool.get_letter_display }}{% if pool.participations.count == 5 %} \;-- {{ pool.get_room_display }}{% endif %} \;-- {% if pool.round == 1 %}{{ pool.tournament.date_start }}{% else %}{{ pool.tournament.date_end }}{% endif %} +Tour {{ pool.round }} \;-- Poule {{ pool.get_letter_display }}{% if pool.participations.count == 5 %} \;-- {{ pool.get_room_display }}{% endif %} \;-- {% if pool.round == 1 %}{{ pool.tournament.date_first_phase }}{% elif pool.round == 2 %}{{ pool.tournament.date_second_phase }}{% else %}{{ pool.tournament.date_third_phase }}{% endif %} \vspace{15mm}