Send a mail to people in a team
This commit is contained in:
parent
03063599a5
commit
6b698c95cc
|
@ -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
|
||||
|
||||
|
|
|
@ -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 <yohann.danello@animath.fr>\n"
|
||||
"Language-Team: fr <LL@li.org>\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"
|
||||
|
||||
|
|
|
@ -32,6 +32,12 @@
|
|||
</dl>
|
||||
</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 %}
|
||||
<div class="card-footer text-center">
|
||||
{% if team.invalid or user.organizes %}
|
||||
|
|
Loading…
Reference in New Issue