From 65c3483c1f836b6dd92aa3ea96480a85c01514ce Mon Sep 17 00:00:00 2001 From: Robin Trioux Date: Sun, 13 Oct 2019 03:33:24 +0200 Subject: [PATCH 1/3] core:login allow the user to create an account when not logged --- core/templates/core/login.jinja | 3 +- locale/fr/LC_MESSAGES/django.po | 350 ++++++++++++++++---------------- 2 files changed, 180 insertions(+), 173 deletions(-) diff --git a/core/templates/core/login.jinja b/core/templates/core/login.jinja index a81528b6..789e38a7 100644 --- a/core/templates/core/login.jinja +++ b/core/templates/core/login.jinja @@ -15,7 +15,7 @@

{% trans %}Your account doesn't have access to this page. To proceed, please login with an account that has access.{% endtrans %}

{% else %} -

{% trans %}Please login to see this page.{% endtrans %}

+

{% trans %}Please login or create an account to see this page.{% endtrans %}

{% endif %} {% endif %} @@ -30,5 +30,6 @@ {# Assumes you setup the password_reset view in your URLconf #}

{% trans %}Lost password?{% endtrans %}

+

{% trans %}Create account{% endtrans %}

{% endblock %} diff --git a/locale/fr/LC_MESSAGES/django.po b/locale/fr/LC_MESSAGES/django.po index e74a9ddd..c7e99d71 100644 --- a/locale/fr/LC_MESSAGES/django.po +++ b/locale/fr/LC_MESSAGES/django.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-09-10 16:45+0200\n" +"POT-Creation-Date: 2019-10-12 17:41+0200\n" "PO-Revision-Date: 2016-07-18\n" "Last-Translator: Skia \n" "Language-Team: AE info \n" @@ -17,8 +17,8 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n > 1);\n" #: accounting/models.py:61 accounting/models.py:110 accounting/models.py:138 -#: accounting/models.py:203 club/models.py:48 com/models.py:230 -#: com/models.py:247 counter/models.py:121 counter/models.py:149 +#: accounting/models.py:203 club/models.py:48 com/models.py:253 +#: com/models.py:270 counter/models.py:121 counter/models.py:149 #: counter/models.py:211 forum/models.py:58 launderette/models.py:38 #: launderette/models.py:90 launderette/models.py:125 stock/models.py:40 #: stock/models.py:60 stock/models.py:100 stock/models.py:127 @@ -66,7 +66,7 @@ msgid "account number" msgstr "numero de compte" #: accounting/models.py:113 accounting/models.py:139 club/models.py:266 -#: com/models.py:74 com/models.py:218 com/models.py:251 counter/models.py:166 +#: com/models.py:74 com/models.py:241 com/models.py:274 counter/models.py:166 #: counter/models.py:212 trombi/models.py:205 msgid "club" msgstr "club" @@ -218,7 +218,7 @@ msgstr "Compte" msgid "Company" msgstr "Entreprise" -#: accounting/models.py:317 sith/settings.py:377 +#: accounting/models.py:317 sith/settings.py:378 #: stock/templates/stock/shopping_list_items.jinja:37 msgid "Other" msgstr "Autre" @@ -381,7 +381,7 @@ msgstr "Compte en banque : " #: pedagogy/templates/pedagogy/guide.jinja:90 #: pedagogy/templates/pedagogy/guide.jinja:126 #: pedagogy/templates/pedagogy/uv_detail.jinja:185 -#: sas/templates/sas/album.jinja:26 sas/templates/sas/moderation.jinja:18 +#: sas/templates/sas/album.jinja:27 sas/templates/sas/moderation.jinja:18 #: sas/templates/sas/picture.jinja:74 sas/templates/sas/picture.jinja:124 #: stock/templates/stock/stock_shopping_list.jinja:43 #: stock/templates/stock/stock_shopping_list.jinja:69 @@ -440,7 +440,7 @@ msgstr "Nouveau compte club" #: pedagogy/templates/pedagogy/guide.jinja:89 #: pedagogy/templates/pedagogy/guide.jinja:125 #: pedagogy/templates/pedagogy/uv_detail.jinja:184 -#: sas/templates/sas/album.jinja:18 sas/templates/sas/picture.jinja:100 +#: sas/templates/sas/album.jinja:19 sas/templates/sas/picture.jinja:100 #: trombi/templates/trombi/detail.jinja:9 #: trombi/templates/trombi/edit_profile.jinja:34 msgid "Edit" @@ -531,7 +531,7 @@ msgid "Effective amount" msgstr "Montant effectif" #: accounting/templates/accounting/club_account_details.jinja:36 -#: sith/settings.py:421 +#: sith/settings.py:422 msgid "Closed" msgstr "Fermé" @@ -631,7 +631,7 @@ msgstr "No" #: core/templates/core/user_account_detail.jinja:78 #: counter/templates/counter/cash_summary_list.jinja:34 #: counter/templates/counter/last_ops.jinja:14 -#: counter/templates/counter/last_ops.jinja:39 sas/views.py:353 +#: counter/templates/counter/last_ops.jinja:39 sas/views.py:369 #: stock/templates/stock/stock_shopping_list.jinja:25 #: stock/templates/stock/stock_shopping_list.jinja:54 #: trombi/templates/trombi/user_profile.jinja:40 @@ -673,7 +673,7 @@ msgstr "Effectuées" #: pedagogy/templates/pedagogy/uv_detail.jinja:138 #: trombi/templates/trombi/comment.jinja:4 #: trombi/templates/trombi/comment.jinja:8 -#: trombi/templates/trombi/user_tools.jinja:50 +#: trombi/templates/trombi/user_tools.jinja:51 msgid "Comment" msgstr "Commentaire" @@ -998,7 +998,7 @@ msgstr "Vous ne pouvez pas ajouter deux fois le même utilisateur" msgid "You should specify a role" msgstr "Vous devez choisir un rôle" -#: club/forms.py:290 sas/views.py:129 sas/views.py:195 sas/views.py:286 +#: club/forms.py:290 sas/views.py:130 sas/views.py:196 sas/views.py:295 msgid "You do not have the permission to do that" msgstr "Vous n'avez pas la permission de faire cela" @@ -1048,7 +1048,7 @@ msgstr "Un club avec ce nom UNIX existe déjà." #: club/models.py:260 counter/models.py:587 counter/models.py:610 #: eboutic/models.py:40 eboutic/models.py:83 election/models.py:180 -#: launderette/models.py:134 launderette/models.py:190 sas/models.py:239 +#: launderette/models.py:134 launderette/models.py:190 sas/models.py:243 #: trombi/models.py:203 msgid "user" msgstr "nom d'utilisateur" @@ -1077,11 +1077,11 @@ msgid "Enter a valid address. Only the root of the address is needed." msgstr "" "Entrez une adresse valide. Seule la racine de l'adresse est nécessaire." -#: club/models.py:335 com/models.py:78 com/models.py:259 core/models.py:814 +#: club/models.py:335 com/models.py:78 com/models.py:282 core/models.py:814 msgid "is moderated" msgstr "est modéré" -#: club/models.py:337 com/models.py:80 com/models.py:263 +#: club/models.py:337 com/models.py:80 com/models.py:286 msgid "moderator" msgstr "modérateur" @@ -1364,7 +1364,7 @@ msgid "History" msgstr "Historique" #: club/views.py:115 core/templates/core/base.jinja:119 core/views/user.py:230 -#: sas/templates/sas/picture.jinja:95 trombi/views.py:60 +#: sas/templates/sas/picture.jinja:95 trombi/views.py:61 msgid "Tools" msgstr "Outils" @@ -1419,7 +1419,7 @@ msgstr "Hebdomadaire" msgid "Call" msgstr "Appel" -#: com/models.py:68 com/models.py:154 com/models.py:212 election/models.py:14 +#: com/models.py:68 com/models.py:161 com/models.py:235 election/models.py:14 #: election/models.py:116 election/models.py:156 forum/models.py:242 #: forum/models.py:296 pedagogy/models.py:100 msgid "title" @@ -1429,7 +1429,7 @@ msgstr "titre" msgid "summary" msgstr "résumé" -#: com/models.py:70 com/models.py:213 trombi/models.py:188 +#: com/models.py:70 com/models.py:236 trombi/models.py:188 msgid "content" msgstr "contenu" @@ -1439,7 +1439,7 @@ msgstr "contenu" msgid "type" msgstr "type" -#: com/models.py:76 com/models.py:215 pedagogy/models.py:61 +#: com/models.py:76 com/models.py:238 pedagogy/models.py:61 #: pedagogy/models.py:210 trombi/models.py:183 msgid "author" msgstr "auteur" @@ -1456,43 +1456,43 @@ msgstr "date de début" msgid "end_date" msgstr "date de fin" -#: com/models.py:155 +#: com/models.py:162 msgid "intro" msgstr "intro" -#: com/models.py:156 +#: com/models.py:163 msgid "joke" msgstr "blague" -#: com/models.py:157 +#: com/models.py:164 msgid "protip" msgstr "astuce" -#: com/models.py:158 +#: com/models.py:165 msgid "conclusion" msgstr "conclusion" -#: com/models.py:159 +#: com/models.py:166 msgid "sent" msgstr "envoyé" -#: com/models.py:210 +#: com/models.py:233 msgid "weekmail" msgstr "weekmail" -#: com/models.py:220 +#: com/models.py:243 msgid "rank" msgstr "rang" -#: com/models.py:249 core/models.py:784 core/models.py:828 +#: com/models.py:272 core/models.py:784 core/models.py:828 msgid "file" msgstr "fichier" -#: com/models.py:257 +#: com/models.py:280 msgid "display time" msgstr "temps d'affichage" -#: com/models.py:284 +#: com/models.py:307 msgid "Begin date should be before end date" msgstr "La date de début doit être avant celle de fin" @@ -2194,7 +2194,7 @@ msgstr "Un utilisateur de ce nom d'utilisateur existe déjà" #: election/templates/election/election_detail.jinja:340 #: forum/templates/forum/macros.jinja:104 #: forum/templates/forum/macros.jinja:106 -#: trombi/templates/trombi/user_tools.jinja:41 +#: trombi/templates/trombi/user_tools.jinja:42 msgid "Profile" msgstr "Profil" @@ -2238,11 +2238,11 @@ msgstr "miniature" msgid "owner" msgstr "propriétaire" -#: core/models.py:805 core/models.py:1138 core/views/files.py:193 +#: core/models.py:805 core/models.py:1138 core/views/files.py:191 msgid "edit group" msgstr "groupe d'édition" -#: core/models.py:808 core/models.py:1141 core/views/files.py:196 +#: core/models.py:808 core/models.py:1141 core/views/files.py:194 msgid "view group" msgstr "groupe de vue" @@ -2475,7 +2475,7 @@ msgstr "Photos" #: eboutic/templates/eboutic/eboutic_main.jinja:24 #: eboutic/templates/eboutic/eboutic_makecommand.jinja:8 #: eboutic/templates/eboutic/eboutic_payment_result.jinja:4 -#: sith/settings.py:376 sith/settings.py:384 +#: sith/settings.py:377 sith/settings.py:385 msgid "Eboutic" msgstr "Eboutic" @@ -2495,7 +2495,7 @@ msgid "Launderette" msgstr "Laverie" #: core/templates/core/base.jinja:189 core/templates/core/file.jinja:20 -#: core/views/files.py:86 +#: core/views/files.py:84 msgid "Files" msgstr "Fichiers" @@ -2613,19 +2613,19 @@ msgstr "Propriétés" msgid "Owner: " msgstr "Propriétaire : " -#: core/templates/core/file_detail.jinja:26 sas/templates/sas/album.jinja:27 +#: core/templates/core/file_detail.jinja:26 sas/templates/sas/album.jinja:28 msgid "Clear clipboard" msgstr "Vider le presse-papier" -#: core/templates/core/file_detail.jinja:27 sas/templates/sas/album.jinja:28 +#: core/templates/core/file_detail.jinja:27 sas/templates/sas/album.jinja:29 msgid "Cut" msgstr "Couper" -#: core/templates/core/file_detail.jinja:28 sas/templates/sas/album.jinja:29 +#: core/templates/core/file_detail.jinja:28 sas/templates/sas/album.jinja:30 msgid "Paste" msgstr "Coller" -#: core/templates/core/file_detail.jinja:31 sas/templates/sas/album.jinja:32 +#: core/templates/core/file_detail.jinja:31 sas/templates/sas/album.jinja:33 msgid "Clipboard: " msgstr "Presse-papier : " @@ -2723,8 +2723,8 @@ msgstr "" "compte qui a accès." #: core/templates/core/login.jinja:18 -msgid "Please login to see this page." -msgstr "Merci de vous identifier pour voir cette page." +msgid "Please login or create an account to see this page." +msgstr "Merci de vous identifier ou vous créer un compte pour voir cette page." #: core/templates/core/login.jinja:28 #: counter/templates/counter/counter_main.jinja:51 @@ -2735,6 +2735,10 @@ msgstr "login" msgid "Lost password?" msgstr "Mot de passe perdu ?" +#: core/templates/core/login.jinja:33 +msgid "Create account" +msgstr "Créer un compte" + #: core/templates/core/macros.jinja:35 msgid "Share on Facebook" msgstr "Partager sur Facebook" @@ -2761,23 +2765,23 @@ msgstr "Créneau" msgid "Tokens" msgstr "Jetons" -#: core/templates/core/macros.jinja:118 core/templates/core/macros.jinja:120 +#: core/templates/core/macros.jinja:119 core/templates/core/macros.jinja:121 msgid "Previous" msgstr "Précédent" -#: core/templates/core/macros.jinja:124 +#: core/templates/core/macros.jinja:125 msgid "current" msgstr "actuel" -#: core/templates/core/macros.jinja:130 core/templates/core/macros.jinja:132 +#: core/templates/core/macros.jinja:131 core/templates/core/macros.jinja:133 msgid "Next" msgstr "Suivant" -#: core/templates/core/macros.jinja:147 +#: core/templates/core/macros.jinja:149 msgid "Select All" msgstr "Tout sélectionner" -#: core/templates/core/macros.jinja:148 +#: core/templates/core/macros.jinja:150 msgid "Unselect All" msgstr "Tout désélectionner" @@ -2909,7 +2913,9 @@ msgstr "Vous avez correctement réinitialisé votre mot de passe !" msgid "" "It seems that this link has expired. To generate a new link, you can follow " "this link: " -msgstr "Il semble que le lien ai expiré. Pour générer un nouveau lien, tu peux suivre ce lien : " +msgstr "" +"Il semble que le lien ai expiré. Pour générer un nouveau lien, tu peux " +"suivre ce lien : " #: core/templates/core/password_reset_confirm.jinja:11 msgid "lost password" @@ -3295,7 +3301,7 @@ msgstr "Photos de %(user_name)s" msgid "Preferences" msgstr "Préférences" -#: core/templates/core/user_preferences.jinja:14 trombi/views.py:55 +#: core/templates/core/user_preferences.jinja:14 trombi/views.py:56 msgid "Trombi" msgstr "Trombi" @@ -3505,22 +3511,22 @@ msgstr "Convertir de la syntaxe dokuwiki/BBcode vers Markdown" msgid "Trombi tools" msgstr "Outils Trombi" -#: core/views/files.py:82 +#: core/views/files.py:80 msgid "Add a new folder" msgstr "Ajouter un nouveau dossier" -#: core/views/files.py:103 +#: core/views/files.py:101 #, python-format msgid "Error creating folder %(folder_name)s: %(msg)s" msgstr "Erreur de création du dossier %(folder_name)s : %(msg)s" -#: core/views/files.py:123 core/views/forms.py:323 core/views/forms.py:330 -#: sas/views.py:93 +#: core/views/files.py:121 core/views/forms.py:323 core/views/forms.py:330 +#: sas/views.py:94 #, python-format msgid "Error uploading file %(file_name)s: %(msg)s" msgstr "Erreur d'envoi du fichier %(file_name)s : %(msg)s" -#: core/views/files.py:198 sas/views.py:356 +#: core/views/files.py:196 sas/views.py:372 msgid "Apply rights recursively" msgstr "Appliquer les droits récursivement" @@ -3636,7 +3642,7 @@ msgstr "Parrain" msgid "Godchild" msgstr "Fillot" -#: core/views/forms.py:358 counter/views.py:154 trombi/views.py:141 +#: core/views/forms.py:358 counter/views.py:154 trombi/views.py:156 msgid "Select user" msgstr "Choisir un utilisateur" @@ -3793,8 +3799,8 @@ msgstr "quantité" msgid "Sith account" msgstr "Compte utilisateur" -#: counter/models.py:450 sith/settings.py:369 sith/settings.py:374 -#: sith/settings.py:392 +#: counter/models.py:450 sith/settings.py:370 sith/settings.py:375 +#: sith/settings.py:393 msgid "Credit card" msgstr "Carte bancaire" @@ -4716,12 +4722,12 @@ msgid "Washing and drying" msgstr "Lavage et séchage" #: launderette/templates/launderette/launderette_book.jinja:27 -#: sith/settings.py:583 +#: sith/settings.py:584 msgid "Washing" msgstr "Lavage" #: launderette/templates/launderette/launderette_book.jinja:31 -#: sith/settings.py:583 +#: sith/settings.py:584 msgid "Drying" msgstr "Séchage" @@ -5110,26 +5116,26 @@ msgstr "Utilisateur qui sera supprimé" msgid "User to be selected" msgstr "Utilisateur à sélectionner" -#: sas/models.py:243 +#: sas/models.py:247 msgid "picture" msgstr "photo" -#: sas/templates/sas/album.jinja:4 sas/templates/sas/main.jinja:4 +#: sas/templates/sas/album.jinja:5 sas/templates/sas/main.jinja:4 #: sas/templates/sas/main.jinja:32 sas/templates/sas/picture.jinja:34 msgid "SAS" msgstr "SAS" -#: sas/templates/sas/album.jinja:52 sas/templates/sas/album.jinja:54 +#: sas/templates/sas/album.jinja:53 sas/templates/sas/album.jinja:55 #: sas/templates/sas/main.jinja:13 sas/templates/sas/main.jinja:15 #: sas/templates/sas/main.jinja:17 msgid "preview" msgstr "miniature" -#: sas/templates/sas/album.jinja:86 +#: sas/templates/sas/album.jinja:89 msgid "Upload" msgstr "Envoyer" -#: sas/templates/sas/album.jinja:88 +#: sas/templates/sas/album.jinja:91 msgid "Template generation time: " msgstr "Temps de génération du template : " @@ -5173,377 +5179,377 @@ msgstr "Demander le retrait" msgid "Asked for removal" msgstr "Retrait demandé" -#: sas/views.py:48 +#: sas/views.py:49 msgid "Add a new album" msgstr "Ajouter un nouvel album" -#: sas/views.py:52 +#: sas/views.py:53 msgid "Upload images" msgstr "Envoyer les images" -#: sas/views.py:70 +#: sas/views.py:71 #, python-format msgid "Error creating album %(album)s: %(msg)s" msgstr "Erreur de création de l'album %(album)s : %(msg)s" -#: sas/views.py:105 trombi/templates/trombi/detail.jinja:15 +#: sas/views.py:106 trombi/templates/trombi/detail.jinja:15 msgid "Add user" msgstr "Ajouter une personne" -#: sith/settings.py:217 sith/settings.py:429 +#: sith/settings.py:217 sith/settings.py:430 msgid "English" msgstr "Anglais" -#: sith/settings.py:217 sith/settings.py:428 +#: sith/settings.py:217 sith/settings.py:429 msgid "French" msgstr "Français" -#: sith/settings.py:350 +#: sith/settings.py:351 msgid "TC" msgstr "TC" -#: sith/settings.py:351 +#: sith/settings.py:352 msgid "IMSI" msgstr "IMSI" -#: sith/settings.py:352 +#: sith/settings.py:353 msgid "IMAP" msgstr "IMAP" -#: sith/settings.py:353 +#: sith/settings.py:354 msgid "INFO" msgstr "INFO" -#: sith/settings.py:354 +#: sith/settings.py:355 msgid "GI" msgstr "GI" -#: sith/settings.py:355 sith/settings.py:439 +#: sith/settings.py:356 sith/settings.py:440 msgid "E" msgstr "E" -#: sith/settings.py:356 +#: sith/settings.py:357 msgid "EE" msgstr "EE" -#: sith/settings.py:357 +#: sith/settings.py:358 msgid "GESC" msgstr "GESC" -#: sith/settings.py:358 +#: sith/settings.py:359 msgid "GMC" msgstr "GMC" -#: sith/settings.py:359 +#: sith/settings.py:360 msgid "MC" msgstr "MC" -#: sith/settings.py:360 +#: sith/settings.py:361 msgid "EDIM" msgstr "EDIM" -#: sith/settings.py:361 +#: sith/settings.py:362 msgid "Humanities" msgstr "Humanités" -#: sith/settings.py:362 +#: sith/settings.py:363 msgid "N/A" msgstr "N/A" -#: sith/settings.py:366 sith/settings.py:373 sith/settings.py:390 +#: sith/settings.py:367 sith/settings.py:374 sith/settings.py:391 msgid "Check" msgstr "Chèque" -#: sith/settings.py:367 sith/settings.py:375 sith/settings.py:391 +#: sith/settings.py:368 sith/settings.py:376 sith/settings.py:392 msgid "Cash" msgstr "Espèces" -#: sith/settings.py:368 +#: sith/settings.py:369 msgid "Transfert" msgstr "Virement" -#: sith/settings.py:381 +#: sith/settings.py:382 msgid "Belfort" msgstr "Belfort" -#: sith/settings.py:382 +#: sith/settings.py:383 msgid "Sevenans" msgstr "Sevenans" -#: sith/settings.py:383 +#: sith/settings.py:384 msgid "Montbéliard" msgstr "Montbéliard" -#: sith/settings.py:409 +#: sith/settings.py:410 msgid "Free" msgstr "Libre" -#: sith/settings.py:410 +#: sith/settings.py:411 msgid "CS" msgstr "CS" -#: sith/settings.py:411 +#: sith/settings.py:412 msgid "TM" msgstr "TM" -#: sith/settings.py:412 +#: sith/settings.py:413 msgid "OM" msgstr "OM" -#: sith/settings.py:413 +#: sith/settings.py:414 msgid "QC" msgstr "QC" -#: sith/settings.py:414 +#: sith/settings.py:415 msgid "EC" msgstr "EC" -#: sith/settings.py:415 +#: sith/settings.py:416 msgid "RN" msgstr "RN" -#: sith/settings.py:416 +#: sith/settings.py:417 msgid "ST" msgstr "ST" -#: sith/settings.py:417 +#: sith/settings.py:418 msgid "EXT" msgstr "EXT" -#: sith/settings.py:422 +#: sith/settings.py:423 msgid "Autumn" msgstr "Automne" -#: sith/settings.py:423 +#: sith/settings.py:424 msgid "Spring" msgstr "Printemps" -#: sith/settings.py:424 +#: sith/settings.py:425 msgid "Autumn and spring" msgstr "Automne et printemps" -#: sith/settings.py:430 +#: sith/settings.py:431 msgid "German" msgstr "Allemant" -#: sith/settings.py:431 +#: sith/settings.py:432 msgid "Spanich" msgstr "Espagnol" -#: sith/settings.py:435 +#: sith/settings.py:436 msgid "A" msgstr "A" -#: sith/settings.py:436 +#: sith/settings.py:437 msgid "B" msgstr "B" -#: sith/settings.py:437 +#: sith/settings.py:438 msgid "C" msgstr "C" -#: sith/settings.py:438 +#: sith/settings.py:439 msgid "D" msgstr "D" -#: sith/settings.py:440 +#: sith/settings.py:441 msgid "FX" msgstr "FX" -#: sith/settings.py:441 +#: sith/settings.py:442 msgid "F" msgstr "F" -#: sith/settings.py:442 +#: sith/settings.py:443 msgid "Abs" msgstr "Abs" -#: sith/settings.py:471 +#: sith/settings.py:472 msgid "One semester" msgstr "Un semestre, 15 €" -#: sith/settings.py:472 +#: sith/settings.py:473 msgid "Two semesters" msgstr "Deux semestres, 28 €" -#: sith/settings.py:474 +#: sith/settings.py:475 msgid "Common core cursus" msgstr "Cursus tronc commun, 45 €" -#: sith/settings.py:478 +#: sith/settings.py:479 msgid "Branch cursus" msgstr "Cursus branche, 45 €" -#: sith/settings.py:479 +#: sith/settings.py:480 msgid "Alternating cursus" msgstr "Cursus alternant, 30 €" -#: sith/settings.py:480 +#: sith/settings.py:481 msgid "Honorary member" msgstr "Membre honoraire, 0 €" -#: sith/settings.py:481 +#: sith/settings.py:482 msgid "Assidu member" msgstr "Membre d'Assidu, 0 €" -#: sith/settings.py:482 +#: sith/settings.py:483 msgid "Amicale/DOCEO member" msgstr "Membre de l'Amicale/DOCEO, 0 €" -#: sith/settings.py:483 +#: sith/settings.py:484 msgid "UT network member" msgstr "Cotisant du réseau UT, 0 €" -#: sith/settings.py:484 +#: sith/settings.py:485 msgid "CROUS member" msgstr "Membres du CROUS, 0 €" -#: sith/settings.py:485 +#: sith/settings.py:486 msgid "Sbarro/ESTA member" msgstr "Membre de Sbarro ou de l'ESTA, 15 €" -#: sith/settings.py:487 +#: sith/settings.py:488 msgid "One semester Welcome Week" msgstr "Un semestre Welcome Week" -#: sith/settings.py:491 +#: sith/settings.py:492 msgid "Two months for free" msgstr "Deux mois gratuits" -#: sith/settings.py:492 +#: sith/settings.py:493 msgid "Eurok's volunteer" msgstr "Bénévole Eurockéennes" -#: sith/settings.py:494 +#: sith/settings.py:495 msgid "Six weeks for free" msgstr "6 semaines gratuites" -#: sith/settings.py:498 +#: sith/settings.py:499 msgid "One day" msgstr "Un jour" -#: sith/settings.py:501 +#: sith/settings.py:502 msgid "One semester (-20%)" msgstr "Un semestre (-20%), 12 €" -#: sith/settings.py:506 +#: sith/settings.py:507 msgid "Two semesters (-20%)" msgstr "Deux semestres (-20%), 22 €" -#: sith/settings.py:511 +#: sith/settings.py:512 msgid "Common core cursus (-20%)" msgstr "Cursus tronc commun (-20%), 36 €" -#: sith/settings.py:516 +#: sith/settings.py:517 msgid "Branch cursus (-20%)" msgstr "Cursus branche (-20%), 36 €" -#: sith/settings.py:521 +#: sith/settings.py:522 msgid "Alternating cursus (-20%)" msgstr "Cursus alternant (-20%), 24 €" -#: sith/settings.py:543 +#: sith/settings.py:544 msgid "President" msgstr "Président" -#: sith/settings.py:544 +#: sith/settings.py:545 msgid "Vice-President" msgstr "Vice-Président" -#: sith/settings.py:545 +#: sith/settings.py:546 msgid "Treasurer" msgstr "Trésorier" -#: sith/settings.py:546 +#: sith/settings.py:547 msgid "Communication supervisor" msgstr "Responsable communication" -#: sith/settings.py:547 +#: sith/settings.py:548 msgid "Secretary" msgstr "Secrétaire" -#: sith/settings.py:548 +#: sith/settings.py:549 msgid "IT supervisor" msgstr "Responsable info" -#: sith/settings.py:549 +#: sith/settings.py:550 msgid "Board member" msgstr "Membre du bureau" -#: sith/settings.py:550 +#: sith/settings.py:551 msgid "Active member" msgstr "Membre actif" -#: sith/settings.py:551 +#: sith/settings.py:552 msgid "Curious" msgstr "Curieux" -#: sith/settings.py:587 +#: sith/settings.py:588 msgid "A new poster needs to be moderated" msgstr "Une nouvelle affiche a besoin d'être modérée" -#: sith/settings.py:588 +#: sith/settings.py:589 msgid "A new mailing list needs to be moderated" msgstr "Une nouvelle mailing list a besoin d'être modérée" -#: sith/settings.py:591 +#: sith/settings.py:592 msgid "A new pedagogy comment has been signaled for moderation" msgstr "" "Un nouveau commentaire de la pédagogie a été signalé pour la modération" -#: sith/settings.py:593 +#: sith/settings.py:594 #, python-format msgid "There are %s fresh news to be moderated" msgstr "Il y a %s nouvelles toutes fraîches à modérer" -#: sith/settings.py:594 +#: sith/settings.py:595 msgid "New files to be moderated" msgstr "Nouveaux fichiers à modérer" -#: sith/settings.py:595 +#: sith/settings.py:596 #, python-format msgid "There are %s pictures to be moderated in the SAS" msgstr "Il y a %s photos à modérer dans le SAS" -#: sith/settings.py:596 +#: sith/settings.py:597 msgid "You've been identified on some pictures" msgstr "Vous avez été identifié sur des photos" -#: sith/settings.py:597 +#: sith/settings.py:598 #, python-format msgid "You just refilled of %s €" msgstr "Vous avez rechargé votre compte de %s€" -#: sith/settings.py:598 +#: sith/settings.py:599 #, python-format msgid "You just bought %s" msgstr "Vous avez acheté %s" -#: sith/settings.py:599 +#: sith/settings.py:600 msgid "You have a notification" msgstr "Vous avez une notification" -#: sith/settings.py:611 +#: sith/settings.py:612 msgid "Success!" msgstr "Succès !" -#: sith/settings.py:612 +#: sith/settings.py:613 msgid "Fail!" msgstr "Échec !" -#: sith/settings.py:613 +#: sith/settings.py:614 msgid "You successfully posted an article in the Weekmail" msgstr "Article posté avec succès dans le Weekmail" -#: sith/settings.py:614 +#: sith/settings.py:615 msgid "You successfully edited an article in the Weekmail" msgstr "Article édité avec succès dans le Weekmail" -#: sith/settings.py:615 +#: sith/settings.py:616 msgid "You successfully sent the Weekmail" msgstr "Weekmail envoyé avec succès" -#: sith/settings.py:623 +#: sith/settings.py:624 msgid "AE tee-shirt" msgstr "Tee-shirt AE" @@ -5985,16 +5991,16 @@ msgstr "Trombi de %(user_name)s" msgid "Trombi'" msgstr "Trombi'" -#: trombi/templates/trombi/user_tools.jinja:16 +#: trombi/templates/trombi/user_tools.jinja:17 #, python-format msgid "You are subscribed to the Trombi %(trombi)s" msgstr "Vous êtes inscrit au Trombi %(trombi)s" -#: trombi/templates/trombi/user_tools.jinja:21 +#: trombi/templates/trombi/user_tools.jinja:22 msgid "You can not write comments at this date." msgstr "Vous ne pouvez pas commenter à cette date." -#: trombi/templates/trombi/user_tools.jinja:23 +#: trombi/templates/trombi/user_tools.jinja:24 #, python-format msgid "" "Comments are only allowed between %(start)s (excluded) and %(end)s (included)" @@ -6002,31 +6008,31 @@ msgstr "" "Les commentaires sont autorisés entre le %(start)s (exclu) et le %(end)s " "(inclu)" -#: trombi/templates/trombi/user_tools.jinja:48 +#: trombi/templates/trombi/user_tools.jinja:49 msgid "Edit comment" msgstr "Éditer le commentaire" -#: trombi/views.py:66 +#: trombi/views.py:68 msgid "My profile" msgstr "Mon profil" -#: trombi/views.py:73 +#: trombi/views.py:75 msgid "My pictures" msgstr "Mes photos" -#: trombi/views.py:85 +#: trombi/views.py:87 msgid "Admin tools" msgstr "Admin Trombi" -#: trombi/views.py:205 +#: trombi/views.py:220 msgid "Explain why you rejected the comment" msgstr "Expliquez pourquoi vous refusez le commentaire" -#: trombi/views.py:238 +#: trombi/views.py:253 msgid "Rejected comment" msgstr "Commentaire rejeté" -#: trombi/views.py:240 +#: trombi/views.py:255 #, python-format msgid "" "Your comment to %(target)s on the Trombi \"%(trombi)s\" was rejected for the " @@ -6043,16 +6049,16 @@ msgstr "" "\n" "%(content)s" -#: trombi/views.py:272 +#: trombi/views.py:287 #, python-format msgid "%(name)s (deadline: %(date)s)" msgstr "%(name)s (date limite: %(date)s)" -#: trombi/views.py:282 +#: trombi/views.py:297 msgid "Select trombi" msgstr "Choisir un trombi" -#: trombi/views.py:284 +#: trombi/views.py:299 msgid "" "This allows you to subscribe to a Trombi. Be aware that you can subscribe " "only once, so don't play with that, or you will expose yourself to the " @@ -6062,19 +6068,19 @@ msgstr "" "pouvez vous inscrire qu'à un seul Trombi, donc ne jouez pas avec cet option " "ou vous encourerez la colère des admins!" -#: trombi/views.py:346 +#: trombi/views.py:372 msgid "Personal email (not UTBM)" msgstr "Email personnel (pas UTBM)" -#: trombi/views.py:347 +#: trombi/views.py:373 msgid "Phone" msgstr "Téléphone" -#: trombi/views.py:348 +#: trombi/views.py:374 msgid "Native town" msgstr "Ville d'origine" -#: trombi/views.py:432 +#: trombi/views.py:458 msgid "" "You can not yet write comment, you must wait for the subscription deadline " "to be passed." @@ -6082,11 +6088,11 @@ msgstr "" "Vous ne pouvez pas encore écrire de commentaires, vous devez attendre la fin " "des inscriptions" -#: trombi/views.py:439 +#: trombi/views.py:465 msgid "You can not write comment anymore, the deadline is already passed." msgstr "Vous ne pouvez plus écrire de commentaires, la date est passée." -#: trombi/views.py:452 +#: trombi/views.py:478 #, python-format msgid "Maximum characters: %(max_length)s" msgstr "Nombre de caractères max: %(max_length)s" From 5a55a6c642d296c589d1d690cd510da531e3c39c Mon Sep 17 00:00:00 2001 From: Robin Trioux Date: Sun, 13 Oct 2019 17:29:08 +0200 Subject: [PATCH 2/3] E-ticket link is sent in the email --- counter/models.py | 30 +- locale/fr/LC_MESSAGES/django.po | 829 ++++++++++++++++---------------- 2 files changed, 438 insertions(+), 421 deletions(-) diff --git a/counter/models.py b/counter/models.py index 584bb99a..04c7073a 100644 --- a/counter/models.py +++ b/counter/models.py @@ -490,7 +490,7 @@ class Selling(models.Model): event = self.product.eticket.event_title or _("Unknown event") subject = _("Eticket bought for the event %(event)s") % {"event": event} message_html = _( - "You bought an eticket for the event %(event)s.\nYou can download it on this page %(url)s." + "You bought an eticket for the event %(event)s.\nYou can download it directly from this link %(eticket)s.\nYou can also retreive all your e-tickets on your account page %(url)s." ) % { "event": event, "url": "".join( @@ -502,10 +502,15 @@ class Selling(models.Model): "", ) ), + "eticket": "" + self.get_eticket_full_url() + "" } message_txt = _( - "You bought an eticket for the event %(event)s.\nYou can download it on this page %(url)s." - ) % {"event": event, "url": self.customer.get_full_url()} + "You bought an eticket for the event %(event)s.\nYou can download it directly from this link %(eticket)s.\nYou can also retreive all your e-tickets on your account page %(url)s." + ) % { + "event": event, + "url": self.customer.get_full_url(), + "eticket": "" + self.get_eticket_full_url() + "" + } self.customer.user.email_user(subject, message_txt, html_message=message_html) def save(self, allow_negative=False, *args, **kwargs): @@ -568,11 +573,6 @@ class Selling(models.Model): start=sub.subscription_start, ) sub.save() - try: - if self.product.eticket: - self.send_mail_customer() - except: - pass if self.customer.user.preferences.notify_on_click: Notification( user=self.customer.user, @@ -588,6 +588,20 @@ class Selling(models.Model): type="SELLING", ).save() super(Selling, self).save(*args, **kwargs) + try: + # The product has no id until it's saved + if self.product.eticket: + self.send_mail_customer() + except: + pass + + def get_eticket_full_url(self): + eticket_url = reverse("counter:eticket_pdf", kwargs={"selling_id": self.id}) + return "".join( + [ + "https://", settings.SITH_URL, eticket_url + ] + ) class Permanency(models.Model): diff --git a/locale/fr/LC_MESSAGES/django.po b/locale/fr/LC_MESSAGES/django.po index c7e99d71..e0c792f0 100644 --- a/locale/fr/LC_MESSAGES/django.po +++ b/locale/fr/LC_MESSAGES/django.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-10-12 17:41+0200\n" +"POT-Creation-Date: 2019-10-13 17:21+0200\n" "PO-Revision-Date: 2016-07-18\n" "Last-Translator: Skia \n" "Language-Team: AE info \n" @@ -16,12 +16,12 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: accounting/models.py:61 accounting/models.py:110 accounting/models.py:138 -#: accounting/models.py:203 club/models.py:48 com/models.py:253 -#: com/models.py:270 counter/models.py:121 counter/models.py:149 -#: counter/models.py:211 forum/models.py:58 launderette/models.py:38 -#: launderette/models.py:90 launderette/models.py:125 stock/models.py:40 -#: stock/models.py:60 stock/models.py:100 stock/models.py:127 +#: accounting/models.py:61 accounting/models.py:110 accounting/models.py:143 +#: accounting/models.py:216 club/models.py:48 com/models.py:277 +#: com/models.py:294 counter/models.py:121 counter/models.py:149 +#: counter/models.py:213 forum/models.py:58 launderette/models.py:38 +#: launderette/models.py:93 launderette/models.py:131 stock/models.py:40 +#: stock/models.py:63 stock/models.py:105 stock/models.py:134 msgid "name" msgstr "nom" @@ -65,116 +65,116 @@ msgstr "IBAN" msgid "account number" msgstr "numero de compte" -#: accounting/models.py:113 accounting/models.py:139 club/models.py:266 -#: com/models.py:74 com/models.py:241 com/models.py:274 counter/models.py:166 -#: counter/models.py:212 trombi/models.py:205 +#: accounting/models.py:116 accounting/models.py:147 club/models.py:275 +#: com/models.py:75 com/models.py:264 com/models.py:300 counter/models.py:167 +#: counter/models.py:215 trombi/models.py:217 msgid "club" msgstr "club" -#: accounting/models.py:116 +#: accounting/models.py:121 msgid "Bank account" msgstr "Compte en banque" -#: accounting/models.py:141 +#: accounting/models.py:153 msgid "bank account" msgstr "compte en banque" -#: accounting/models.py:145 +#: accounting/models.py:158 msgid "Club account" msgstr "Compte club" -#: accounting/models.py:190 +#: accounting/models.py:203 #, python-format msgid "%(club_account)s on %(bank_account)s" msgstr "%(club_account)s sur %(bank_account)s" -#: accounting/models.py:201 club/models.py:268 counter/models.py:591 -#: election/models.py:18 launderette/models.py:180 +#: accounting/models.py:214 club/models.py:281 counter/models.py:616 +#: election/models.py:18 launderette/models.py:194 msgid "start date" msgstr "date de début" -#: accounting/models.py:202 club/models.py:269 counter/models.py:592 +#: accounting/models.py:215 club/models.py:282 counter/models.py:617 #: election/models.py:19 msgid "end date" msgstr "date de fin" -#: accounting/models.py:204 +#: accounting/models.py:217 msgid "is closed" msgstr "est fermé" -#: accounting/models.py:206 accounting/models.py:521 +#: accounting/models.py:222 accounting/models.py:549 msgid "club account" msgstr "compte club" -#: accounting/models.py:208 accounting/models.py:268 counter/models.py:56 -#: counter/models.py:348 +#: accounting/models.py:225 accounting/models.py:289 counter/models.py:56 +#: counter/models.py:354 msgid "amount" msgstr "montant" -#: accounting/models.py:209 +#: accounting/models.py:226 msgid "effective_amount" msgstr "montant effectif" -#: accounting/models.py:212 +#: accounting/models.py:229 msgid "General journal" msgstr "Classeur" -#: accounting/models.py:264 +#: accounting/models.py:281 msgid "number" msgstr "numéro" -#: accounting/models.py:266 +#: accounting/models.py:286 msgid "journal" msgstr "classeur" -#: accounting/models.py:269 core/models.py:813 core/models.py:1349 -#: core/models.py:1395 core/models.py:1424 counter/models.py:353 -#: counter/models.py:446 counter/models.py:615 eboutic/models.py:42 -#: eboutic/models.py:85 forum/models.py:298 forum/models.py:391 -#: stock/models.py:99 +#: accounting/models.py:290 core/models.py:825 core/models.py:1363 +#: core/models.py:1411 core/models.py:1440 counter/models.py:364 +#: counter/models.py:457 counter/models.py:646 eboutic/models.py:46 +#: eboutic/models.py:93 forum/models.py:311 forum/models.py:408 +#: stock/models.py:104 msgid "date" msgstr "date" -#: accounting/models.py:270 counter/models.py:123 counter/models.py:616 -#: pedagogy/models.py:215 stock/models.py:102 +#: accounting/models.py:291 counter/models.py:123 counter/models.py:647 +#: pedagogy/models.py:219 stock/models.py:107 msgid "comment" msgstr "commentaire" -#: accounting/models.py:272 counter/models.py:355 counter/models.py:448 -#: subscription/models.py:64 +#: accounting/models.py:293 counter/models.py:366 counter/models.py:459 +#: subscription/models.py:66 msgid "payment method" msgstr "méthode de paiement" -#: accounting/models.py:277 +#: accounting/models.py:298 msgid "cheque number" msgstr "numéro de chèque" -#: accounting/models.py:282 eboutic/models.py:166 +#: accounting/models.py:303 eboutic/models.py:178 msgid "invoice" msgstr "facture" -#: accounting/models.py:286 +#: accounting/models.py:308 msgid "is done" msgstr "est fait" -#: accounting/models.py:290 +#: accounting/models.py:312 msgid "simple type" msgstr "type simplifié" -#: accounting/models.py:297 accounting/models.py:462 +#: accounting/models.py:320 accounting/models.py:487 msgid "accounting type" msgstr "type comptable" -#: accounting/models.py:304 accounting/models.py:450 accounting/models.py:485 -#: accounting/models.py:519 core/models.py:1423 counter/models.py:412 +#: accounting/models.py:328 accounting/models.py:475 accounting/models.py:510 +#: accounting/models.py:545 core/models.py:1439 counter/models.py:423 msgid "label" msgstr "étiquette" -#: accounting/models.py:310 +#: accounting/models.py:334 msgid "target type" msgstr "type de cible" -#: accounting/models.py:313 club/models.py:415 +#: accounting/models.py:337 club/models.py:438 #: club/templates/club/club_members.jinja:16 #: club/templates/club/club_old_members.jinja:8 #: club/templates/club/mailing.jinja:41 @@ -186,7 +186,7 @@ msgstr "type de cible" msgid "User" msgstr "Utilisateur" -#: accounting/models.py:314 club/models.py:320 +#: accounting/models.py:338 club/models.py:334 #: club/templates/club/club_detail.jinja:12 #: com/templates/com/mailing_admin.jinja:11 #: com/templates/com/news_admin_list.jinja:23 @@ -210,36 +210,36 @@ msgstr "Utilisateur" msgid "Club" msgstr "Club" -#: accounting/models.py:315 core/views/user.py:297 +#: accounting/models.py:339 core/views/user.py:286 msgid "Account" msgstr "Compte" -#: accounting/models.py:316 +#: accounting/models.py:340 msgid "Company" msgstr "Entreprise" -#: accounting/models.py:317 sith/settings.py:378 +#: accounting/models.py:341 sith/settings.py:377 #: stock/templates/stock/shopping_list_items.jinja:37 msgid "Other" msgstr "Autre" -#: accounting/models.py:320 +#: accounting/models.py:344 msgid "target id" msgstr "id de la cible" -#: accounting/models.py:322 +#: accounting/models.py:346 msgid "target label" msgstr "nom de la cible" -#: accounting/models.py:327 +#: accounting/models.py:351 msgid "linked operation" msgstr "opération liée" -#: accounting/models.py:346 +#: accounting/models.py:371 msgid "The date must be set." msgstr "La date doit être indiquée." -#: accounting/models.py:350 +#: accounting/models.py:375 #, python-format msgid "" "The date can not be before the start date of the journal, which is\n" @@ -248,16 +248,16 @@ msgstr "" "La date ne peut pas être avant la date de début du journal, qui est\n" "%(start_date)s." -#: accounting/models.py:360 +#: accounting/models.py:385 msgid "Target does not exists" msgstr "La cible n'existe pas." -#: accounting/models.py:363 +#: accounting/models.py:388 msgid "Please add a target label if you set no existing target" msgstr "" "Merci d'ajouter un nom de cible si vous ne spécifiez pas de cible existante" -#: accounting/models.py:368 +#: accounting/models.py:393 msgid "" "You need to provide ether a simplified accounting type or a standard " "accounting type" @@ -265,41 +265,41 @@ msgstr "" "Vous devez fournir soit un type comptable simplifié ou un type comptable " "standard" -#: accounting/models.py:442 counter/models.py:159 pedagogy/models.py:46 +#: accounting/models.py:467 counter/models.py:159 pedagogy/models.py:46 msgid "code" msgstr "code" -#: accounting/models.py:446 +#: accounting/models.py:471 msgid "An accounting type code contains only numbers" msgstr "Un code comptable ne contient que des numéros" -#: accounting/models.py:452 +#: accounting/models.py:477 msgid "movement type" msgstr "type de mouvement" -#: accounting/models.py:454 +#: accounting/models.py:479 #: accounting/templates/accounting/journal_statement_nature.jinja:9 #: accounting/templates/accounting/journal_statement_person.jinja:12 #: accounting/views.py:602 msgid "Credit" msgstr "Crédit" -#: accounting/models.py:455 +#: accounting/models.py:480 #: accounting/templates/accounting/journal_statement_nature.jinja:28 #: accounting/templates/accounting/journal_statement_person.jinja:40 #: accounting/views.py:602 msgid "Debit" msgstr "Débit" -#: accounting/models.py:456 +#: accounting/models.py:481 msgid "Neutral" msgstr "Neutre" -#: accounting/models.py:489 +#: accounting/models.py:514 msgid "simplified accounting types" msgstr "type simplifié" -#: accounting/models.py:493 +#: accounting/models.py:519 msgid "simplified type" msgstr "type simplifié" @@ -391,7 +391,7 @@ msgid "Delete" msgstr "Supprimer" #: accounting/templates/accounting/bank_account_details.jinja:18 -#: club/views.py:78 core/views/user.py:207 sas/templates/sas/picture.jinja:86 +#: club/views.py:78 core/views/user.py:196 sas/templates/sas/picture.jinja:86 msgid "Infos" msgstr "Infos" @@ -425,7 +425,7 @@ msgstr "Nouveau compte club" #: com/templates/com/weekmail.jinja:61 core/templates/core/file.jinja:38 #: core/templates/core/group_list.jinja:24 core/templates/core/page.jinja:35 #: core/templates/core/poster_list.jinja:40 -#: core/templates/core/user_tools.jinja:42 core/views/user.py:239 +#: core/templates/core/user_tools.jinja:42 core/views/user.py:228 #: counter/templates/counter/cash_summary_list.jinja:53 #: counter/templates/counter/counter_list.jinja:17 #: counter/templates/counter/counter_list.jinja:33 @@ -531,7 +531,7 @@ msgid "Effective amount" msgstr "Montant effectif" #: accounting/templates/accounting/club_account_details.jinja:36 -#: sith/settings.py:422 +#: sith/settings.py:421 msgid "Closed" msgstr "Fermé" @@ -969,7 +969,7 @@ msgid "Begin date" msgstr "Date de début" #: club/forms.py:169 com/views.py:85 com/views.py:210 counter/views.py:1564 -#: election/views.py:190 subscription/views.py:52 +#: election/views.py:178 subscription/views.py:52 msgid "End date" msgstr "Date de fin" @@ -1002,11 +1002,11 @@ msgstr "Vous devez choisir un rôle" msgid "You do not have the permission to do that" msgstr "Vous n'avez pas la permission de faire cela" -#: club/models.py:51 +#: club/models.py:53 msgid "unix name" msgstr "nom unix" -#: club/models.py:58 +#: club/models.py:60 msgid "" "Enter a valid unix name. This value may contain only letters, numbers ./-/_ " "characters." @@ -1014,94 +1014,94 @@ msgstr "" "Entrez un nom UNIX valide. Cette valeur peut contenir uniquement des " "lettres, des nombres, et les caractères ./-/_" -#: club/models.py:63 +#: club/models.py:65 msgid "A club with that unix name already exists." msgstr "Un club avec ce nom UNIX existe déjà." -#: club/models.py:66 +#: club/models.py:68 msgid "logo" msgstr "logo" -#: club/models.py:68 +#: club/models.py:70 msgid "is active" msgstr "actif" -#: club/models.py:70 +#: club/models.py:72 msgid "short description" msgstr "description courte" -#: club/models.py:72 core/models.py:260 +#: club/models.py:74 core/models.py:260 msgid "address" msgstr "Adresse" -#: club/models.py:89 core/models.py:173 +#: club/models.py:94 core/models.py:173 msgid "home" msgstr "home" -#: club/models.py:111 +#: club/models.py:118 msgid "You can not make loops in clubs" msgstr "Vous ne pouvez pas faire de boucles dans les clubs" -#: club/models.py:125 +#: club/models.py:132 msgid "A club with that unix_name already exists" msgstr "Un club avec ce nom UNIX existe déjà." -#: club/models.py:260 counter/models.py:587 counter/models.py:610 -#: eboutic/models.py:40 eboutic/models.py:83 election/models.py:180 -#: launderette/models.py:134 launderette/models.py:190 sas/models.py:243 -#: trombi/models.py:203 +#: club/models.py:267 counter/models.py:607 counter/models.py:637 +#: eboutic/models.py:42 eboutic/models.py:89 election/models.py:192 +#: launderette/models.py:145 launderette/models.py:213 sas/models.py:244 +#: trombi/models.py:213 msgid "user" msgstr "nom d'utilisateur" -#: club/models.py:271 core/models.py:224 election/models.py:178 -#: election/models.py:204 trombi/models.py:206 +#: club/models.py:284 core/models.py:224 election/models.py:187 +#: election/models.py:223 trombi/models.py:218 msgid "role" msgstr "rôle" -#: club/models.py:276 core/models.py:73 counter/models.py:122 -#: counter/models.py:150 election/models.py:15 election/models.py:117 -#: election/models.py:182 forum/models.py:59 forum/models.py:231 +#: club/models.py:289 core/models.py:73 counter/models.py:122 +#: counter/models.py:150 election/models.py:15 election/models.py:120 +#: election/models.py:197 forum/models.py:59 forum/models.py:240 msgid "description" msgstr "description" -#: club/models.py:286 +#: club/models.py:299 msgid "past member" msgstr "Anciens membres" -#: club/models.py:323 club/models.py:420 +#: club/models.py:341 club/models.py:444 msgid "Email address" msgstr "Adresse email" -#: club/models.py:331 +#: club/models.py:349 msgid "Enter a valid address. Only the root of the address is needed." msgstr "" "Entrez une adresse valide. Seule la racine de l'adresse est nécessaire." -#: club/models.py:335 com/models.py:78 com/models.py:282 core/models.py:814 +#: club/models.py:353 com/models.py:83 com/models.py:310 core/models.py:826 msgid "is moderated" msgstr "est modéré" -#: club/models.py:337 com/models.py:80 com/models.py:286 +#: club/models.py:357 com/models.py:87 com/models.py:314 msgid "moderator" msgstr "modérateur" -#: club/models.py:342 +#: club/models.py:364 msgid "This mailing list already exists." msgstr "Cette liste de diffusion existe déjà." -#: club/models.py:408 club/templates/club/mailing.jinja:23 +#: club/models.py:430 club/templates/club/mailing.jinja:23 msgid "Mailing" msgstr "Liste de diffusion" -#: club/models.py:427 +#: club/models.py:451 msgid "At least user or email is required" msgstr "Au moins un utilisateur ou un email est nécessaire" -#: club/models.py:435 club/tests.py:633 +#: club/models.py:459 club/tests.py:633 msgid "This email is already suscribed in this mailing" msgstr "Cet email est déjà abonné à cette mailing" -#: club/models.py:461 +#: club/models.py:485 msgid "Unregistered user" msgstr "Utilisateur non enregistré" @@ -1363,7 +1363,7 @@ msgstr "Anciens membres" msgid "History" msgstr "Historique" -#: club/views.py:115 core/templates/core/base.jinja:119 core/views/user.py:230 +#: club/views.py:115 core/templates/core/base.jinja:119 core/views/user.py:219 #: sas/templates/sas/picture.jinja:95 trombi/views.py:61 msgid "Tools" msgstr "Outils" @@ -1419,9 +1419,9 @@ msgstr "Hebdomadaire" msgid "Call" msgstr "Appel" -#: com/models.py:68 com/models.py:161 com/models.py:235 election/models.py:14 -#: election/models.py:116 election/models.py:156 forum/models.py:242 -#: forum/models.py:296 pedagogy/models.py:100 +#: com/models.py:68 com/models.py:175 com/models.py:253 election/models.py:14 +#: election/models.py:119 election/models.py:159 forum/models.py:251 +#: forum/models.py:309 pedagogy/models.py:101 msgid "title" msgstr "titre" @@ -1429,70 +1429,70 @@ msgstr "titre" msgid "summary" msgstr "résumé" -#: com/models.py:70 com/models.py:236 trombi/models.py:188 +#: com/models.py:70 com/models.py:254 trombi/models.py:197 msgid "content" msgstr "contenu" -#: com/models.py:72 core/models.py:1393 launderette/models.py:95 -#: launderette/models.py:130 launderette/models.py:182 stock/models.py:77 -#: stock/models.py:131 +#: com/models.py:72 core/models.py:1409 launderette/models.py:101 +#: launderette/models.py:139 launderette/models.py:196 stock/models.py:80 +#: stock/models.py:138 msgid "type" msgstr "type" -#: com/models.py:76 com/models.py:238 pedagogy/models.py:61 -#: pedagogy/models.py:210 trombi/models.py:183 +#: com/models.py:80 com/models.py:258 pedagogy/models.py:61 +#: pedagogy/models.py:211 trombi/models.py:187 msgid "author" msgstr "auteur" -#: com/models.py:141 +#: com/models.py:153 msgid "news_date" msgstr "date de la nouvelle" -#: com/models.py:142 +#: com/models.py:156 msgid "start_date" msgstr "date de début" -#: com/models.py:143 +#: com/models.py:157 msgid "end_date" msgstr "date de fin" -#: com/models.py:162 +#: com/models.py:176 msgid "intro" msgstr "intro" -#: com/models.py:163 +#: com/models.py:177 msgid "joke" msgstr "blague" -#: com/models.py:164 +#: com/models.py:178 msgid "protip" msgstr "astuce" -#: com/models.py:165 +#: com/models.py:179 msgid "conclusion" msgstr "conclusion" -#: com/models.py:166 +#: com/models.py:180 msgid "sent" msgstr "envoyé" -#: com/models.py:233 +#: com/models.py:249 msgid "weekmail" msgstr "weekmail" -#: com/models.py:243 +#: com/models.py:267 msgid "rank" msgstr "rang" -#: com/models.py:272 core/models.py:784 core/models.py:828 +#: com/models.py:296 core/models.py:791 core/models.py:841 msgid "file" msgstr "fichier" -#: com/models.py:280 +#: com/models.py:308 msgid "display time" msgstr "temps d'affichage" -#: com/models.py:307 +#: com/models.py:336 msgid "Begin date should be before end date" msgstr "La date de début doit être avant celle de fin" @@ -1897,7 +1897,7 @@ msgstr "Astuce" msgid "Final word" msgstr "Le mot de la fin" -#: com/views.py:78 com/views.py:204 election/views.py:185 +#: com/views.py:78 com/views.py:204 election/views.py:172 #: subscription/views.py:46 msgid "Start date" msgstr "Date de début" @@ -1922,31 +1922,31 @@ msgstr "Message d'alerte" msgid "Screens list" msgstr "Liste d'écrans" -#: com/views.py:215 +#: com/views.py:216 msgid "Until" msgstr "Jusqu'à" -#: com/views.py:217 +#: com/views.py:220 msgid "Automoderation" msgstr "Automodération" -#: com/views.py:224 com/views.py:228 com/views.py:238 +#: com/views.py:227 com/views.py:231 com/views.py:241 msgid "This field is required." msgstr "Ce champ est obligatoire." -#: com/views.py:234 +#: com/views.py:237 msgid "You crazy? You can not finish an event before starting it." msgstr "T'es fou? Un événement ne peut pas finir avant même de commencer." -#: com/views.py:463 +#: com/views.py:466 msgid "Delete and save to regenerate" msgstr "Supprimer et sauver pour regénérer" -#: com/views.py:478 +#: com/views.py:481 msgid "Weekmail of the " msgstr "Weekmail du " -#: com/views.py:588 +#: com/views.py:591 msgid "" "You must be a board member of the selected club to post in the Weekmail." msgstr "" @@ -2060,11 +2060,11 @@ msgstr "blouse" msgid "sex" msgstr "sexe" -#: core/models.py:205 matmat/views.py:73 +#: core/models.py:205 matmat/views.py:74 msgid "Man" msgstr "Homme" -#: core/models.py:205 matmat/views.py:73 +#: core/models.py:205 matmat/views.py:75 msgid "Woman" msgstr "Femme" @@ -2140,7 +2140,7 @@ msgstr "département" msgid "dpt option" msgstr "Filière" -#: core/models.py:248 pedagogy/models.py:73 pedagogy/models.py:295 +#: core/models.py:248 pedagogy/models.py:74 pedagogy/models.py:303 msgid "semester" msgstr "semestre" @@ -2202,105 +2202,105 @@ msgstr "Profil" msgid "Visitor" msgstr "Visiteur" -#: core/models.py:748 +#: core/models.py:750 msgid "do you want to receive the weekmail" msgstr "voulez-vous recevoir le Weekmail" -#: core/models.py:750 +#: core/models.py:752 msgid "show your stats to others" msgstr "montrez vos statistiques aux autres" -#: core/models.py:752 +#: core/models.py:754 msgid "get a notification for every click" msgstr "recevez une notification pour chaque click" -#: core/models.py:755 +#: core/models.py:757 msgid "get a notification for every refilling" msgstr "recevez une notification pour chaque rechargement" -#: core/models.py:778 +#: core/models.py:780 msgid "file name" msgstr "nom du fichier" -#: core/models.py:780 core/models.py:1119 +#: core/models.py:784 core/models.py:1132 msgid "parent" msgstr "parent" -#: core/models.py:791 +#: core/models.py:798 msgid "compressed file" msgstr "version allégée" -#: core/models.py:798 +#: core/models.py:805 msgid "thumbnail" msgstr "miniature" -#: core/models.py:803 core/models.py:818 +#: core/models.py:813 core/models.py:830 msgid "owner" msgstr "propriétaire" -#: core/models.py:805 core/models.py:1138 core/views/files.py:191 +#: core/models.py:817 core/models.py:1152 core/views/files.py:191 msgid "edit group" msgstr "groupe d'édition" -#: core/models.py:808 core/models.py:1141 core/views/files.py:194 +#: core/models.py:820 core/models.py:1155 core/views/files.py:194 msgid "view group" msgstr "groupe de vue" -#: core/models.py:810 +#: core/models.py:822 msgid "is folder" msgstr "est un dossier" -#: core/models.py:811 +#: core/models.py:823 msgid "mime type" msgstr "type mime" -#: core/models.py:812 +#: core/models.py:824 msgid "size" msgstr "taille" -#: core/models.py:822 +#: core/models.py:835 msgid "asked for removal" msgstr "retrait demandé" -#: core/models.py:824 +#: core/models.py:837 msgid "is in the SAS" msgstr "est dans le SAS" -#: core/models.py:866 +#: core/models.py:879 msgid "Character '/' not authorized in name" msgstr "Le caractère '/' n'est pas autorisé dans les noms de fichier" -#: core/models.py:868 core/models.py:872 +#: core/models.py:881 core/models.py:885 msgid "Loop in folder tree" msgstr "Boucle dans l'arborescence des dossiers" -#: core/models.py:875 +#: core/models.py:888 msgid "You can not make a file be a children of a non folder file" msgstr "" "Vous ne pouvez pas mettre un fichier enfant de quelque chose qui n'est pas " "un dossier" -#: core/models.py:886 +#: core/models.py:899 msgid "Duplicate file" msgstr "Un fichier de ce nom existe déjà" -#: core/models.py:903 +#: core/models.py:916 msgid "You must provide a file" msgstr "Vous devez fournir un fichier" -#: core/models.py:1043 +#: core/models.py:1056 msgid "Folder: " msgstr "Dossier : " -#: core/models.py:1045 +#: core/models.py:1058 msgid "File: " msgstr "Fichier : " -#: core/models.py:1102 +#: core/models.py:1115 msgid "page unix name" msgstr "nom unix de la page" -#: core/models.py:1108 +#: core/models.py:1121 msgid "" "Enter a valid page name. This value may contain only unaccented letters, " "numbers and ./+/-/_ characters." @@ -2308,51 +2308,51 @@ msgstr "" "Entrez un nom de page correct. Uniquement des lettres non accentuées, " "numéros, et ./+/-/_" -#: core/models.py:1126 +#: core/models.py:1139 msgid "page name" msgstr "nom de la page" -#: core/models.py:1134 +#: core/models.py:1147 msgid "owner group" msgstr "groupe propriétaire" -#: core/models.py:1146 +#: core/models.py:1160 msgid "lock user" msgstr "utilisateur bloquant" -#: core/models.py:1152 +#: core/models.py:1167 msgid "lock_timeout" msgstr "décompte du déblocage" -#: core/models.py:1183 +#: core/models.py:1197 msgid "Duplicate page" msgstr "Une page de ce nom existe déjà" -#: core/models.py:1186 +#: core/models.py:1200 msgid "Loop in page tree" msgstr "Boucle dans l'arborescence des pages" -#: core/models.py:1346 +#: core/models.py:1360 msgid "revision" msgstr "révision" -#: core/models.py:1347 +#: core/models.py:1361 msgid "page title" msgstr "titre de la page" -#: core/models.py:1348 +#: core/models.py:1362 msgid "page content" msgstr "contenu de la page" -#: core/models.py:1390 +#: core/models.py:1406 msgid "url" msgstr "url" -#: core/models.py:1391 +#: core/models.py:1407 msgid "param" msgstr "param" -#: core/models.py:1396 +#: core/models.py:1412 msgid "viewed" msgstr "vue" @@ -2469,13 +2469,13 @@ msgstr "Forum" msgid "Gallery" msgstr "Photos" -#: core/templates/core/base.jinja:181 counter/models.py:219 +#: core/templates/core/base.jinja:181 counter/models.py:223 #: counter/templates/counter/counter_list.jinja:11 #: eboutic/templates/eboutic/eboutic_main.jinja:4 #: eboutic/templates/eboutic/eboutic_main.jinja:24 #: eboutic/templates/eboutic/eboutic_makecommand.jinja:8 #: eboutic/templates/eboutic/eboutic_payment_result.jinja:4 -#: sith/settings.py:377 sith/settings.py:385 +#: sith/settings.py:376 sith/settings.py:384 msgid "Eboutic" msgstr "Eboutic" @@ -2487,7 +2487,7 @@ msgstr "Services" msgid "Matmatronch" msgstr "Matmatronch" -#: core/templates/core/base.jinja:188 launderette/models.py:44 +#: core/templates/core/base.jinja:188 launderette/models.py:47 #: launderette/templates/launderette/launderette_book.jinja:5 #: launderette/templates/launderette/launderette_book_choose.jinja:4 #: launderette/templates/launderette/launderette_main.jinja:4 @@ -2756,7 +2756,7 @@ msgstr "Cotisant jusqu'au %(subscription_end)s" msgid "Account number: " msgstr "Numero de compte : " -#: core/templates/core/macros.jinja:88 launderette/models.py:193 +#: core/templates/core/macros.jinja:88 launderette/models.py:217 msgid "Slot" msgstr "Créneau" @@ -2996,7 +2996,7 @@ msgstr "Résultat de la recherche" msgid "Users" msgstr "Utilisateurs" -#: core/templates/core/search.jinja:18 core/views/user.py:258 +#: core/templates/core/search.jinja:18 core/views/user.py:247 #: counter/templates/counter/stats.jinja:17 msgid "Clubs" msgstr "Clubs" @@ -3227,8 +3227,8 @@ msgstr "Parrains de %(user_name)s" msgid "Show family picture" msgstr "Voir une image de la famille" -#: core/templates/core/user_godfathers.jinja:12 core/views/user.py:216 -#: core/views/user.py:488 +#: core/templates/core/user_godfathers.jinja:12 core/views/user.py:205 +#: core/views/user.py:477 msgid "Godfathers" msgstr "Parrains" @@ -3241,7 +3241,7 @@ msgstr "Voir l'arbre des ancêtres" msgid "No godfathers" msgstr "Pas de parrains" -#: core/templates/core/user_godfathers.jinja:25 core/views/user.py:486 +#: core/templates/core/user_godfathers.jinja:25 core/views/user.py:475 msgid "Godchildren" msgstr "Fillots" @@ -3297,7 +3297,7 @@ msgid "%(user_name)s's pictures" msgstr "Photos de %(user_name)s" #: core/templates/core/user_preferences.jinja:4 -#: core/templates/core/user_preferences.jinja:8 core/views/user.py:248 +#: core/templates/core/user_preferences.jinja:8 core/views/user.py:237 msgid "Preferences" msgstr "Préférences" @@ -3363,7 +3363,7 @@ msgstr "Outils utilisateurs" msgid "Sith management" msgstr "Gestion de Sith" -#: core/templates/core/user_tools.jinja:14 core/views/user.py:268 +#: core/templates/core/user_tools.jinja:14 core/views/user.py:257 msgid "Groups" msgstr "Groupes" @@ -3413,7 +3413,7 @@ msgstr "Relevés de caisse" msgid "Invoices call" msgstr "Appels à facture" -#: core/templates/core/user_tools.jinja:43 core/views/user.py:288 +#: core/templates/core/user_tools.jinja:43 core/views/user.py:277 #: counter/templates/counter/counter_list.jinja:18 #: counter/templates/counter/counter_list.jinja:34 #: counter/templates/counter/counter_list.jinja:56 @@ -3647,12 +3647,12 @@ msgid "Select user" msgstr "Choisir un utilisateur" #: core/views/forms.py:371 core/views/forms.py:389 election/models.py:24 -#: election/views.py:167 +#: election/views.py:154 msgid "edit groups" msgstr "groupe d'édition" #: core/views/forms.py:374 core/views/forms.py:392 election/models.py:31 -#: election/views.py:170 +#: election/views.py:157 msgid "view groups" msgstr "groupe de vue" @@ -3664,16 +3664,16 @@ msgstr "Utilisateurs à retirer du groupe" msgid "Users to add to group" msgstr "Utilisateurs à ajouter au groupe" -#: core/views/user.py:225 trombi/templates/trombi/export.jinja:25 +#: core/views/user.py:214 trombi/templates/trombi/export.jinja:25 #: trombi/templates/trombi/user_profile.jinja:11 msgid "Pictures" msgstr "Photos" -#: core/views/user.py:490 +#: core/views/user.py:479 msgid "Family" msgstr "Famille" -#: core/views/user.py:632 +#: core/views/user.py:621 msgid "User already has a profile picture" msgstr "L'utilisateur a déjà une photo de profil" @@ -3722,163 +3722,166 @@ msgstr "prix de vente spécial" msgid "icon" msgstr "icône" -#: counter/models.py:167 +#: counter/models.py:169 msgid "limit age" msgstr "âge limite" -#: counter/models.py:168 +#: counter/models.py:170 msgid "tray price" msgstr "prix plateau" -#: counter/models.py:172 +#: counter/models.py:174 msgid "parent product" msgstr "produit parent" -#: counter/models.py:178 +#: counter/models.py:180 msgid "buying groups" msgstr "groupe d'achat" -#: counter/models.py:180 election/models.py:52 +#: counter/models.py:182 election/models.py:52 msgid "archived" msgstr "archivé" -#: counter/models.py:183 counter/models.py:702 +#: counter/models.py:185 counter/models.py:738 msgid "product" msgstr "produit" -#: counter/models.py:214 +#: counter/models.py:218 msgid "products" msgstr "produits" -#: counter/models.py:217 +#: counter/models.py:221 msgid "counter type" msgstr "type de comptoir" -#: counter/models.py:219 +#: counter/models.py:223 msgid "Bar" msgstr "Bar" -#: counter/models.py:219 +#: counter/models.py:223 msgid "Office" msgstr "Bureau" -#: counter/models.py:222 +#: counter/models.py:226 msgid "sellers" msgstr "vendeurs" -#: counter/models.py:230 launderette/models.py:188 +#: counter/models.py:234 launderette/models.py:207 msgid "token" msgstr "jeton" -#: counter/models.py:233 counter/models.py:589 counter/models.py:613 -#: launderette/models.py:40 stock/models.py:42 +#: counter/models.py:237 counter/models.py:613 counter/models.py:643 +#: launderette/models.py:41 stock/models.py:43 msgid "counter" msgstr "comptoir" -#: counter/models.py:361 +#: counter/models.py:372 msgid "bank" msgstr "banque" -#: counter/models.py:363 counter/models.py:453 +#: counter/models.py:374 counter/models.py:464 msgid "is validated" msgstr "est validé" -#: counter/models.py:366 +#: counter/models.py:377 msgid "refilling" msgstr "rechargement" -#: counter/models.py:430 eboutic/models.py:146 +#: counter/models.py:441 eboutic/models.py:154 msgid "unit price" msgstr "prix unitaire" -#: counter/models.py:431 counter/models.py:689 eboutic/models.py:147 +#: counter/models.py:442 counter/models.py:723 eboutic/models.py:155 msgid "quantity" msgstr "quantité" -#: counter/models.py:450 +#: counter/models.py:461 msgid "Sith account" msgstr "Compte utilisateur" -#: counter/models.py:450 sith/settings.py:370 sith/settings.py:375 -#: sith/settings.py:393 +#: counter/models.py:461 sith/settings.py:369 sith/settings.py:374 +#: sith/settings.py:392 msgid "Credit card" msgstr "Carte bancaire" -#: counter/models.py:456 +#: counter/models.py:467 msgid "selling" msgstr "vente" -#: counter/models.py:479 +#: counter/models.py:490 msgid "Unknown event" msgstr "Événement inconnu" -#: counter/models.py:480 +#: counter/models.py:491 #, python-format msgid "Eticket bought for the event %(event)s" msgstr "Eticket acheté pour l'événement %(event)s" -#: counter/models.py:482 counter/models.py:496 +#: counter/models.py:493 counter/models.py:508 #, python-format msgid "" "You bought an eticket for the event %(event)s.\n" -"You can download it on this page %(url)s." +"You can download it directly from this link %(eticket)s.\n" +"You can also retreive all your e-tickets on your account page %(url)s." msgstr "" -"Vous avez acheté un Eticket pour l'événement %(event)s.\n" -"Vous pouvez le télécharger sur cette page: %(url)s" +"Vous avez acheté un e-ticket pour l'événement %(event)s.\n" +"Vous pouvez le télécharger directement depuis ce lien: %(eticket)s.\n" +"Vous pouvez également retrouver tous vos e-tickets sur votre page de compte " +"%(url)s." -#: counter/models.py:593 +#: counter/models.py:618 msgid "last activity date" msgstr "dernière activité" -#: counter/models.py:596 +#: counter/models.py:621 msgid "permanency" msgstr "permanence" -#: counter/models.py:617 +#: counter/models.py:648 msgid "emptied" msgstr "coffre vidée" -#: counter/models.py:620 +#: counter/models.py:651 msgid "cash register summary" msgstr "relevé de caisse" -#: counter/models.py:686 +#: counter/models.py:719 msgid "cash summary" msgstr "relevé" -#: counter/models.py:688 +#: counter/models.py:722 msgid "value" msgstr "valeur" -#: counter/models.py:690 +#: counter/models.py:724 msgid "check" msgstr "chèque" -#: counter/models.py:693 +#: counter/models.py:727 msgid "cash register summary item" msgstr "élément de relevé de caisse" -#: counter/models.py:705 +#: counter/models.py:742 msgid "banner" msgstr "bannière" -#: counter/models.py:707 +#: counter/models.py:744 msgid "event date" msgstr "date de l'événement" -#: counter/models.py:709 +#: counter/models.py:746 msgid "event title" msgstr "titre de l'événement" -#: counter/models.py:711 +#: counter/models.py:748 msgid "secret" msgstr "secret" -#: counter/models.py:767 +#: counter/models.py:804 msgid "uid" msgstr "uid" -#: counter/models.py:772 +#: counter/models.py:809 msgid "student cards" msgstr "cartes étudiante" @@ -4292,27 +4295,27 @@ msgstr "Nombre de chèque" msgid "people(s)" msgstr "personne(s)" -#: eboutic/models.py:86 +#: eboutic/models.py:94 msgid "validated" msgstr "validé" -#: eboutic/models.py:99 +#: eboutic/models.py:107 msgid "Invoice already validated" msgstr "Facture déjà validée" -#: eboutic/models.py:143 +#: eboutic/models.py:151 msgid "product id" msgstr "ID du produit" -#: eboutic/models.py:144 +#: eboutic/models.py:152 msgid "product name" msgstr "nom du produit" -#: eboutic/models.py:145 +#: eboutic/models.py:153 msgid "product type id" msgstr "id du type du produit" -#: eboutic/models.py:161 +#: eboutic/models.py:170 msgid "basket" msgstr "panier" @@ -4363,27 +4366,27 @@ msgstr "début des candidatures" msgid "end candidature" msgstr "fin des candidatures" -#: election/models.py:38 election/views.py:173 +#: election/models.py:38 election/views.py:160 msgid "vote groups" msgstr "groupe de vote" -#: election/models.py:45 election/views.py:180 +#: election/models.py:45 election/views.py:167 msgid "candidature groups" msgstr "groupe de candidature" -#: election/models.py:114 election/models.py:158 +#: election/models.py:116 election/models.py:163 msgid "election" msgstr "élection" -#: election/models.py:118 +#: election/models.py:121 msgid "max choice" msgstr "nombre de choix maxi" -#: election/models.py:184 +#: election/models.py:201 msgid "election list" msgstr "liste électorale" -#: election/models.py:206 +#: election/models.py:226 msgid "candidature" msgstr "candidature" @@ -4431,7 +4434,7 @@ msgstr "Vous avez déjà soumis votre vote." msgid "You have voted in this election." msgstr "Vous avez déjà voté pour cette élection." -#: election/templates/election/election_detail.jinja:266 election/views.py:106 +#: election/templates/election/election_detail.jinja:266 election/views.py:93 msgid "Blank vote" msgstr "Vote blanc" @@ -4500,23 +4503,23 @@ msgstr "au" msgid "Polls open from" msgstr "Votes ouverts du" -#: election/views.py:57 +#: election/views.py:44 msgid "You have selected too much candidates." msgstr "Vous avez sélectionné trop de candidats." -#: election/views.py:73 +#: election/views.py:60 msgid "User to candidate" msgstr "Utilisateur se présentant" -#: election/views.py:131 +#: election/views.py:118 msgid "This role already exists for this election" msgstr "Ce rôle existe déjà pour cette élection" -#: election/views.py:194 +#: election/views.py:184 msgid "Start candidature" msgstr "Début des candidatures" -#: election/views.py:200 +#: election/views.py:190 msgid "End candidature" msgstr "Fin des candidatures" @@ -4524,63 +4527,63 @@ msgstr "Fin des candidatures" msgid "is a category" msgstr "est une catégorie" -#: forum/models.py:65 +#: forum/models.py:71 msgid "owner club" msgstr "club propriétaire" -#: forum/models.py:81 +#: forum/models.py:88 msgid "number to choose a specific forum ordering" msgstr "numéro spécifiant l'ordre d'affichage" -#: forum/models.py:86 forum/models.py:238 +#: forum/models.py:93 forum/models.py:247 msgid "the last message" msgstr "le dernier message" -#: forum/models.py:90 +#: forum/models.py:97 msgid "number of topics" msgstr "nombre de sujets" -#: forum/models.py:177 +#: forum/models.py:184 msgid "You can not make loops in forums" msgstr "Vous ne pouvez pas faire de boucles dans les forums" -#: forum/models.py:233 +#: forum/models.py:242 msgid "subscribed users" msgstr "utilisateurs abonnés" -#: forum/models.py:243 +#: forum/models.py:252 msgid "number of messages" msgstr "nombre de messages" -#: forum/models.py:297 +#: forum/models.py:310 msgid "message" msgstr "message" -#: forum/models.py:300 +#: forum/models.py:313 msgid "readers" msgstr "lecteurs" -#: forum/models.py:302 +#: forum/models.py:315 msgid "is deleted" msgstr "est supprimé" -#: forum/models.py:382 +#: forum/models.py:395 msgid "Message edited by" msgstr "Message édité par" -#: forum/models.py:383 +#: forum/models.py:396 msgid "Message deleted by" msgstr "Message supprimé par" -#: forum/models.py:384 +#: forum/models.py:397 msgid "Message undeleted by" msgstr "Message restauré par" -#: forum/models.py:392 +#: forum/models.py:409 msgid "action" msgstr "action" -#: forum/models.py:409 +#: forum/models.py:428 msgid "last read date" msgstr "dernière date de lecture" @@ -4673,31 +4676,31 @@ msgstr "Appliquer les droits et le club propriétaire récursivement" msgid "%(author)s said" msgstr "Citation de %(author)s" -#: launderette/models.py:92 launderette/models.py:127 +#: launderette/models.py:97 launderette/models.py:135 msgid "launderette" msgstr "laverie" -#: launderette/models.py:97 +#: launderette/models.py:103 msgid "is working" msgstr "fonctionne" -#: launderette/models.py:100 +#: launderette/models.py:106 msgid "Machine" msgstr "Machine" -#: launderette/models.py:132 +#: launderette/models.py:141 msgid "borrow date" msgstr "date d'emprunt" -#: launderette/models.py:138 +#: launderette/models.py:152 msgid "Token" msgstr "Jeton" -#: launderette/models.py:144 +#: launderette/models.py:158 msgid "Token name can not be blank" msgstr "Le nom du jeton ne peut pas être vide" -#: launderette/models.py:185 +#: launderette/models.py:201 msgid "machine" msgstr "machine" @@ -4722,12 +4725,12 @@ msgid "Washing and drying" msgstr "Lavage et séchage" #: launderette/templates/launderette/launderette_book.jinja:27 -#: sith/settings.py:584 +#: sith/settings.py:583 msgid "Washing" msgstr "Lavage" #: launderette/templates/launderette/launderette_book.jinja:31 -#: sith/settings.py:584 +#: sith/settings.py:583 msgid "Drying" msgstr "Séchage" @@ -4795,15 +4798,15 @@ msgstr "Recherche inversée" msgid "Quick search" msgstr "Recherche rapide" -#: matmat/views.py:73 +#: matmat/views.py:76 msgid "Indifferent" msgstr "Indifferent" -#: matmat/views.py:76 +#: matmat/views.py:80 msgid "Sex" msgstr "Sexe" -#: matmat/views.py:79 +#: matmat/views.py:83 msgid "Last/First name or nickname" msgstr "Nom de famille, prénom ou surnom" @@ -4831,103 +4834,103 @@ msgstr "" "Le code d'une UV doit seulement contenire des caractères majuscule sans " "accents et nombres" -#: pedagogy/models.py:66 +#: pedagogy/models.py:67 msgid "credit type" msgstr "type de crédit" -#: pedagogy/models.py:71 pedagogy/models.py:101 +#: pedagogy/models.py:72 pedagogy/models.py:102 msgid "uv manager" msgstr "gestionnaire d'uv" -#: pedagogy/models.py:79 +#: pedagogy/models.py:80 msgid "language" msgstr "langue" -#: pedagogy/models.py:85 +#: pedagogy/models.py:86 msgid "credits" msgstr "crédits" -#: pedagogy/models.py:93 +#: pedagogy/models.py:94 msgid "departmenmt" msgstr "département" -#: pedagogy/models.py:102 +#: pedagogy/models.py:103 msgid "objectives" msgstr "objecifs" -#: pedagogy/models.py:103 +#: pedagogy/models.py:104 msgid "program" msgstr "programme" -#: pedagogy/models.py:104 +#: pedagogy/models.py:105 msgid "skills" msgstr "compétences" -#: pedagogy/models.py:105 +#: pedagogy/models.py:106 msgid "key concepts" msgstr "concepts clefs" -#: pedagogy/models.py:110 +#: pedagogy/models.py:111 msgid "hours CM" msgstr "heures CM" -#: pedagogy/models.py:117 +#: pedagogy/models.py:118 msgid "hours TD" msgstr "heures TD" -#: pedagogy/models.py:124 +#: pedagogy/models.py:125 msgid "hours TP" msgstr "heures TP" -#: pedagogy/models.py:131 +#: pedagogy/models.py:132 msgid "hours THE" msgstr "heures THE" -#: pedagogy/models.py:138 +#: pedagogy/models.py:139 msgid "hours TE" msgstr "heures TE" -#: pedagogy/models.py:214 pedagogy/models.py:286 +#: pedagogy/models.py:217 pedagogy/models.py:291 msgid "uv" msgstr "uv" -#: pedagogy/models.py:217 +#: pedagogy/models.py:221 msgid "global grade" msgstr "note globale" -#: pedagogy/models.py:224 +#: pedagogy/models.py:228 msgid "utility grade" msgstr "note d'utilité" -#: pedagogy/models.py:231 +#: pedagogy/models.py:235 msgid "interest grade" msgstr "note d'intérêt" -#: pedagogy/models.py:238 +#: pedagogy/models.py:242 msgid "teaching grade" msgstr "note d'enseignement" -#: pedagogy/models.py:245 +#: pedagogy/models.py:249 msgid "work load grade" msgstr "note de charge de travail" -#: pedagogy/models.py:251 +#: pedagogy/models.py:255 msgid "publish date" msgstr "date de publication" -#: pedagogy/models.py:289 +#: pedagogy/models.py:297 msgid "grade" msgstr "note" -#: pedagogy/models.py:309 +#: pedagogy/models.py:317 msgid "report" msgstr "signaler" -#: pedagogy/models.py:313 +#: pedagogy/models.py:323 msgid "reporter" msgstr "signalant" -#: pedagogy/models.py:315 +#: pedagogy/models.py:326 msgid "reason" msgstr "raison" @@ -5116,7 +5119,7 @@ msgstr "Utilisateur qui sera supprimé" msgid "User to be selected" msgstr "Utilisateur à sélectionner" -#: sas/models.py:247 +#: sas/models.py:252 msgid "picture" msgstr "photo" @@ -5196,384 +5199,384 @@ msgstr "Erreur de création de l'album %(album)s : %(msg)s" msgid "Add user" msgstr "Ajouter une personne" -#: sith/settings.py:217 sith/settings.py:430 +#: sith/settings.py:216 sith/settings.py:429 msgid "English" msgstr "Anglais" -#: sith/settings.py:217 sith/settings.py:429 +#: sith/settings.py:216 sith/settings.py:428 msgid "French" msgstr "Français" -#: sith/settings.py:351 +#: sith/settings.py:350 msgid "TC" msgstr "TC" -#: sith/settings.py:352 +#: sith/settings.py:351 msgid "IMSI" msgstr "IMSI" -#: sith/settings.py:353 +#: sith/settings.py:352 msgid "IMAP" msgstr "IMAP" -#: sith/settings.py:354 +#: sith/settings.py:353 msgid "INFO" msgstr "INFO" -#: sith/settings.py:355 +#: sith/settings.py:354 msgid "GI" msgstr "GI" -#: sith/settings.py:356 sith/settings.py:440 +#: sith/settings.py:355 sith/settings.py:439 msgid "E" msgstr "E" -#: sith/settings.py:357 +#: sith/settings.py:356 msgid "EE" msgstr "EE" -#: sith/settings.py:358 +#: sith/settings.py:357 msgid "GESC" msgstr "GESC" -#: sith/settings.py:359 +#: sith/settings.py:358 msgid "GMC" msgstr "GMC" -#: sith/settings.py:360 +#: sith/settings.py:359 msgid "MC" msgstr "MC" -#: sith/settings.py:361 +#: sith/settings.py:360 msgid "EDIM" msgstr "EDIM" -#: sith/settings.py:362 +#: sith/settings.py:361 msgid "Humanities" msgstr "Humanités" -#: sith/settings.py:363 +#: sith/settings.py:362 msgid "N/A" msgstr "N/A" -#: sith/settings.py:367 sith/settings.py:374 sith/settings.py:391 +#: sith/settings.py:366 sith/settings.py:373 sith/settings.py:390 msgid "Check" msgstr "Chèque" -#: sith/settings.py:368 sith/settings.py:376 sith/settings.py:392 +#: sith/settings.py:367 sith/settings.py:375 sith/settings.py:391 msgid "Cash" msgstr "Espèces" -#: sith/settings.py:369 +#: sith/settings.py:368 msgid "Transfert" msgstr "Virement" -#: sith/settings.py:382 +#: sith/settings.py:381 msgid "Belfort" msgstr "Belfort" -#: sith/settings.py:383 +#: sith/settings.py:382 msgid "Sevenans" msgstr "Sevenans" -#: sith/settings.py:384 +#: sith/settings.py:383 msgid "Montbéliard" msgstr "Montbéliard" -#: sith/settings.py:410 +#: sith/settings.py:409 msgid "Free" msgstr "Libre" -#: sith/settings.py:411 +#: sith/settings.py:410 msgid "CS" msgstr "CS" -#: sith/settings.py:412 +#: sith/settings.py:411 msgid "TM" msgstr "TM" -#: sith/settings.py:413 +#: sith/settings.py:412 msgid "OM" msgstr "OM" -#: sith/settings.py:414 +#: sith/settings.py:413 msgid "QC" msgstr "QC" -#: sith/settings.py:415 +#: sith/settings.py:414 msgid "EC" msgstr "EC" -#: sith/settings.py:416 +#: sith/settings.py:415 msgid "RN" msgstr "RN" -#: sith/settings.py:417 +#: sith/settings.py:416 msgid "ST" msgstr "ST" -#: sith/settings.py:418 +#: sith/settings.py:417 msgid "EXT" msgstr "EXT" -#: sith/settings.py:423 +#: sith/settings.py:422 msgid "Autumn" msgstr "Automne" -#: sith/settings.py:424 +#: sith/settings.py:423 msgid "Spring" msgstr "Printemps" -#: sith/settings.py:425 +#: sith/settings.py:424 msgid "Autumn and spring" msgstr "Automne et printemps" -#: sith/settings.py:431 +#: sith/settings.py:430 msgid "German" msgstr "Allemant" -#: sith/settings.py:432 +#: sith/settings.py:431 msgid "Spanich" msgstr "Espagnol" -#: sith/settings.py:436 +#: sith/settings.py:435 msgid "A" msgstr "A" -#: sith/settings.py:437 +#: sith/settings.py:436 msgid "B" msgstr "B" -#: sith/settings.py:438 +#: sith/settings.py:437 msgid "C" msgstr "C" -#: sith/settings.py:439 +#: sith/settings.py:438 msgid "D" msgstr "D" -#: sith/settings.py:441 +#: sith/settings.py:440 msgid "FX" msgstr "FX" -#: sith/settings.py:442 +#: sith/settings.py:441 msgid "F" msgstr "F" -#: sith/settings.py:443 +#: sith/settings.py:442 msgid "Abs" msgstr "Abs" -#: sith/settings.py:472 +#: sith/settings.py:471 msgid "One semester" msgstr "Un semestre, 15 €" -#: sith/settings.py:473 +#: sith/settings.py:472 msgid "Two semesters" msgstr "Deux semestres, 28 €" -#: sith/settings.py:475 +#: sith/settings.py:474 msgid "Common core cursus" msgstr "Cursus tronc commun, 45 €" -#: sith/settings.py:479 +#: sith/settings.py:478 msgid "Branch cursus" msgstr "Cursus branche, 45 €" -#: sith/settings.py:480 +#: sith/settings.py:479 msgid "Alternating cursus" msgstr "Cursus alternant, 30 €" -#: sith/settings.py:481 +#: sith/settings.py:480 msgid "Honorary member" msgstr "Membre honoraire, 0 €" -#: sith/settings.py:482 +#: sith/settings.py:481 msgid "Assidu member" msgstr "Membre d'Assidu, 0 €" -#: sith/settings.py:483 +#: sith/settings.py:482 msgid "Amicale/DOCEO member" msgstr "Membre de l'Amicale/DOCEO, 0 €" -#: sith/settings.py:484 +#: sith/settings.py:483 msgid "UT network member" msgstr "Cotisant du réseau UT, 0 €" -#: sith/settings.py:485 +#: sith/settings.py:484 msgid "CROUS member" msgstr "Membres du CROUS, 0 €" -#: sith/settings.py:486 +#: sith/settings.py:485 msgid "Sbarro/ESTA member" msgstr "Membre de Sbarro ou de l'ESTA, 15 €" -#: sith/settings.py:488 +#: sith/settings.py:487 msgid "One semester Welcome Week" msgstr "Un semestre Welcome Week" -#: sith/settings.py:492 +#: sith/settings.py:491 msgid "Two months for free" msgstr "Deux mois gratuits" -#: sith/settings.py:493 +#: sith/settings.py:492 msgid "Eurok's volunteer" msgstr "Bénévole Eurockéennes" -#: sith/settings.py:495 +#: sith/settings.py:494 msgid "Six weeks for free" msgstr "6 semaines gratuites" -#: sith/settings.py:499 +#: sith/settings.py:498 msgid "One day" msgstr "Un jour" -#: sith/settings.py:502 +#: sith/settings.py:501 msgid "One semester (-20%)" msgstr "Un semestre (-20%), 12 €" -#: sith/settings.py:507 +#: sith/settings.py:506 msgid "Two semesters (-20%)" msgstr "Deux semestres (-20%), 22 €" -#: sith/settings.py:512 +#: sith/settings.py:511 msgid "Common core cursus (-20%)" msgstr "Cursus tronc commun (-20%), 36 €" -#: sith/settings.py:517 +#: sith/settings.py:516 msgid "Branch cursus (-20%)" msgstr "Cursus branche (-20%), 36 €" -#: sith/settings.py:522 +#: sith/settings.py:521 msgid "Alternating cursus (-20%)" msgstr "Cursus alternant (-20%), 24 €" -#: sith/settings.py:544 +#: sith/settings.py:543 msgid "President" msgstr "Président" -#: sith/settings.py:545 +#: sith/settings.py:544 msgid "Vice-President" msgstr "Vice-Président" -#: sith/settings.py:546 +#: sith/settings.py:545 msgid "Treasurer" msgstr "Trésorier" -#: sith/settings.py:547 +#: sith/settings.py:546 msgid "Communication supervisor" msgstr "Responsable communication" -#: sith/settings.py:548 +#: sith/settings.py:547 msgid "Secretary" msgstr "Secrétaire" -#: sith/settings.py:549 +#: sith/settings.py:548 msgid "IT supervisor" msgstr "Responsable info" -#: sith/settings.py:550 +#: sith/settings.py:549 msgid "Board member" msgstr "Membre du bureau" -#: sith/settings.py:551 +#: sith/settings.py:550 msgid "Active member" msgstr "Membre actif" -#: sith/settings.py:552 +#: sith/settings.py:551 msgid "Curious" msgstr "Curieux" -#: sith/settings.py:588 +#: sith/settings.py:587 msgid "A new poster needs to be moderated" msgstr "Une nouvelle affiche a besoin d'être modérée" -#: sith/settings.py:589 +#: sith/settings.py:588 msgid "A new mailing list needs to be moderated" msgstr "Une nouvelle mailing list a besoin d'être modérée" -#: sith/settings.py:592 +#: sith/settings.py:591 msgid "A new pedagogy comment has been signaled for moderation" msgstr "" "Un nouveau commentaire de la pédagogie a été signalé pour la modération" -#: sith/settings.py:594 +#: sith/settings.py:593 #, python-format msgid "There are %s fresh news to be moderated" msgstr "Il y a %s nouvelles toutes fraîches à modérer" -#: sith/settings.py:595 +#: sith/settings.py:594 msgid "New files to be moderated" msgstr "Nouveaux fichiers à modérer" -#: sith/settings.py:596 +#: sith/settings.py:595 #, python-format msgid "There are %s pictures to be moderated in the SAS" msgstr "Il y a %s photos à modérer dans le SAS" -#: sith/settings.py:597 +#: sith/settings.py:596 msgid "You've been identified on some pictures" msgstr "Vous avez été identifié sur des photos" -#: sith/settings.py:598 +#: sith/settings.py:597 #, python-format msgid "You just refilled of %s €" msgstr "Vous avez rechargé votre compte de %s€" -#: sith/settings.py:599 +#: sith/settings.py:598 #, python-format msgid "You just bought %s" msgstr "Vous avez acheté %s" -#: sith/settings.py:600 +#: sith/settings.py:599 msgid "You have a notification" msgstr "Vous avez une notification" -#: sith/settings.py:612 +#: sith/settings.py:611 msgid "Success!" msgstr "Succès !" -#: sith/settings.py:613 +#: sith/settings.py:612 msgid "Fail!" msgstr "Échec !" -#: sith/settings.py:614 +#: sith/settings.py:613 msgid "You successfully posted an article in the Weekmail" msgstr "Article posté avec succès dans le Weekmail" -#: sith/settings.py:615 +#: sith/settings.py:614 msgid "You successfully edited an article in the Weekmail" msgstr "Article édité avec succès dans le Weekmail" -#: sith/settings.py:616 +#: sith/settings.py:615 msgid "You successfully sent the Weekmail" msgstr "Weekmail envoyé avec succès" -#: sith/settings.py:624 +#: sith/settings.py:623 msgid "AE tee-shirt" msgstr "Tee-shirt AE" -#: stock/models.py:62 +#: stock/models.py:65 msgid "unit quantity" msgstr "quantité unitaire" -#: stock/models.py:62 +#: stock/models.py:65 msgid "number of element in one box" msgstr "nombre d'éléments par boîte" -#: stock/models.py:65 +#: stock/models.py:68 msgid "effective quantity" msgstr "quantité effective" -#: stock/models.py:65 +#: stock/models.py:68 msgid "number of box" msgstr "nombre de boîtes" -#: stock/models.py:68 +#: stock/models.py:71 msgid "minimal quantity" msgstr "quantité minimale" -#: stock/models.py:71 +#: stock/models.py:74 msgid "" "if the effective quantity is less than the minimal, item is added to the " "shopping list" @@ -5581,27 +5584,27 @@ msgstr "" "si la quantité effective est en dessous du minima, l'item est ajouté àla " "liste de courses" -#: stock/models.py:101 +#: stock/models.py:106 msgid "todo" msgstr "à faire" -#: stock/models.py:121 +#: stock/models.py:128 msgid "shopping lists" msgstr "listes de courses" -#: stock/models.py:137 +#: stock/models.py:144 msgid "quantity to buy" msgstr "quantité à acheter" -#: stock/models.py:139 +#: stock/models.py:146 msgid "quantity to buy during the next shopping session" msgstr "quantité à acheter pendant les prochaines courses" -#: stock/models.py:142 +#: stock/models.py:149 msgid "quantity bought" msgstr "quantité achetée" -#: stock/models.py:144 +#: stock/models.py:151 msgid "quantity bought during the last shopping session" msgstr "quantité achetée pendant les dernières courses" @@ -5755,27 +5758,27 @@ msgstr "Mauvais type de cotisation" msgid "Bad payment method" msgstr "Mauvais type de paiement" -#: subscription/models.py:55 +#: subscription/models.py:57 msgid "subscription type" msgstr "type d'inscription" -#: subscription/models.py:61 +#: subscription/models.py:63 msgid "subscription start" msgstr "début de la cotisation" -#: subscription/models.py:62 +#: subscription/models.py:64 msgid "subscription end" msgstr "fin de la cotisation" -#: subscription/models.py:71 +#: subscription/models.py:73 msgid "location" msgstr "lieu" -#: subscription/models.py:91 +#: subscription/models.py:93 msgid "You can not subscribe many time for the same period" msgstr "Vous ne pouvez pas cotiser plusieurs fois pour la même période" -#: subscription/models.py:96 +#: subscription/models.py:98 msgid "Subscription error" msgstr "Erreur de cotisation" @@ -5841,19 +5844,19 @@ msgid "" msgstr "" "Fermer les inscriptions après les commentaires est vraiment une idée pourrie." -#: trombi/models.py:120 +#: trombi/models.py:121 msgid "trombi user" msgstr "utilisateur trombi" -#: trombi/models.py:124 +#: trombi/models.py:127 msgid "trombi" msgstr "trombi" -#: trombi/models.py:132 +#: trombi/models.py:135 msgid "profile pict" msgstr "photo de profil" -#: trombi/models.py:136 +#: trombi/models.py:139 msgid "" "The profile picture you want in the trombi (warning: this picture may be " "published)" @@ -5861,11 +5864,11 @@ msgstr "" "La photo de profil que vous souhaitez voir dans le Trombi (attention: cette " "photo risque d'être publiée)" -#: trombi/models.py:141 +#: trombi/models.py:144 msgid "scrub pict" msgstr "photo de blouse" -#: trombi/models.py:145 +#: trombi/models.py:148 msgid "" "The scrub picture you want in the trombi (warning: this picture may be " "published)" @@ -5873,19 +5876,19 @@ msgstr "" "La photo de blouse que vous souhaitez voir dans le Trombi (attention: cette " "photo risque d'être publiée)" -#: trombi/models.py:186 +#: trombi/models.py:193 msgid "target" msgstr "cible" -#: trombi/models.py:189 +#: trombi/models.py:198 msgid "is the comment moderated" msgstr "le commentaire est modéré" -#: trombi/models.py:207 +#: trombi/models.py:219 msgid "start" msgstr "début" -#: trombi/models.py:208 +#: trombi/models.py:220 msgid "end" msgstr "fin" From aac4e3b99c76473e4a59538c2b5f08ff5b1df0ee Mon Sep 17 00:00:00 2001 From: Cyl Date: Mon, 14 Oct 2019 00:32:11 +0200 Subject: [PATCH 3/3] Minor fix for requestGala --- counter/models.py | 22 +++++++++++++--------- locale/fr/LC_MESSAGES/django.po | 4 ++-- 2 files changed, 15 insertions(+), 11 deletions(-) diff --git a/counter/models.py b/counter/models.py index 04c7073a..d3d3b39a 100644 --- a/counter/models.py +++ b/counter/models.py @@ -490,7 +490,7 @@ class Selling(models.Model): event = self.product.eticket.event_title or _("Unknown event") subject = _("Eticket bought for the event %(event)s") % {"event": event} message_html = _( - "You bought an eticket for the event %(event)s.\nYou can download it directly from this link %(eticket)s.\nYou can also retreive all your e-tickets on your account page %(url)s." + "You bought an eticket for the event %(event)s.\nYou can download it directly from this link %(eticket)s.\nYou can also retrieve all your e-tickets on your account page %(url)s." ) % { "event": event, "url": "".join( @@ -502,14 +502,22 @@ class Selling(models.Model): "", ) ), - "eticket": "" + self.get_eticket_full_url() + "" + "eticket": "".join( + ( + '', + self.get_eticket_full_url(), + "", + ) + ), } message_txt = _( - "You bought an eticket for the event %(event)s.\nYou can download it directly from this link %(eticket)s.\nYou can also retreive all your e-tickets on your account page %(url)s." + "You bought an eticket for the event %(event)s.\nYou can download it directly from this link %(eticket)s.\nYou can also retrieve all your e-tickets on your account page %(url)s." ) % { "event": event, "url": self.customer.get_full_url(), - "eticket": "" + self.get_eticket_full_url() + "" + "eticket": self.get_eticket_full_url(), } self.customer.user.email_user(subject, message_txt, html_message=message_html) @@ -597,11 +605,7 @@ class Selling(models.Model): def get_eticket_full_url(self): eticket_url = reverse("counter:eticket_pdf", kwargs={"selling_id": self.id}) - return "".join( - [ - "https://", settings.SITH_URL, eticket_url - ] - ) + return "".join(["https://", settings.SITH_URL, eticket_url]) class Permanency(models.Model): diff --git a/locale/fr/LC_MESSAGES/django.po b/locale/fr/LC_MESSAGES/django.po index e0c792f0..bb935af5 100644 --- a/locale/fr/LC_MESSAGES/django.po +++ b/locale/fr/LC_MESSAGES/django.po @@ -2724,7 +2724,7 @@ msgstr "" #: core/templates/core/login.jinja:18 msgid "Please login or create an account to see this page." -msgstr "Merci de vous identifier ou vous créer un compte pour voir cette page." +msgstr "Merci de vous identifier ou de créer un compte pour voir cette page." #: core/templates/core/login.jinja:28 #: counter/templates/counter/counter_main.jinja:51 @@ -3822,7 +3822,7 @@ msgstr "Eticket acheté pour l'événement %(event)s" msgid "" "You bought an eticket for the event %(event)s.\n" "You can download it directly from this link %(eticket)s.\n" -"You can also retreive all your e-tickets on your account page %(url)s." +"You can also retrieve all your e-tickets on your account page %(url)s." msgstr "" "Vous avez acheté un e-ticket pour l'événement %(event)s.\n" "Vous pouvez le télécharger directement depuis ce lien: %(eticket)s.\n"