From 9e559db4b4c698b4d6d5037609a3169eac1eefac Mon Sep 17 00:00:00 2001 From: Yohann D'ANELLO Date: Thu, 21 Jan 2021 22:32:43 +0100 Subject: [PATCH] Display the BBB link of a pool --- apps/participation/models.py | 4 + .../templates/participation/pool_detail.html | 3 + locale/fr/LC_MESSAGES/django.po | 208 +++++++++--------- 3 files changed, 113 insertions(+), 102 deletions(-) diff --git a/apps/participation/models.py b/apps/participation/models.py index cf2b075..d19a0d6 100644 --- a/apps/participation/models.py +++ b/apps/participation/models.py @@ -353,6 +353,10 @@ class Pool(models.Model): validators=[RegexValidator("[a-z]{3}-[a-z]{3}-[a-z]{3}")], ) + @property + def bbb_url(self): + return f"https://visio.animath.live/b/{self.bbb_code}" + @property def solutions(self): return Solution.objects.filter(participation__in=self.participations, final_solution=self.tournament.final) diff --git a/apps/participation/templates/participation/pool_detail.html b/apps/participation/templates/participation/pool_detail.html index d790fef..287cf71 100644 --- a/apps/participation/templates/participation/pool_detail.html +++ b/apps/participation/templates/participation/pool_detail.html @@ -31,6 +31,9 @@ {{ passage.defended_solution }}{% if not forloop.last %}, {% endif %} {% endfor %} + +
{% trans "BigBlueButton link:" %}
+
{{ pool.bbb_url }}
diff --git a/locale/fr/LC_MESSAGES/django.po b/locale/fr/LC_MESSAGES/django.po index d27ab4b..7994fd7 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: 2021-01-21 17:46+0100\n" +"POT-Creation-Date: 2021-01-21 22:31+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Yohann D'ANELLO \n" "Language-Team: LANGUAGE \n" @@ -185,7 +185,7 @@ msgstr "début" msgid "end" msgstr "fin" -#: apps/participation/models.py:136 apps/participation/models.py:386 +#: apps/participation/models.py:136 apps/participation/models.py:390 #: apps/participation/templates/participation/tournament_detail.html:18 msgid "place" msgstr "lieu" @@ -263,8 +263,8 @@ msgstr "L'équipe est sélectionnée pour la finale." msgid "Participation of the team {name} ({trigram})" msgstr "Participation de l'équipe {name} ({trigram})" -#: apps/participation/models.py:315 apps/participation/models.py:508 -#: apps/participation/models.py:546 +#: apps/participation/models.py:315 apps/participation/models.py:512 +#: apps/participation/models.py:550 msgid "participation" msgstr "participation" @@ -285,148 +285,148 @@ msgstr "Tour {round}" msgid "juries" msgstr "jurys" -#: apps/participation/models.py:352 +#: apps/participation/models.py:351 msgid "BigBlueButton code" msgstr "Code BigBlueButton" -#: apps/participation/models.py:353 +#: apps/participation/models.py:352 msgid "The code of the form xxx-xxx-xxx at the end of the BBB link." msgstr "Le code de la forme xxx-xxx-xxx à la fin du lien BBB." -#: apps/participation/models.py:367 +#: apps/participation/models.py:371 #, python-brace-format msgid "Pool {round} for tournament {tournament} with teams {teams}" msgstr "Poule {round} du tournoi {tournament} avec les équipes {teams}" -#: apps/participation/models.py:373 apps/participation/models.py:381 +#: apps/participation/models.py:377 apps/participation/models.py:385 msgid "pool" msgstr "poule" -#: apps/participation/models.py:374 +#: apps/participation/models.py:378 msgid "pools" msgstr "poules" -#: apps/participation/models.py:388 +#: apps/participation/models.py:392 msgid "Where the solution is presented?" msgstr "Où est-ce que les solutions sont défendues ?" -#: apps/participation/models.py:393 +#: apps/participation/models.py:397 msgid "defended solution" msgstr "solution défendue" -#: apps/participation/models.py:395 apps/participation/models.py:515 +#: apps/participation/models.py:399 apps/participation/models.py:519 #, python-brace-format msgid "Problem #{problem}" msgstr "Problème n°{problem}" -#: apps/participation/models.py:402 apps/participation/tables.py:105 +#: apps/participation/models.py:406 apps/participation/tables.py:105 msgid "defender" msgstr "défenseur" -#: apps/participation/models.py:409 apps/participation/models.py:558 +#: apps/participation/models.py:413 apps/participation/models.py:562 msgid "opponent" msgstr "opposant" -#: apps/participation/models.py:416 apps/participation/models.py:559 +#: apps/participation/models.py:420 apps/participation/models.py:563 msgid "reporter" msgstr "rapporteur" -#: apps/participation/models.py:476 apps/participation/models.py:479 -#: apps/participation/models.py:482 +#: apps/participation/models.py:480 apps/participation/models.py:483 +#: apps/participation/models.py:486 #, python-brace-format msgid "Team {trigram} is not registered in the pool." msgstr "L'équipe {trigram} n'est pas inscrite dans la poule." -#: apps/participation/models.py:487 +#: apps/participation/models.py:491 #, python-brace-format msgid "Passage of {defender} for problem {problem}" msgstr "Passage de {defender} pour le problème {problem}" -#: apps/participation/models.py:491 apps/participation/models.py:553 -#: apps/participation/models.py:591 +#: apps/participation/models.py:495 apps/participation/models.py:557 +#: apps/participation/models.py:595 msgid "passage" msgstr "passage" -#: apps/participation/models.py:492 +#: apps/participation/models.py:496 msgid "passages" msgstr "passages" -#: apps/participation/models.py:513 +#: apps/participation/models.py:517 msgid "problem" msgstr "numéro de problème" -#: apps/participation/models.py:520 +#: apps/participation/models.py:524 msgid "solution for the final tournament" msgstr "solution pour la finale" -#: apps/participation/models.py:525 apps/participation/models.py:564 +#: apps/participation/models.py:529 apps/participation/models.py:568 msgid "file" msgstr "fichier" -#: apps/participation/models.py:533 +#: apps/participation/models.py:537 #, python-brace-format msgid "Solution of team {team} for problem {problem}" msgstr "Solution de l'équipe {team} pour le problème {problem}" -#: apps/participation/models.py:537 +#: apps/participation/models.py:541 msgid "solution" msgstr "solution" -#: apps/participation/models.py:538 +#: apps/participation/models.py:542 msgid "solutions" msgstr "solutions" -#: apps/participation/models.py:572 +#: apps/participation/models.py:576 #, python-brace-format msgid "Synthesis for the {type} of the {passage}" msgstr "Synthèse pour {type} du {passage}" -#: apps/participation/models.py:575 +#: apps/participation/models.py:579 msgid "synthesis" msgstr "note de synthèse" -#: apps/participation/models.py:576 +#: apps/participation/models.py:580 msgid "syntheses" msgstr "notes de synthèse" -#: apps/participation/models.py:584 +#: apps/participation/models.py:588 msgid "jury" msgstr "jury" -#: apps/participation/models.py:596 +#: apps/participation/models.py:600 msgid "defender writing note" msgstr "note d'écrit du défenseur" -#: apps/participation/models.py:602 +#: apps/participation/models.py:606 msgid "defender oral note" msgstr "note d'oral du défenseur" -#: apps/participation/models.py:608 +#: apps/participation/models.py:612 msgid "opponent writing note" msgstr "note d'écrit de l'opposant" -#: apps/participation/models.py:614 +#: apps/participation/models.py:618 msgid "opponent oral note" msgstr "note d'oral de l'opposant" -#: apps/participation/models.py:620 +#: apps/participation/models.py:624 msgid "reporter writing note" msgstr "not d'écrit du rapporteur" -#: apps/participation/models.py:626 +#: apps/participation/models.py:630 msgid "reporter oral note" msgstr "note d'oral du rapporteur" -#: apps/participation/models.py:635 +#: apps/participation/models.py:639 #, python-brace-format msgid "Notes of {jury} for {passage}" msgstr "Notes de {jury} pour le {passage}" -#: apps/participation/models.py:642 +#: apps/participation/models.py:646 msgid "note" msgstr "note" -#: apps/participation/models.py:643 +#: apps/participation/models.py:647 msgid "notes" msgstr "notes" @@ -504,11 +504,11 @@ msgstr "Rejoindre" #: apps/participation/templates/participation/passage_detail.html:44 #: apps/participation/templates/participation/passage_detail.html:100 #: apps/participation/templates/participation/passage_detail.html:105 -#: apps/participation/templates/participation/pool_detail.html:52 -#: apps/participation/templates/participation/pool_detail.html:70 -#: apps/participation/templates/participation/pool_detail.html:75 -#: apps/participation/templates/participation/team_detail.html:89 -#: apps/participation/templates/participation/team_detail.html:148 +#: apps/participation/templates/participation/pool_detail.html:55 +#: apps/participation/templates/participation/pool_detail.html:73 +#: apps/participation/templates/participation/pool_detail.html:78 +#: apps/participation/templates/participation/team_detail.html:91 +#: apps/participation/templates/participation/team_detail.html:150 #: apps/participation/templates/participation/tournament_form.html:12 #: apps/participation/templates/participation/update_team.html:12 #: apps/registration/templates/registration/payment_form.html:49 @@ -679,31 +679,35 @@ msgstr "Jurys :" msgid "Defended solutions:" msgstr "Solutions défendues :" -#: apps/participation/templates/participation/pool_detail.html:38 +#: apps/participation/templates/participation/pool_detail.html:35 +msgid "BigBlueButton link:" +msgstr "Lien BigBlueButton :" + +#: apps/participation/templates/participation/pool_detail.html:41 #: apps/participation/templates/participation/tournament_detail.html:82 msgid "Ranking" msgstr "Classement" -#: apps/participation/templates/participation/pool_detail.html:51 -#: apps/participation/templates/participation/pool_detail.html:64 +#: apps/participation/templates/participation/pool_detail.html:54 +#: apps/participation/templates/participation/pool_detail.html:67 msgid "Add passage" msgstr "Ajouter un passage" -#: apps/participation/templates/participation/pool_detail.html:53 -#: apps/participation/templates/participation/pool_detail.html:74 +#: apps/participation/templates/participation/pool_detail.html:56 +#: apps/participation/templates/participation/pool_detail.html:77 msgid "Update teams" msgstr "Modifier les équipes" -#: apps/participation/templates/participation/pool_detail.html:60 +#: apps/participation/templates/participation/pool_detail.html:63 msgid "Passages" msgstr "Passages" -#: apps/participation/templates/participation/pool_detail.html:65 +#: apps/participation/templates/participation/pool_detail.html:68 #: apps/participation/templates/participation/tournament_detail.html:96 msgid "Add" msgstr "Ajouter" -#: apps/participation/templates/participation/pool_detail.html:69 +#: apps/participation/templates/participation/pool_detail.html:72 #: apps/participation/templates/participation/pool_form.html:11 msgid "Update pool" msgstr "Modifier la poule" @@ -738,8 +742,8 @@ msgid "Photo authorizations:" msgstr "Autorisations de droit à l'image :" #: apps/participation/templates/participation/team_detail.html:58 -#: apps/participation/templates/participation/team_detail.html:69 -#: apps/participation/templates/participation/team_detail.html:81 +#: apps/participation/templates/participation/team_detail.html:70 +#: apps/participation/templates/participation/team_detail.html:83 msgid "Not uploaded yet" msgstr "Pas encore envoyée" @@ -747,21 +751,21 @@ msgstr "Pas encore envoyée" msgid "Health sheets:" msgstr "Fiches sanitaires :" -#: apps/participation/templates/participation/team_detail.html:74 +#: apps/participation/templates/participation/team_detail.html:76 msgid "Parental authorizations:" msgstr "Autorisations parentales :" -#: apps/participation/templates/participation/team_detail.html:91 -#: apps/participation/templates/participation/team_detail.html:153 +#: apps/participation/templates/participation/team_detail.html:93 +#: apps/participation/templates/participation/team_detail.html:155 #: apps/participation/templates/participation/team_leave.html:11 msgid "Leave" msgstr "Quitter" -#: apps/participation/templates/participation/team_detail.html:101 +#: apps/participation/templates/participation/team_detail.html:103 msgid "Access to team participation" msgstr "Accéder à la participation de l'équipe" -#: apps/participation/templates/participation/team_detail.html:108 +#: apps/participation/templates/participation/team_detail.html:110 msgid "" "Your team has at least 4 members and a coach and all authorizations were " "given: the team can be validated." @@ -769,11 +773,11 @@ msgstr "" "Votre équipe contient au moins 4 personnes et un encadrant et toutes les " "autorisations ont été données : l'équipe peut être validée." -#: apps/participation/templates/participation/team_detail.html:113 +#: apps/participation/templates/participation/team_detail.html:115 msgid "Submit my team to validation" msgstr "Soumettre mon équipe à validation" -#: apps/participation/templates/participation/team_detail.html:119 +#: apps/participation/templates/participation/team_detail.html:121 msgid "" "Your team must be composed of 4 members and a coach and each member must " "upload their authorizations and confirm its email address." @@ -781,15 +785,15 @@ msgstr "" "Votre équipe doit être composée de 4 membres et un encadrant et chaque " "membre doit envoyer ses autorisations et confirmé son adresse e-mail." -#: apps/participation/templates/participation/team_detail.html:124 +#: apps/participation/templates/participation/team_detail.html:126 msgid "This team didn't ask for validation yet." msgstr "L'équipe n'a pas encore demandé à être validée." -#: apps/participation/templates/participation/team_detail.html:130 +#: apps/participation/templates/participation/team_detail.html:132 msgid "Your validation is pending." msgstr "Votre validation est en attente." -#: apps/participation/templates/participation/team_detail.html:134 +#: apps/participation/templates/participation/team_detail.html:136 msgid "" "The team requested to be validated. You may now control the authorizations " "and confirm that they can participate." @@ -797,19 +801,19 @@ msgstr "" "L'équipe a demandé à être validée. Vous pouvez désormais contrôler les " "différentes autorisations et confirmer qu'elle peut participer." -#: apps/participation/templates/participation/team_detail.html:140 +#: apps/participation/templates/participation/team_detail.html:142 msgid "Validate" msgstr "Valider" -#: apps/participation/templates/participation/team_detail.html:141 +#: apps/participation/templates/participation/team_detail.html:143 msgid "Invalidate" msgstr "Invalider" -#: apps/participation/templates/participation/team_detail.html:147 +#: apps/participation/templates/participation/team_detail.html:149 msgid "Update team" msgstr "Modifier l'équipe" -#: apps/participation/templates/participation/team_detail.html:152 +#: apps/participation/templates/participation/team_detail.html:154 #: apps/participation/views.py:360 msgid "Leave team" msgstr "Quitter l'équipe" @@ -1081,46 +1085,46 @@ msgstr "numéro de téléphone" msgid "photo authorization" msgstr "autorisation de droit à l'image" -#: apps/registration/models.py:150 -msgid "health sheet" -msgstr "fiche sanitaire" - -#: apps/registration/models.py:176 +#: apps/registration/models.py:169 msgid "12th grade" msgstr "Terminale" -#: apps/registration/models.py:177 +#: apps/registration/models.py:170 msgid "11th grade" msgstr "Première" -#: apps/registration/models.py:178 +#: apps/registration/models.py:171 msgid "10th grade or lower" msgstr "Seconde ou inférieur" -#: apps/registration/models.py:180 +#: apps/registration/models.py:173 msgid "student class" msgstr "classe" -#: apps/registration/models.py:185 +#: apps/registration/models.py:178 msgid "school" msgstr "école" -#: apps/registration/models.py:190 +#: apps/registration/models.py:183 msgid "responsible name" msgstr "nom du responsable légal" -#: apps/registration/models.py:195 +#: apps/registration/models.py:188 msgid "responsible phone number" msgstr "numéro de téléphone du responsable légal" -#: apps/registration/models.py:200 +#: apps/registration/models.py:193 msgid "responsible email address" msgstr "adresse e-mail du responsable légal" -#: apps/registration/models.py:205 +#: apps/registration/models.py:198 msgid "parental authorization" msgstr "autorisation parentale" +#: apps/registration/models.py:205 +msgid "health sheet" +msgstr "fiche sanitaire" + #: apps/registration/models.py:213 msgid "student" msgstr "étudiant" @@ -1214,7 +1218,7 @@ msgstr "nom de famille" #: apps/registration/templates/registration/add_organizer.html:12 #: apps/registration/templates/registration/add_organizer.html:19 #: apps/registration/templates/registration/user_list.html:8 -#: apps/registration/views.py:86 +#: apps/registration/views.py:88 msgid "Add organizer" msgstr "Ajouter un organisateur" @@ -1418,7 +1422,7 @@ msgstr "" #: apps/registration/templates/registration/signup.html:5 #: apps/registration/templates/registration/signup.html:12 #: apps/registration/templates/registration/signup.html:19 -#: apps/registration/views.py:42 +#: apps/registration/views.py:44 msgid "Sign up" msgstr "Inscription" @@ -1435,7 +1439,7 @@ msgstr "Modèle de fiche sanitaire :" #: apps/registration/templates/registration/upload_health_sheet.html:12 #: apps/registration/templates/registration/upload_parental_authorization.html:12 #: apps/registration/templates/registration/user_detail.html:54 -#: apps/registration/templates/registration/user_detail.html:64 +#: apps/registration/templates/registration/user_detail.html:67 #: apps/registration/templates/registration/user_detail.html:77 msgid "Download" msgstr "Télécharger" @@ -1497,12 +1501,12 @@ msgid "Photo authorization:" msgstr "Autorisation de droit à l'image" #: apps/registration/templates/registration/user_detail.html:57 -#: apps/registration/templates/registration/user_detail.html:67 +#: apps/registration/templates/registration/user_detail.html:70 #: apps/registration/templates/registration/user_detail.html:80 msgid "Replace" msgstr "Remplacer" -#: apps/registration/templates/registration/user_detail.html:61 +#: apps/registration/templates/registration/user_detail.html:64 msgid "Health sheet:" msgstr "Fiche sanitaire :" @@ -1573,71 +1577,71 @@ msgid "Update user" msgstr "Modifier l'utilisateur" #: apps/registration/templates/registration/user_detail.html:161 -#: apps/registration/views.py:313 +#: apps/registration/views.py:315 msgid "Upload photo authorization" msgstr "Téléverser l'autorisation de droit à l'image" #: apps/registration/templates/registration/user_detail.html:166 -#: apps/registration/views.py:339 +#: apps/registration/views.py:341 msgid "Upload health sheet" msgstr "Téléverser la fiche sanitaire" #: apps/registration/templates/registration/user_detail.html:171 #: apps/registration/templates/registration/user_detail.html:176 -#: apps/registration/views.py:365 +#: apps/registration/views.py:367 msgid "Upload parental authorization" msgstr "Téléverser l'autorisation parentale" -#: apps/registration/views.py:125 +#: apps/registration/views.py:127 msgid "New TFJM² organizer account" msgstr "Nouveau compte organisateur pour le TFJM²" -#: apps/registration/views.py:147 +#: apps/registration/views.py:149 msgid "Email validation" msgstr "Validation de l'adresse mail" -#: apps/registration/views.py:149 +#: apps/registration/views.py:151 msgid "Validate email" msgstr "Valider l'adresse mail" -#: apps/registration/views.py:188 +#: apps/registration/views.py:190 msgid "Email validation unsuccessful" msgstr "Échec de la validation de l'adresse mail" -#: apps/registration/views.py:199 +#: apps/registration/views.py:201 msgid "Email validation email sent" msgstr "Mail de confirmation de l'adresse mail envoyé" -#: apps/registration/views.py:207 +#: apps/registration/views.py:209 msgid "Resend email validation link" msgstr "Renvoyé le lien de validation de l'adresse mail" -#: apps/registration/views.py:247 +#: apps/registration/views.py:249 #, python-brace-format msgid "Detail of user {user}" msgstr "Détails de l'utilisateur {user}" -#: apps/registration/views.py:277 +#: apps/registration/views.py:279 #, python-brace-format msgid "Update user {user}" msgstr "Mise à jour de l'utilisateur {user}" -#: apps/registration/views.py:428 +#: apps/registration/views.py:476 #, python-brace-format msgid "Photo authorization of {student}.{ext}" msgstr "Autorisation de droit à l'image de {student}.{ext}" -#: apps/registration/views.py:451 +#: apps/registration/views.py:499 #, python-brace-format msgid "Health sheet of {student}.{ext}" msgstr "Fiche sanitaire de {student}.{ext}" -#: apps/registration/views.py:474 +#: apps/registration/views.py:522 #, python-brace-format msgid "Parental authorization of {student}.{ext}" msgstr "Autorisation parentale de {student}.{ext}" -#: apps/registration/views.py:496 +#: apps/registration/views.py:544 #, python-brace-format msgid "Scholarship attestation of {user}.{ext}" msgstr "Notification de bourse de {user}.{ext}"