1
0
mirror of https://gitlab.com/animath/si/plateforme.git synced 2024-12-25 18:22:23 +00:00

Send a mail to people in a team

This commit is contained in:
Yohann D'ANELLO 2020-05-06 00:19:38 +02:00
parent 03063599a5
commit 6b698c95cc
3 changed files with 48 additions and 36 deletions

View File

@ -165,6 +165,7 @@ class TeamDetailView(LoginRequiredMixin, DetailView):
context = super().get_context_data(**kwargs) context = super().get_context_data(**kwargs)
context["title"] = _("Information about team") context["title"] = _("Information about team")
context["team_users_emails"] = [user.email for user in self.object.users]
return context return context

View File

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: TFJM2\n" "Project-Id-Version: TFJM2\n"
"Report-Msgid-Bugs-To: \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" "PO-Revision-Date: 2020-04-29 02:30+0000\n"
"Last-Translator: Yohann D'ANELLO <yohann.danello@animath.fr>\n" "Last-Translator: Yohann D'ANELLO <yohann.danello@animath.fr>\n"
"Language-Team: fr <LL@li.org>\n" "Language-Team: fr <LL@li.org>\n"
@ -324,7 +324,8 @@ msgid "Organizers"
msgstr "Organisateurs" msgstr "Organisateurs"
#: apps/tournament/apps.py:7 apps/tournament/models.py:110 #: 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 #: templates/tournament/team_detail.html:21
msgid "tournament" msgid "tournament"
msgstr "tournoi" msgstr "tournoi"
@ -563,17 +564,17 @@ msgstr "dates"
msgid "From {start:%b %d %Y} to {end:%b %d %Y}" msgid "From {start:%b %d %Y} to {end:%b %d %Y}"
msgstr "Du {start: %d %b %Y} au {end:%d %b %Y}" msgstr "Du {start: %d %b %Y} au {end:%d %b %Y}"
#: apps/tournament/tables.py:70 apps/tournament/tables.py:103 #: apps/tournament/tables.py:71 apps/tournament/tables.py:105
#: templates/tournament/team_detail.html:115 #: templates/tournament/team_detail.html:121
#: templates/tournament/team_detail.html:123 #: templates/tournament/team_detail.html:129
msgid "Download" msgid "Download"
msgstr "Télécharger" msgstr "Télécharger"
#: apps/tournament/tables.py:114 #: apps/tournament/tables.py:116
msgid "Problems" msgid "Problems"
msgstr "Problèmes" msgstr "Problèmes"
#: apps/tournament/tables.py:116 #: apps/tournament/tables.py:118
msgid "Tournament" msgid "Tournament"
msgstr "Tournoi" msgstr "Tournoi"
@ -594,7 +595,7 @@ msgstr "Tournoi de {name}"
msgid "Update tournament" msgid "Update tournament"
msgstr "Modifier le tournoi" 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 #, python-brace-format
msgid "Solutions for team {team}.zip" msgid "Solutions for team {team}.zip"
msgstr "Solutions pour l'équipe {team}.zip" msgstr "Solutions pour l'équipe {team}.zip"
@ -603,45 +604,45 @@ msgstr "Solutions pour l'équipe {team}.zip"
msgid "Information about team" msgid "Information about team"
msgstr "Informations sur l'équipe" msgstr "Informations sur l'équipe"
#: apps/tournament/views.py:175 #: apps/tournament/views.py:176
msgid "Update team" msgid "Update team"
msgstr "Modifier l'équipe" msgstr "Modifier l'équipe"
#: apps/tournament/views.py:187 #: apps/tournament/views.py:188
msgid "Add organizer" msgid "Add organizer"
msgstr "Ajouter un organisateur" 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 #: templates/tournament/pool_detail.html:31
msgid "Solutions" msgid "Solutions"
msgstr "Solutions" msgstr "Solutions"
#: apps/tournament/views.py:247 #: apps/tournament/views.py:248
msgid "" msgid ""
"You can't publish your solution anymore. Deadline: {date:%m-%d-%Y %H:%M}." "You can't publish your solution anymore. Deadline: {date:%m-%d-%Y %H:%M}."
msgstr "" msgstr ""
"Vous ne pouvez plus publier vos solutions. Deadline : {date:%d/%m/%Y %H:%M}." "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" msgid "All solutions"
msgstr "Toutes les solutions" msgstr "Toutes les solutions"
#: apps/tournament/views.py:290 #: apps/tournament/views.py:291
#, python-brace-format #, python-brace-format
msgid "Solutions for tournament {tournament}.zip" msgid "Solutions for tournament {tournament}.zip"
msgstr "Solutions pour le tournoi {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 #: templates/tournament/pool_detail.html:59
msgid "Syntheses" msgid "Syntheses"
msgstr "Synthèses" msgstr "Synthèses"
#: apps/tournament/views.py:332 #: apps/tournament/views.py:333
#, python-brace-format #, python-brace-format
msgid "Syntheses for team {team}.zip" msgid "Syntheses for team {team}.zip"
msgstr "Notes de synthèse de l'équipe {team}.zip" msgstr "Notes de synthèse de l'équipe {team}.zip"
#: apps/tournament/views.py:357 #: apps/tournament/views.py:358
msgid "" msgid ""
"You can't publish your synthesis anymore for the first round. Deadline: " "You can't publish your synthesis anymore for the first round. Deadline: "
"{date:%m-%d-%Y %H:%M}." "{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. " "Vous ne pouvez plus envoyer vos notes de synthèse pour le premier tour. "
"Deadline : {date:%d/%m/%Y %h:%M}." "Deadline : {date:%d/%m/%Y %h:%M}."
#: apps/tournament/views.py:363 #: apps/tournament/views.py:364
msgid "" msgid ""
"You can't publish your synthesis anymore for the second round. Deadline: " "You can't publish your synthesis anymore for the second round. Deadline: "
"{date:%m-%d-%Y %H:%M}." "{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. " "Vous ne pouvez plus envoyer vos notes de synthèse pour le second tour. "
"Deadline : {date:%d/%m/%Y %h:%M}." "Deadline : {date:%d/%m/%Y %h:%M}."
#: apps/tournament/views.py:389 #: apps/tournament/views.py:390
msgid "All syntheses" msgid "All syntheses"
msgstr "Toutes les notes de synthèses" msgstr "Toutes les notes de synthèses"
#: apps/tournament/views.py:408 #: apps/tournament/views.py:409
#, python-brace-format #, python-brace-format
msgid "Syntheses for tournament {tournament}.zip" msgid "Syntheses for tournament {tournament}.zip"
msgstr "Notes de synthèse pour le tournoi {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" msgid "Pools"
msgstr "Poules" msgstr "Poules"
#: apps/tournament/views.py:449 #: apps/tournament/views.py:450
msgid "Create pool" msgid "Create pool"
msgstr "Créer une poule" msgstr "Créer une poule"
#: apps/tournament/views.py:457 #: apps/tournament/views.py:458
msgid "Pool detail" msgid "Pool detail"
msgstr "Détails d'une poule" msgstr "Détails d'une poule"
#: apps/tournament/views.py:486 #: apps/tournament/views.py:487
msgid "Solutions of a pool.zip" msgid "Solutions of a pool.zip"
msgstr "Solutions d'une poule.zip" msgstr "Solutions d'une poule.zip"
#: apps/tournament/views.py:502 #: apps/tournament/views.py:503
msgid "Syntheses of a pool.zip" msgid "Syntheses of a pool.zip"
msgstr "Notes de synthèse d'une poule.zip" msgstr "Notes de synthèse d'une poule.zip"
@ -829,7 +830,7 @@ msgid "class"
msgstr "classe" msgstr "classe"
#: templates/member/tfjmuser_detail.html:76 #: templates/member/tfjmuser_detail.html:76
#: templates/tournament/team_detail.html:110 #: templates/tournament/team_detail.html:116
msgid "Documents" msgid "Documents"
msgstr "Documents" msgstr "Documents"
@ -1033,43 +1034,47 @@ msgstr "encadrants"
msgid "participants" msgid "participants"
msgstr "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" msgid "Edit team"
msgstr "Modifier l'équipe" msgstr "Modifier l'équipe"
#: templates/tournament/team_detail.html:44 #: templates/tournament/team_detail.html:50
msgid "Delete team" msgid "Delete team"
msgstr "Supprimer l'équipe" msgstr "Supprimer l'équipe"
#: templates/tournament/team_detail.html:46 #: templates/tournament/team_detail.html:52
msgid "Leave this team" msgid "Leave this team"
msgstr "Quitter l'équipe" msgstr "Quitter l'équipe"
#: templates/tournament/team_detail.html:87 #: templates/tournament/team_detail.html:93
msgid "The team is waiting about validation." msgid "The team is waiting about validation."
msgstr "L'équipe est en attente de 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:" msgid "Message addressed to the team:"
msgstr "Message adressé à l'équipe :" msgstr "Message adressé à l'équipe :"
#: templates/tournament/team_detail.html:95 #: templates/tournament/team_detail.html:101
msgid "Message..." msgid "Message..."
msgstr "Message ..." msgstr "Message ..."
#: templates/tournament/team_detail.html:100 #: templates/tournament/team_detail.html:106
msgid "Invalidate team" msgid "Invalidate team"
msgstr "Invalider l'équipe" msgstr "Invalider l'équipe"
#: templates/tournament/team_detail.html:101 #: templates/tournament/team_detail.html:107
msgid "Validate team" msgid "Validate team"
msgstr "Valider l'équipe" msgstr "Valider l'équipe"
#: templates/tournament/team_detail.html:114 #: templates/tournament/team_detail.html:120
msgid "Motivation letter:" msgid "Motivation letter:"
msgstr "Lettre de motivation :" msgstr "Lettre de motivation :"
#: templates/tournament/team_detail.html:130 #: templates/tournament/team_detail.html:136
msgid "Download solutions as ZIP" msgid "Download solutions as ZIP"
msgstr "Télécharger les solutions en archive ZIP" msgstr "Télécharger les solutions en archive ZIP"

View File

@ -32,6 +32,12 @@
</dl> </dl>
</div> </div>
{% if user.is_authenticated and user.admin %}
<div class="alert alert-info">
<a href="mailto:contact@tfjm.org?subject=TFJM²%20{{ "TFJM_YEAR"|get_env }}&bcc={{ team_users_emails|join:"," }}">{% trans "Send a mail to people in this team" %}</a><br>
</div>
{% endif %}
{% if user.admin or user in team.tournament.organizers.all or team == user.team %} {% if user.admin or user in team.tournament.organizers.all or team == user.team %}
<div class="card-footer text-center"> <div class="card-footer text-center">
{% if team.invalid or user.organizes %} {% if team.invalid or user.organizes %}