From 6b698c95cc1538ad3bf5f66feeaf8280c352297d Mon Sep 17 00:00:00 2001 From: Yohann D'ANELLO Date: Wed, 6 May 2020 00:19:38 +0200 Subject: [PATCH] Send a mail to people in a team --- apps/tournament/views.py | 1 + locale/fr/LC_MESSAGES/django.po | 77 ++++++++++++++------------- templates/tournament/team_detail.html | 6 +++ 3 files changed, 48 insertions(+), 36 deletions(-) diff --git a/apps/tournament/views.py b/apps/tournament/views.py index d5f1f37..b0a4784 100644 --- a/apps/tournament/views.py +++ b/apps/tournament/views.py @@ -165,6 +165,7 @@ class TeamDetailView(LoginRequiredMixin, DetailView): context = super().get_context_data(**kwargs) context["title"] = _("Information about team") + context["team_users_emails"] = [user.email for user in self.object.users] return context diff --git a/locale/fr/LC_MESSAGES/django.po b/locale/fr/LC_MESSAGES/django.po index cf44c72..e8d3973 100644 --- a/locale/fr/LC_MESSAGES/django.po +++ b/locale/fr/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: TFJM2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-06 00:01+0200\n" +"POT-Creation-Date: 2020-05-06 00:19+0200\n" "PO-Revision-Date: 2020-04-29 02:30+0000\n" "Last-Translator: Yohann D'ANELLO \n" "Language-Team: fr \n" @@ -324,7 +324,8 @@ msgid "Organizers" msgstr "Organisateurs" #: apps/tournament/apps.py:7 apps/tournament/models.py:110 -#: apps/tournament/models.py:147 templates/tournament/pool_detail.html:21 +#: apps/tournament/models.py:147 apps/tournament/tables.py:57 +#: apps/tournament/tables.py:91 templates/tournament/pool_detail.html:21 #: templates/tournament/team_detail.html:21 msgid "tournament" msgstr "tournoi" @@ -563,17 +564,17 @@ msgstr "dates" msgid "From {start:%b %d %Y} to {end:%b %d %Y}" msgstr "Du {start: %d %b %Y} au {end:%d %b %Y}" -#: apps/tournament/tables.py:70 apps/tournament/tables.py:103 -#: templates/tournament/team_detail.html:115 -#: templates/tournament/team_detail.html:123 +#: apps/tournament/tables.py:71 apps/tournament/tables.py:105 +#: templates/tournament/team_detail.html:121 +#: templates/tournament/team_detail.html:129 msgid "Download" msgstr "Télécharger" -#: apps/tournament/tables.py:114 +#: apps/tournament/tables.py:116 msgid "Problems" msgstr "Problèmes" -#: apps/tournament/tables.py:116 +#: apps/tournament/tables.py:118 msgid "Tournament" msgstr "Tournoi" @@ -594,7 +595,7 @@ msgstr "Tournoi de {name}" msgid "Update tournament" msgstr "Modifier le tournoi" -#: apps/tournament/views.py:134 apps/tournament/views.py:222 +#: apps/tournament/views.py:134 apps/tournament/views.py:223 #, python-brace-format msgid "Solutions for team {team}.zip" msgstr "Solutions pour l'équipe {team}.zip" @@ -603,45 +604,45 @@ msgstr "Solutions pour l'équipe {team}.zip" msgid "Information about team" msgstr "Informations sur l'équipe" -#: apps/tournament/views.py:175 +#: apps/tournament/views.py:176 msgid "Update team" msgstr "Modifier l'équipe" -#: apps/tournament/views.py:187 +#: apps/tournament/views.py:188 msgid "Add organizer" msgstr "Ajouter un organisateur" -#: apps/tournament/views.py:206 templates/base.html:108 templates/base.html:126 +#: apps/tournament/views.py:207 templates/base.html:108 templates/base.html:126 #: templates/tournament/pool_detail.html:31 msgid "Solutions" msgstr "Solutions" -#: apps/tournament/views.py:247 +#: apps/tournament/views.py:248 msgid "" "You can't publish your solution anymore. Deadline: {date:%m-%d-%Y %H:%M}." msgstr "" "Vous ne pouvez plus publier vos solutions. Deadline : {date:%d/%m/%Y %H:%M}." -#: apps/tournament/views.py:271 +#: apps/tournament/views.py:272 msgid "All solutions" msgstr "Toutes les solutions" -#: apps/tournament/views.py:290 +#: apps/tournament/views.py:291 #, python-brace-format msgid "Solutions for tournament {tournament}.zip" msgstr "Solutions pour le tournoi {tournament}.zip" -#: apps/tournament/views.py:316 templates/base.html:111 templates/base.html:129 +#: apps/tournament/views.py:317 templates/base.html:111 templates/base.html:129 #: templates/tournament/pool_detail.html:59 msgid "Syntheses" msgstr "Synthèses" -#: apps/tournament/views.py:332 +#: apps/tournament/views.py:333 #, python-brace-format msgid "Syntheses for team {team}.zip" msgstr "Notes de synthèse de l'équipe {team}.zip" -#: apps/tournament/views.py:357 +#: apps/tournament/views.py:358 msgid "" "You can't publish your synthesis anymore for the first round. Deadline: " "{date:%m-%d-%Y %H:%M}." @@ -649,7 +650,7 @@ msgstr "" "Vous ne pouvez plus envoyer vos notes de synthèse pour le premier tour. " "Deadline : {date:%d/%m/%Y %h:%M}." -#: apps/tournament/views.py:363 +#: apps/tournament/views.py:364 msgid "" "You can't publish your synthesis anymore for the second round. Deadline: " "{date:%m-%d-%Y %H:%M}." @@ -657,32 +658,32 @@ msgstr "" "Vous ne pouvez plus envoyer vos notes de synthèse pour le second tour. " "Deadline : {date:%d/%m/%Y %h:%M}." -#: apps/tournament/views.py:389 +#: apps/tournament/views.py:390 msgid "All syntheses" msgstr "Toutes les notes de synthèses" -#: apps/tournament/views.py:408 +#: apps/tournament/views.py:409 #, python-brace-format msgid "Syntheses for tournament {tournament}.zip" msgstr "Notes de synthèse pour le tournoi {tournament}.zip" -#: apps/tournament/views.py:433 templates/base.html:133 +#: apps/tournament/views.py:434 templates/base.html:133 msgid "Pools" msgstr "Poules" -#: apps/tournament/views.py:449 +#: apps/tournament/views.py:450 msgid "Create pool" msgstr "Créer une poule" -#: apps/tournament/views.py:457 +#: apps/tournament/views.py:458 msgid "Pool detail" msgstr "Détails d'une poule" -#: apps/tournament/views.py:486 +#: apps/tournament/views.py:487 msgid "Solutions of a pool.zip" msgstr "Solutions d'une poule.zip" -#: apps/tournament/views.py:502 +#: apps/tournament/views.py:503 msgid "Syntheses of a pool.zip" msgstr "Notes de synthèse d'une poule.zip" @@ -829,7 +830,7 @@ msgid "class" msgstr "classe" #: templates/member/tfjmuser_detail.html:76 -#: templates/tournament/team_detail.html:110 +#: templates/tournament/team_detail.html:116 msgid "Documents" msgstr "Documents" @@ -1033,43 +1034,47 @@ msgstr "encadrants" msgid "participants" msgstr "participants" -#: templates/tournament/team_detail.html:38 +#: templates/tournament/team_detail.html:37 +msgid "Send a mail to people in this team" +msgstr "Envoyer un mail à toutes les personnes de cette équipe" + +#: templates/tournament/team_detail.html:44 msgid "Edit team" msgstr "Modifier l'équipe" -#: templates/tournament/team_detail.html:44 +#: templates/tournament/team_detail.html:50 msgid "Delete team" msgstr "Supprimer l'équipe" -#: templates/tournament/team_detail.html:46 +#: templates/tournament/team_detail.html:52 msgid "Leave this team" msgstr "Quitter l'équipe" -#: templates/tournament/team_detail.html:87 +#: templates/tournament/team_detail.html:93 msgid "The team is waiting about validation." msgstr "L'équipe est en attente de validation" -#: templates/tournament/team_detail.html:94 +#: templates/tournament/team_detail.html:100 msgid "Message addressed to the team:" msgstr "Message adressé à l'équipe :" -#: templates/tournament/team_detail.html:95 +#: templates/tournament/team_detail.html:101 msgid "Message..." msgstr "Message ..." -#: templates/tournament/team_detail.html:100 +#: templates/tournament/team_detail.html:106 msgid "Invalidate team" msgstr "Invalider l'équipe" -#: templates/tournament/team_detail.html:101 +#: templates/tournament/team_detail.html:107 msgid "Validate team" msgstr "Valider l'équipe" -#: templates/tournament/team_detail.html:114 +#: templates/tournament/team_detail.html:120 msgid "Motivation letter:" msgstr "Lettre de motivation :" -#: templates/tournament/team_detail.html:130 +#: templates/tournament/team_detail.html:136 msgid "Download solutions as ZIP" msgstr "Télécharger les solutions en archive ZIP" diff --git a/templates/tournament/team_detail.html b/templates/tournament/team_detail.html index 9e23910..072a30b 100644 --- a/templates/tournament/team_detail.html +++ b/templates/tournament/team_detail.html @@ -32,6 +32,12 @@ + {% if user.is_authenticated and user.admin %} + + {% endif %} + {% if user.admin or user in team.tournament.organizers.all or team == user.team %}