diff --git a/eboutic/static/eboutic/js/makecommand.js b/eboutic/static/eboutic/js/makecommand.js index 5fd40e1e..e43a571f 100644 --- a/eboutic/static/eboutic/js/makecommand.js +++ b/eboutic/static/eboutic/js/makecommand.js @@ -4,13 +4,11 @@ */ const BillingInfoReqState = { SUCCESS: 1, - FAILURE: 2 + FAILURE: 2, + SENDING: 3, }; - document.addEventListener("alpine:init", () => { - Alpine.store("bank_payment_enabled", false) - Alpine.store("billing_inputs", { data: et_data, @@ -21,37 +19,32 @@ document.addEventListener("alpine:init", () => { this.data = await res.json(); document.getElementById("bank-submit-button").disabled = false; } - } - }) + }, + }); Alpine.data("billing_infos", () => ({ /** @type {BillingInfoReqState | null} */ req_state: null, async send_form() { + this.req_state = BillingInfoReqState.SENDING; const form = document.getElementById("billing_info_form"); - const submit_button = form.querySelector("input[type=submit]") - submit_button.disabled = true; document.getElementById("bank-submit-button").disabled = true; - this.req_state = null; - - let payload = form.querySelectorAll("input") - .values() - .filter((elem) => elem.type === "text" && elem.value) - .reduce((acc, curr) => acc[curr.name] = curr.value, {}); - const country = form.querySelector("select"); - if (country && country.value) { - payload[country.name] = country.value; - } + let payload = Object.fromEntries( + Array.from(form.querySelectorAll("input, select")) + .filter((elem) => elem.type !== "submit" && elem.value) + .map((elem) => [elem.name, elem.value]), + ); const res = await fetch(billing_info_url, { method: "PUT", body: JSON.stringify(payload), }); - this.req_state = res.ok ? BillingInfoReqState.SUCCESS : BillingInfoReqState.FAILURE; + this.req_state = res.ok + ? BillingInfoReqState.SUCCESS + : BillingInfoReqState.FAILURE; if (res.ok) { Alpine.store("billing_inputs").fill(); } - submit_button.disabled = false; }, get_alert_color() { @@ -72,8 +65,6 @@ document.addEventListener("alpine:init", () => { return billing_info_failure_message; } return ""; - } - })) -}) - - + }, + })); +}); diff --git a/eboutic/templates/eboutic/eboutic_makecommand.jinja b/eboutic/templates/eboutic/eboutic_makecommand.jinja index d83628d4..30a8036a 100644 --- a/eboutic/templates/eboutic/eboutic_makecommand.jinja +++ b/eboutic/templates/eboutic/eboutic_makecommand.jinja @@ -80,7 +80,7 @@

@@ -119,6 +120,8 @@ {% endif %} {% if basket.contains_refilling_item %}

{% trans %}AE account payment disabled because your basket contains refilling items.{% endtrans %}

+ {% elif basket.total > user.account_balance %} +

{% trans %}AE account payment disabled because you do not have enough money remaining.{% endtrans %}

{% else %}
{% csrf_token %} @@ -134,8 +137,8 @@ const billing_info_url = '{{ url("api:put_billing_info", user_id=request.user.id) }}'; const et_data_url = '{{ url("api:etransaction_data") }}'; const billing_info_exist = {{ "true" if billing_infos else "false" }}; - const billing_info_success_message = '{% trans %}Billing info registration success{% endtrans %}'; - const billing_info_failure_message = '{% trans %}Billing info registration failure{% endtrans %}'; + const billing_info_success_message = "{% trans %}Billing info registration success{% endtrans %}"; + const billing_info_failure_message = "{% trans %}Billing info registration failure{% endtrans %}"; {% if billing_infos %} const et_data = {{ billing_infos|safe }} diff --git a/locale/fr/LC_MESSAGES/django.po b/locale/fr/LC_MESSAGES/django.po index 00e7271a..a12e4e72 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: 2024-08-04 01:05+0200\n" +"POT-Creation-Date: 2024-08-07 14:16+0200\n" "PO-Revision-Date: 2016-07-18\n" "Last-Translator: Skia \n" "Language-Team: AE info \n" @@ -19,7 +19,7 @@ msgstr "" #: accounting/models.py:50 accounting/models.py:91 accounting/models.py:124 #: accounting/models.py:191 club/models.py:52 com/models.py:276 #: com/models.py:295 counter/models.py:208 counter/models.py:239 -#: counter/models.py:355 forum/models.py:59 launderette/models.py:29 +#: counter/models.py:370 forum/models.py:59 launderette/models.py:29 #: launderette/models.py:84 launderette/models.py:122 stock/models.py:36 #: stock/models.py:57 stock/models.py:97 stock/models.py:125 msgid "name" @@ -41,7 +41,7 @@ msgstr "code postal" msgid "country" msgstr "pays" -#: accounting/models.py:55 core/models.py:363 +#: accounting/models.py:55 core/models.py:364 msgid "phone" msgstr "téléphone" @@ -67,7 +67,7 @@ msgstr "numéro de compte" #: accounting/models.py:97 accounting/models.py:128 club/models.py:344 #: com/models.py:76 com/models.py:261 com/models.py:301 counter/models.py:257 -#: counter/models.py:357 trombi/models.py:210 +#: counter/models.py:372 trombi/models.py:210 msgid "club" msgstr "club" @@ -88,12 +88,12 @@ msgstr "Compte club" msgid "%(club_account)s on %(bank_account)s" msgstr "%(club_account)s sur %(bank_account)s" -#: accounting/models.py:189 club/models.py:350 counter/models.py:841 +#: accounting/models.py:189 club/models.py:350 counter/models.py:853 #: election/models.py:16 launderette/models.py:179 msgid "start date" msgstr "date de début" -#: accounting/models.py:190 club/models.py:351 counter/models.py:842 +#: accounting/models.py:190 club/models.py:351 counter/models.py:854 #: election/models.py:17 msgid "end date" msgstr "date de fin" @@ -107,7 +107,7 @@ msgid "club account" msgstr "compte club" #: accounting/models.py:200 accounting/models.py:260 counter/models.py:55 -#: counter/models.py:561 +#: counter/models.py:576 msgid "amount" msgstr "montant" @@ -127,20 +127,20 @@ msgstr "numéro" msgid "journal" msgstr "classeur" -#: accounting/models.py:261 core/models.py:903 core/models.py:1439 -#: core/models.py:1484 core/models.py:1513 core/models.py:1537 -#: counter/models.py:571 counter/models.py:664 counter/models.py:877 -#: eboutic/models.py:55 eboutic/models.py:214 forum/models.py:311 +#: accounting/models.py:261 core/models.py:904 core/models.py:1431 +#: core/models.py:1476 core/models.py:1505 core/models.py:1529 +#: counter/models.py:586 counter/models.py:679 counter/models.py:889 +#: eboutic/models.py:57 eboutic/models.py:173 forum/models.py:311 #: forum/models.py:412 stock/models.py:96 msgid "date" msgstr "date" -#: accounting/models.py:262 counter/models.py:210 counter/models.py:878 +#: accounting/models.py:262 counter/models.py:210 counter/models.py:890 #: pedagogy/models.py:207 stock/models.py:99 msgid "comment" msgstr "commentaire" -#: accounting/models.py:264 counter/models.py:573 counter/models.py:666 +#: accounting/models.py:264 counter/models.py:588 counter/models.py:681 #: subscription/models.py:56 msgid "payment method" msgstr "méthode de paiement" @@ -149,7 +149,7 @@ msgstr "méthode de paiement" msgid "cheque number" msgstr "numéro de chèque" -#: accounting/models.py:274 eboutic/models.py:308 +#: accounting/models.py:274 eboutic/models.py:269 msgid "invoice" msgstr "facture" @@ -166,8 +166,8 @@ msgid "accounting type" msgstr "type comptable" #: accounting/models.py:299 accounting/models.py:438 accounting/models.py:471 -#: accounting/models.py:503 core/models.py:1512 core/models.py:1538 -#: counter/models.py:630 +#: accounting/models.py:503 core/models.py:1504 core/models.py:1530 +#: counter/models.py:645 msgid "label" msgstr "étiquette" @@ -211,7 +211,7 @@ msgstr "Utilisateur" msgid "Club" msgstr "Club" -#: accounting/models.py:310 core/views/user.py:280 +#: accounting/models.py:310 core/views/user.py:281 msgid "Account" msgstr "Compte" @@ -219,7 +219,7 @@ msgstr "Compte" msgid "Company" msgstr "Entreprise" -#: accounting/models.py:312 core/models.py:310 sith/settings.py:403 +#: accounting/models.py:312 core/models.py:311 sith/settings.py:404 #: stock/templates/stock/shopping_list_items.jinja:37 msgid "Other" msgstr "Autre" @@ -379,11 +379,11 @@ msgstr "Compte en banque : " #: election/templates/election/election_detail.jinja:187 #: forum/templates/forum/macros.jinja:21 forum/templates/forum/macros.jinja:134 #: launderette/templates/launderette/launderette_admin.jinja:16 -#: launderette/views.py:217 pedagogy/templates/pedagogy/guide.jinja:99 -#: pedagogy/templates/pedagogy/guide.jinja:114 +#: launderette/views.py:217 pedagogy/templates/pedagogy/guide.jinja:95 +#: pedagogy/templates/pedagogy/guide.jinja:110 #: pedagogy/templates/pedagogy/uv_detail.jinja:185 #: sas/templates/sas/album.jinja:37 sas/templates/sas/main.jinja:63 -#: sas/templates/sas/moderation.jinja:18 sas/templates/sas/picture.jinja:73 +#: sas/templates/sas/moderation.jinja:18 sas/templates/sas/picture.jinja:69 #: stock/templates/stock/stock_shopping_list.jinja:43 #: stock/templates/stock/stock_shopping_list.jinja:69 #: trombi/templates/trombi/detail.jinja:35 @@ -392,7 +392,7 @@ msgid "Delete" msgstr "Supprimer" #: accounting/templates/accounting/bank_account_details.jinja:18 -#: club/views.py:79 core/views/user.py:199 sas/templates/sas/picture.jinja:88 +#: club/views.py:79 core/views/user.py:200 sas/templates/sas/picture.jinja:84 msgid "Infos" msgstr "Infos" @@ -426,7 +426,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:71 core/views/user.py:229 +#: core/templates/core/user_tools.jinja:71 core/views/user.py:230 #: counter/templates/counter/cash_summary_list.jinja:53 #: counter/templates/counter/counter_list.jinja:17 #: counter/templates/counter/counter_list.jinja:33 @@ -435,8 +435,8 @@ msgstr "Nouveau compte club" #: forum/templates/forum/macros.jinja:20 forum/templates/forum/macros.jinja:62 #: forum/templates/forum/macros.jinja:128 #: launderette/templates/launderette/launderette_list.jinja:16 -#: pedagogy/templates/pedagogy/guide.jinja:98 -#: pedagogy/templates/pedagogy/guide.jinja:113 +#: pedagogy/templates/pedagogy/guide.jinja:94 +#: pedagogy/templates/pedagogy/guide.jinja:109 #: pedagogy/templates/pedagogy/uv_detail.jinja:184 #: sas/templates/sas/album.jinja:36 trombi/templates/trombi/detail.jinja:9 #: trombi/templates/trombi/edit_profile.jinja:34 @@ -528,7 +528,7 @@ msgid "Effective amount" msgstr "Montant effectif" #: accounting/templates/accounting/club_account_details.jinja:36 -#: sith/settings.py:449 +#: sith/settings.py:450 msgid "Closed" msgstr "Fermé" @@ -597,7 +597,7 @@ msgstr "Classeur : " #: accounting/templates/accounting/journal_statement_accounting.jinja:30 #: core/templates/core/user_account.jinja:38 #: core/templates/core/user_account_detail.jinja:10 -#: counter/templates/counter/counter_click.jinja:32 +#: counter/templates/counter/counter_click.jinja:31 msgid "Amount: " msgstr "Montant : " @@ -665,7 +665,7 @@ msgid "Done" msgstr "Effectuées" #: accounting/templates/accounting/journal_details.jinja:41 -#: counter/templates/counter/cash_summary_list.jinja:37 counter/views.py:1004 +#: counter/templates/counter/cash_summary_list.jinja:37 counter/views.py:989 #: pedagogy/templates/pedagogy/moderation.jinja:13 #: pedagogy/templates/pedagogy/uv_detail.jinja:138 #: trombi/templates/trombi/comment.jinja:4 @@ -902,7 +902,7 @@ msgstr "Opérations sans étiquette" msgid "Refound this account" msgstr "Rembourser ce compte" -#: antispam/forms.py:16 +#: antispam/forms.py:18 msgid "Email domain is not allowed." msgstr "Le domaine de l'addresse e-mail n'est pas autorisé." @@ -917,7 +917,9 @@ msgstr "est géré de manière externe" #: antispam/models.py:14 msgid "" "True if kept up-to-date using external toxic domain providers, else False" -msgstr "True si gardé à jour par le biais d'un fournisseur externe de domains toxics, False sinon" +msgstr "" +"True si gardé à jour par le biais d'un fournisseur externe de domains " +"toxics, False sinon" #: club/forms.py:55 club/forms.py:185 msgid "Users to add" @@ -979,15 +981,15 @@ msgstr "Date de fin" #: club/forms.py:160 club/templates/club/club_sellings.jinja:21 #: core/templates/core/user_account_detail.jinja:18 #: core/templates/core/user_account_detail.jinja:51 -#: counter/templates/counter/cash_summary_list.jinja:33 counter/views.py:152 +#: counter/templates/counter/cash_summary_list.jinja:33 counter/views.py:149 msgid "Counter" msgstr "Comptoir" -#: club/forms.py:167 counter/views.py:736 +#: club/forms.py:167 counter/views.py:733 msgid "Products" msgstr "Produits" -#: club/forms.py:172 counter/views.py:741 +#: club/forms.py:172 counter/views.py:738 msgid "Archived products" msgstr "Produits archivés" @@ -1041,11 +1043,11 @@ msgstr "actif" msgid "short description" msgstr "description courte" -#: club/models.py:78 core/models.py:365 +#: club/models.py:78 core/models.py:366 msgid "address" msgstr "Adresse" -#: club/models.py:95 core/models.py:276 +#: club/models.py:95 core/models.py:277 msgid "home" msgstr "home" @@ -1057,19 +1059,19 @@ msgstr "Vous ne pouvez pas faire de boucles dans les clubs" msgid "A club with that unix_name already exists" msgstr "Un club avec ce nom UNIX existe déjà." -#: club/models.py:336 counter/models.py:832 counter/models.py:868 -#: eboutic/models.py:51 eboutic/models.py:210 election/models.py:183 +#: club/models.py:336 counter/models.py:844 counter/models.py:880 +#: eboutic/models.py:53 eboutic/models.py:169 election/models.py:183 #: launderette/models.py:136 launderette/models.py:198 sas/models.py:223 #: trombi/models.py:206 msgid "user" msgstr "nom d'utilisateur" -#: club/models.py:353 core/models.py:329 election/models.py:178 +#: club/models.py:353 core/models.py:330 election/models.py:178 #: election/models.py:212 trombi/models.py:211 msgid "role" msgstr "rôle" -#: club/models.py:358 core/models.py:87 counter/models.py:209 +#: club/models.py:358 core/models.py:88 counter/models.py:209 #: counter/models.py:240 election/models.py:13 election/models.py:115 #: election/models.py:188 forum/models.py:60 forum/models.py:244 msgid "description" @@ -1084,7 +1086,7 @@ 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:428 com/models.py:84 com/models.py:311 core/models.py:904 +#: club/models.py:428 com/models.py:84 com/models.py:311 core/models.py:905 msgid "is moderated" msgstr "est modéré" @@ -1217,7 +1219,7 @@ msgid "Barman" msgstr "Barman" #: club/templates/club/club_sellings.jinja:23 -#: counter/templates/counter/counter_click.jinja:29 +#: counter/templates/counter/counter_click.jinja:28 #: counter/templates/counter/last_ops.jinja:22 #: counter/templates/counter/last_ops.jinja:47 #: counter/templates/counter/refilling_list.jinja:12 @@ -1245,7 +1247,7 @@ msgstr "Total" #: club/templates/club/club_sellings.jinja:27 #: core/templates/core/user_account_detail.jinja:23 #: core/templates/core/user_account_detail.jinja:54 -#: core/templates/core/user_detail.jinja:190 +#: core/templates/core/user_detail.jinja:186 #: counter/templates/counter/last_ops.jinja:24 #: counter/templates/counter/last_ops.jinja:51 #: counter/templates/counter/refilling_list.jinja:14 @@ -1370,8 +1372,8 @@ msgstr "Anciens membres" msgid "History" msgstr "Historique" -#: club/views.py:116 core/templates/core/base.jinja:95 core/views/user.py:222 -#: sas/templates/sas/picture.jinja:109 trombi/views.py:61 +#: club/views.py:116 core/templates/core/base.jinja:98 core/views/user.py:223 +#: sas/templates/sas/picture.jinja:105 trombi/views.py:61 msgid "Tools" msgstr "Outils" @@ -1441,7 +1443,7 @@ msgstr "résumé" msgid "content" msgstr "contenu" -#: com/models.py:73 core/models.py:1482 launderette/models.py:92 +#: com/models.py:73 core/models.py:1474 launderette/models.py:92 #: launderette/models.py:130 launderette/models.py:181 stock/models.py:74 #: stock/models.py:129 msgid "type" @@ -1492,7 +1494,7 @@ msgstr "weekmail" msgid "rank" msgstr "rang" -#: com/models.py:297 core/models.py:869 core/models.py:919 +#: com/models.py:297 core/models.py:870 core/models.py:920 msgid "file" msgstr "fichier" @@ -1517,7 +1519,7 @@ msgstr "Administration des mailing listes" #: com/templates/com/news_detail.jinja:39 #: core/templates/core/file_detail.jinja:65 #: core/templates/core/file_moderation.jinja:23 -#: sas/templates/sas/moderation.jinja:17 sas/templates/sas/picture.jinja:70 +#: sas/templates/sas/moderation.jinja:17 sas/templates/sas/picture.jinja:66 msgid "Moderate" msgstr "Modérer" @@ -1588,8 +1590,8 @@ msgstr "Type" #: com/templates/com/news_admin_list.jinja:286 #: com/templates/com/weekmail.jinja:19 com/templates/com/weekmail.jinja:48 #: forum/templates/forum/forum.jinja:28 forum/templates/forum/forum.jinja:47 -#: forum/templates/forum/main.jinja:30 forum/views.py:245 -#: pedagogy/templates/pedagogy/guide.jinja:92 +#: forum/templates/forum/main.jinja:30 forum/views.py:246 +#: pedagogy/templates/pedagogy/guide.jinja:88 msgid "Title" msgstr "Titre" @@ -1659,7 +1661,7 @@ msgid "Calls to moderate" msgstr "Appels à modérer" #: com/templates/com/news_admin_list.jinja:242 -#: core/templates/core/base.jinja:210 +#: core/templates/core/base.jinja:213 msgid "Events" msgstr "Événements" @@ -1679,7 +1681,7 @@ msgstr "Retour aux nouvelles" msgid "Author: " msgstr "Auteur : " -#: com/templates/com/news_detail.jinja:37 sas/templates/sas/picture.jinja:101 +#: com/templates/com/news_detail.jinja:37 sas/templates/sas/picture.jinja:97 msgid "Moderator: " msgstr "Modérateur : " @@ -1977,30 +1979,30 @@ msgstr "" "Vous devez êtres un membre du bureau du club sélectionné pour poster dans le " "Weekmail." -#: core/models.py:82 +#: core/models.py:83 msgid "meta group status" msgstr "status du meta-groupe" -#: core/models.py:84 +#: core/models.py:85 msgid "Whether a group is a meta group or not" msgstr "Si un groupe est un meta-groupe ou pas" -#: core/models.py:170 +#: core/models.py:171 #, python-format msgid "%(value)s is not a valid promo (between 0 and %(end)s)" msgstr "%(value)s n'est pas une promo valide (doit être entre 0 et %(end)s)" -#: core/models.py:229 +#: core/models.py:230 msgid "username" msgstr "nom d'utilisateur" -#: core/models.py:233 +#: core/models.py:234 msgid "Required. 254 characters or fewer. Letters, digits and ./+/-/_ only." msgstr "" "Requis. Pas plus de 254 caractères. Uniquement des lettres, numéros, et ./" "+/-/_" -#: core/models.py:239 +#: core/models.py:240 msgid "" "Enter a valid username. This value may contain only letters, numbers and ./" "+/-/_ characters." @@ -2008,43 +2010,43 @@ msgstr "" "Entrez un nom d'utilisateur correct. Uniquement des lettres, numéros, et ./" "+/-/_" -#: core/models.py:245 +#: core/models.py:246 msgid "A user with that username already exists." msgstr "Un utilisateur de ce nom existe déjà" -#: core/models.py:247 +#: core/models.py:248 msgid "first name" msgstr "Prénom" -#: core/models.py:248 +#: core/models.py:249 msgid "last name" msgstr "Nom" -#: core/models.py:249 +#: core/models.py:250 msgid "email address" msgstr "adresse email" -#: core/models.py:250 +#: core/models.py:251 msgid "date of birth" msgstr "date de naissance" -#: core/models.py:251 +#: core/models.py:252 msgid "nick name" msgstr "surnom" -#: core/models.py:253 +#: core/models.py:254 msgid "staff status" msgstr "status \"staff\"" -#: core/models.py:255 +#: core/models.py:256 msgid "Designates whether the user can log into this admin site." msgstr "Est-ce que l'utilisateur peut se logger à la partie admin du site." -#: core/models.py:258 +#: core/models.py:259 msgid "active" msgstr "actif" -#: core/models.py:261 +#: core/models.py:262 msgid "" "Designates whether this user should be treated as active. Unselect this " "instead of deleting accounts." @@ -2052,172 +2054,172 @@ msgstr "" "Est-ce que l'utilisateur doit être traité comme actif. Désélectionnez au " "lieu de supprimer les comptes." -#: core/models.py:265 +#: core/models.py:266 msgid "date joined" msgstr "date d'inscription" -#: core/models.py:266 +#: core/models.py:267 msgid "last update" msgstr "dernière mise à jour" -#: core/models.py:268 +#: core/models.py:269 msgid "superuser" msgstr "super-utilisateur" -#: core/models.py:270 +#: core/models.py:271 msgid "Designates whether this user is a superuser. " msgstr "Est-ce que l'utilisateur est super-utilisateur." -#: core/models.py:284 +#: core/models.py:285 msgid "profile" msgstr "profil" -#: core/models.py:292 +#: core/models.py:293 msgid "avatar" msgstr "avatar" -#: core/models.py:300 +#: core/models.py:301 msgid "scrub" msgstr "blouse" -#: core/models.py:306 +#: core/models.py:307 msgid "sex" msgstr "Genre" -#: core/models.py:310 +#: core/models.py:311 msgid "Man" msgstr "Homme" -#: core/models.py:310 +#: core/models.py:311 msgid "Woman" msgstr "Femme" -#: core/models.py:312 +#: core/models.py:313 msgid "pronouns" msgstr "pronoms" -#: core/models.py:314 +#: core/models.py:315 msgid "tshirt size" msgstr "taille de t-shirt" -#: core/models.py:317 +#: core/models.py:318 msgid "-" msgstr "-" -#: core/models.py:318 +#: core/models.py:319 msgid "XS" msgstr "XS" -#: core/models.py:319 +#: core/models.py:320 msgid "S" msgstr "S" -#: core/models.py:320 +#: core/models.py:321 msgid "M" msgstr "M" -#: core/models.py:321 +#: core/models.py:322 msgid "L" msgstr "L" -#: core/models.py:322 +#: core/models.py:323 msgid "XL" msgstr "XL" -#: core/models.py:323 +#: core/models.py:324 msgid "XXL" msgstr "XXL" -#: core/models.py:324 +#: core/models.py:325 msgid "XXXL" msgstr "XXXL" -#: core/models.py:332 +#: core/models.py:333 msgid "Student" msgstr "Étudiant" -#: core/models.py:333 +#: core/models.py:334 msgid "Administrative agent" msgstr "Personnel administratif" -#: core/models.py:334 +#: core/models.py:335 msgid "Teacher" msgstr "Enseignant" -#: core/models.py:335 +#: core/models.py:336 msgid "Agent" msgstr "Personnel" -#: core/models.py:336 +#: core/models.py:337 msgid "Doctor" msgstr "Doctorant" -#: core/models.py:337 +#: core/models.py:338 msgid "Former student" msgstr "Ancien étudiant" -#: core/models.py:338 +#: core/models.py:339 msgid "Service" msgstr "Service" -#: core/models.py:344 +#: core/models.py:345 msgid "department" msgstr "département" -#: core/models.py:351 +#: core/models.py:352 msgid "dpt option" msgstr "Filière" -#: core/models.py:353 pedagogy/models.py:69 pedagogy/models.py:293 +#: core/models.py:354 pedagogy/models.py:69 pedagogy/models.py:293 msgid "semester" msgstr "semestre" -#: core/models.py:354 +#: core/models.py:355 msgid "quote" msgstr "citation" -#: core/models.py:355 +#: core/models.py:356 msgid "school" msgstr "école" -#: core/models.py:357 +#: core/models.py:358 msgid "promo" msgstr "promo" -#: core/models.py:360 +#: core/models.py:361 msgid "forum signature" msgstr "signature du forum" -#: core/models.py:362 +#: core/models.py:363 msgid "second email address" msgstr "adresse email secondaire" -#: core/models.py:364 +#: core/models.py:365 msgid "parent phone" msgstr "téléphone des parents" -#: core/models.py:367 +#: core/models.py:368 msgid "parent address" msgstr "adresse des parents" -#: core/models.py:370 +#: core/models.py:371 msgid "is subscriber viewable" msgstr "profil visible par les cotisants" -#: core/models.py:570 +#: core/models.py:571 msgid "A user with that username already exists" msgstr "Un utilisateur de ce nom d'utilisateur existe déjà" -#: core/models.py:700 core/templates/core/macros.jinja:75 +#: core/models.py:701 core/templates/core/macros.jinja:75 #: core/templates/core/macros.jinja:77 core/templates/core/macros.jinja:78 +#: core/templates/core/user_detail.jinja:100 +#: core/templates/core/user_detail.jinja:101 +#: core/templates/core/user_detail.jinja:103 #: core/templates/core/user_detail.jinja:104 -#: core/templates/core/user_detail.jinja:105 -#: core/templates/core/user_detail.jinja:107 -#: core/templates/core/user_detail.jinja:108 +#: core/templates/core/user_detail.jinja:109 +#: core/templates/core/user_detail.jinja:110 +#: core/templates/core/user_detail.jinja:112 #: core/templates/core/user_detail.jinja:113 -#: core/templates/core/user_detail.jinja:114 -#: core/templates/core/user_detail.jinja:116 -#: core/templates/core/user_detail.jinja:117 #: core/templates/core/user_edit.jinja:24 #: core/templates/core/user_edit.jinja:26 #: core/templates/core/user_edit.jinja:27 @@ -2237,101 +2239,101 @@ msgstr "Un utilisateur de ce nom d'utilisateur existe déjà" msgid "Profile" msgstr "Profil" -#: core/models.py:819 +#: core/models.py:820 msgid "Visitor" msgstr "Visiteur" -#: core/models.py:826 +#: core/models.py:827 msgid "receive the Weekmail" msgstr "recevoir le Weekmail" -#: core/models.py:827 +#: core/models.py:828 msgid "show your stats to others" msgstr "montrez vos statistiques aux autres" -#: core/models.py:829 +#: core/models.py:830 msgid "get a notification for every click" msgstr "avoir une notification pour chaque click" -#: core/models.py:832 +#: core/models.py:833 msgid "get a notification for every refilling" msgstr "avoir une notification pour chaque rechargement" -#: core/models.py:858 +#: core/models.py:859 msgid "file name" msgstr "nom du fichier" -#: core/models.py:862 core/models.py:1231 +#: core/models.py:863 core/models.py:1223 msgid "parent" msgstr "parent" -#: core/models.py:876 +#: core/models.py:877 msgid "compressed file" msgstr "version allégée" -#: core/models.py:883 +#: core/models.py:884 msgid "thumbnail" msgstr "miniature" -#: core/models.py:891 core/models.py:908 +#: core/models.py:892 core/models.py:909 msgid "owner" msgstr "propriétaire" -#: core/models.py:895 core/models.py:1248 core/views/files.py:221 +#: core/models.py:896 core/models.py:1240 core/views/files.py:231 msgid "edit group" msgstr "groupe d'édition" -#: core/models.py:898 core/models.py:1251 core/views/files.py:224 +#: core/models.py:899 core/models.py:1243 core/views/files.py:234 msgid "view group" msgstr "groupe de vue" -#: core/models.py:900 +#: core/models.py:901 msgid "is folder" msgstr "est un dossier" -#: core/models.py:901 +#: core/models.py:902 msgid "mime type" msgstr "type mime" -#: core/models.py:902 +#: core/models.py:903 msgid "size" msgstr "taille" -#: core/models.py:913 +#: core/models.py:914 msgid "asked for removal" msgstr "retrait demandé" -#: core/models.py:915 +#: core/models.py:916 msgid "is in the SAS" msgstr "est dans le SAS" -#: core/models.py:1009 +#: core/models.py:1010 msgid "Character '/' not authorized in name" msgstr "Le caractère '/' n'est pas autorisé dans les noms de fichier" -#: core/models.py:1011 core/models.py:1015 +#: core/models.py:1012 core/models.py:1016 msgid "Loop in folder tree" msgstr "Boucle dans l'arborescence des dossiers" -#: core/models.py:1018 +#: core/models.py:1019 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:1029 +#: core/models.py:1030 msgid "Duplicate file" msgstr "Un fichier de ce nom existe déjà" -#: core/models.py:1046 +#: core/models.py:1047 msgid "You must provide a file" msgstr "Vous devez fournir un fichier" -#: core/models.py:1214 +#: core/models.py:1206 msgid "page unix name" msgstr "nom unix de la page" -#: core/models.py:1220 +#: core/models.py:1212 msgid "" "Enter a valid page name. This value may contain only unaccented letters, " "numbers and ./+/-/_ characters." @@ -2339,55 +2341,55 @@ msgstr "" "Entrez un nom de page correct. Uniquement des lettres non accentuées, " "numéros, et ./+/-/_" -#: core/models.py:1238 +#: core/models.py:1230 msgid "page name" msgstr "nom de la page" -#: core/models.py:1243 +#: core/models.py:1235 msgid "owner group" msgstr "groupe propriétaire" -#: core/models.py:1256 +#: core/models.py:1248 msgid "lock user" msgstr "utilisateur bloquant" -#: core/models.py:1263 +#: core/models.py:1255 msgid "lock_timeout" msgstr "décompte du déblocage" -#: core/models.py:1313 +#: core/models.py:1305 msgid "Duplicate page" msgstr "Une page de ce nom existe déjà" -#: core/models.py:1316 +#: core/models.py:1308 msgid "Loop in page tree" msgstr "Boucle dans l'arborescence des pages" -#: core/models.py:1436 +#: core/models.py:1428 msgid "revision" msgstr "révision" -#: core/models.py:1437 +#: core/models.py:1429 msgid "page title" msgstr "titre de la page" -#: core/models.py:1438 +#: core/models.py:1430 msgid "page content" msgstr "contenu de la page" -#: core/models.py:1479 +#: core/models.py:1471 msgid "url" msgstr "url" -#: core/models.py:1480 +#: core/models.py:1472 msgid "param" msgstr "param" -#: core/models.py:1485 +#: core/models.py:1477 msgid "viewed" msgstr "vue" -#: core/models.py:1543 +#: core/models.py:1535 msgid "operation type" msgstr "type d'opération" @@ -2407,18 +2409,18 @@ msgstr "500, Erreur Serveur" msgid "Welcome!" msgstr "Bienvenue !" -#: core/templates/core/base.jinja:53 core/templates/core/login.jinja:8 +#: core/templates/core/base.jinja:56 core/templates/core/login.jinja:8 #: core/templates/core/login.jinja:18 core/templates/core/login.jinja:51 #: core/templates/core/password_reset_complete.jinja:5 msgid "Login" msgstr "Connexion" -#: core/templates/core/base.jinja:54 core/templates/core/register.jinja:7 +#: core/templates/core/base.jinja:57 core/templates/core/register.jinja:7 #: core/templates/core/register.jinja:16 core/templates/core/register.jinja:22 msgid "Register" msgstr "Inscription" -#: core/templates/core/base.jinja:60 core/templates/core/base.jinja:61 +#: core/templates/core/base.jinja:63 core/templates/core/base.jinja:64 #: forum/templates/forum/macros.jinja:171 #: forum/templates/forum/macros.jinja:175 #: matmat/templates/matmat/search_form.jinja:37 @@ -2427,52 +2429,52 @@ msgstr "Inscription" msgid "Search" msgstr "Recherche" -#: core/templates/core/base.jinja:96 +#: core/templates/core/base.jinja:99 msgid "Logout" msgstr "Déconnexion" -#: core/templates/core/base.jinja:144 +#: core/templates/core/base.jinja:147 msgid "You do not have any unread notification" msgstr "Vous n'avez aucune notification non lue" -#: core/templates/core/base.jinja:149 +#: core/templates/core/base.jinja:152 msgid "View more" msgstr "Voir plus" -#: core/templates/core/base.jinja:152 +#: core/templates/core/base.jinja:155 #: forum/templates/forum/last_unread.jinja:17 msgid "Mark all as read" msgstr "Marquer tout comme lu" -#: core/templates/core/base.jinja:200 +#: core/templates/core/base.jinja:203 msgid "Main" msgstr "Accueil" -#: core/templates/core/base.jinja:202 +#: core/templates/core/base.jinja:205 msgid "Associations & Clubs" msgstr "Associations & Clubs" -#: core/templates/core/base.jinja:204 +#: core/templates/core/base.jinja:207 msgid "AE" msgstr "L'AE" -#: core/templates/core/base.jinja:205 +#: core/templates/core/base.jinja:208 msgid "AE's clubs" msgstr "Les clubs de L'AE" -#: core/templates/core/base.jinja:206 +#: core/templates/core/base.jinja:209 msgid "Others UTBM's Associations" msgstr "Les autres associations de l'UTBM" -#: core/templates/core/base.jinja:212 core/templates/core/user_tools.jinja:180 +#: core/templates/core/base.jinja:215 core/templates/core/user_tools.jinja:180 msgid "Elections" msgstr "Élections" -#: core/templates/core/base.jinja:213 +#: core/templates/core/base.jinja:216 msgid "Big event" msgstr "Grandes Activités" -#: core/templates/core/base.jinja:216 +#: core/templates/core/base.jinja:219 #: forum/templates/forum/favorite_topics.jinja:14 #: forum/templates/forum/last_unread.jinja:14 #: forum/templates/forum/macros.jinja:90 forum/templates/forum/main.jinja:6 @@ -2481,93 +2483,93 @@ msgstr "Grandes Activités" msgid "Forum" msgstr "Forum" -#: core/templates/core/base.jinja:217 +#: core/templates/core/base.jinja:220 msgid "Gallery" msgstr "Photos" -#: core/templates/core/base.jinja:218 counter/models.py:365 +#: core/templates/core/base.jinja:221 counter/models.py:380 #: counter/templates/counter/counter_list.jinja:11 #: eboutic/templates/eboutic/eboutic_main.jinja:4 -#: eboutic/templates/eboutic/eboutic_main.jinja:23 -#: eboutic/templates/eboutic/eboutic_makecommand.jinja:17 +#: eboutic/templates/eboutic/eboutic_main.jinja:22 +#: eboutic/templates/eboutic/eboutic_makecommand.jinja:16 #: eboutic/templates/eboutic/eboutic_payment_result.jinja:4 -#: sith/settings.py:402 sith/settings.py:410 +#: sith/settings.py:403 sith/settings.py:411 msgid "Eboutic" msgstr "Eboutic" -#: core/templates/core/base.jinja:220 +#: core/templates/core/base.jinja:223 msgid "Services" msgstr "Services" -#: core/templates/core/base.jinja:222 +#: core/templates/core/base.jinja:225 msgid "Matmatronch" msgstr "Matmatronch" -#: core/templates/core/base.jinja:223 launderette/models.py:38 +#: core/templates/core/base.jinja:226 launderette/models.py:38 #: launderette/templates/launderette/launderette_book.jinja:5 #: launderette/templates/launderette/launderette_book_choose.jinja:4 #: launderette/templates/launderette/launderette_main.jinja:4 msgid "Launderette" msgstr "Laverie" -#: core/templates/core/base.jinja:224 core/templates/core/file.jinja:20 -#: core/views/files.py:107 +#: core/templates/core/base.jinja:227 core/templates/core/file.jinja:20 +#: core/views/files.py:117 msgid "Files" msgstr "Fichiers" -#: core/templates/core/base.jinja:225 core/templates/core/user_tools.jinja:171 +#: core/templates/core/base.jinja:228 core/templates/core/user_tools.jinja:171 msgid "Pedagogy" msgstr "Pédagogie" -#: core/templates/core/base.jinja:229 +#: core/templates/core/base.jinja:232 msgid "My Benefits" msgstr "Mes Avantages" -#: core/templates/core/base.jinja:231 +#: core/templates/core/base.jinja:234 msgid "Sponsors" msgstr "Partenaires" -#: core/templates/core/base.jinja:232 +#: core/templates/core/base.jinja:235 msgid "Subscriber benefits" msgstr "Les avantages cotisants" -#: core/templates/core/base.jinja:236 +#: core/templates/core/base.jinja:239 msgid "Help" msgstr "Aide" -#: core/templates/core/base.jinja:238 +#: core/templates/core/base.jinja:241 msgid "FAQ" msgstr "FAQ" -#: core/templates/core/base.jinja:239 core/templates/core/base.jinja:279 +#: core/templates/core/base.jinja:242 core/templates/core/base.jinja:282 msgid "Contacts" msgstr "Contacts" -#: core/templates/core/base.jinja:240 +#: core/templates/core/base.jinja:243 msgid "Wiki" msgstr "Wiki" -#: core/templates/core/base.jinja:280 +#: core/templates/core/base.jinja:283 msgid "Legal notices" msgstr "Mentions légales" -#: core/templates/core/base.jinja:281 +#: core/templates/core/base.jinja:284 msgid "Intellectual property" msgstr "Propriété intellectuelle" -#: core/templates/core/base.jinja:282 +#: core/templates/core/base.jinja:285 msgid "Help & Documentation" msgstr "Aide & Documentation" -#: core/templates/core/base.jinja:283 +#: core/templates/core/base.jinja:286 msgid "R&D" msgstr "R&D" -#: core/templates/core/base.jinja:286 +#: core/templates/core/base.jinja:289 msgid "Site created by the IT Department of the AE" msgstr "Site réalisé par le Pôle Informatique de l'AE" -#: core/templates/core/base.jinja:292 +#: core/templates/core/base.jinja:295 #, fuzzy #| msgid "Site version:" msgid "Sith version:" @@ -2598,7 +2600,7 @@ msgstr "Confirmation" #: core/templates/core/delete_confirm.jinja:20 #: core/templates/core/file_delete_confirm.jinja:14 -#: counter/templates/counter/counter_click.jinja:122 +#: counter/templates/counter/counter_click.jinja:121 msgid "Cancel" msgstr "Annuler" @@ -2631,7 +2633,7 @@ msgstr "Propriétés" #: core/templates/core/file_detail.jinja:13 #: core/templates/core/file_moderation.jinja:20 -#: sas/templates/sas/picture.jinja:95 +#: sas/templates/sas/picture.jinja:91 msgid "Owner: " msgstr "Propriétaire : " @@ -2659,7 +2661,7 @@ msgstr "Nom réel : " #: core/templates/core/file_detail.jinja:54 #: core/templates/core/file_moderation.jinja:21 -#: sas/templates/sas/picture.jinja:91 +#: sas/templates/sas/picture.jinja:87 msgid "Date: " msgstr "Date : " @@ -3052,7 +3054,7 @@ msgstr "Résultat de la recherche" msgid "Users" msgstr "Utilisateurs" -#: core/templates/core/search.jinja:18 core/views/user.py:244 +#: core/templates/core/search.jinja:18 core/views/user.py:245 msgid "Clubs" msgstr "Clubs" @@ -3109,7 +3111,7 @@ msgid "Eboutic invoices" msgstr "Facture eboutic" #: core/templates/core/user_account.jinja:57 -#: core/templates/core/user_tools.jinja:58 counter/views.py:761 +#: core/templates/core/user_tools.jinja:58 counter/views.py:758 msgid "Etickets" msgstr "Etickets" @@ -3152,89 +3154,89 @@ msgstr "Se désabonner" msgid "%(user_name)s's profile" msgstr "Profil de %(user_name)s" -#: core/templates/core/user_detail.jinja:38 +#: core/templates/core/user_detail.jinja:34 msgid "Pronouns: " msgstr "Pronoms : " -#: core/templates/core/user_detail.jinja:44 +#: core/templates/core/user_detail.jinja:40 msgid "Born: " msgstr "Né le : " -#: core/templates/core/user_detail.jinja:51 +#: core/templates/core/user_detail.jinja:47 msgid "Department: " msgstr "Département : " -#: core/templates/core/user_detail.jinja:59 +#: core/templates/core/user_detail.jinja:55 msgid "Option: " msgstr "Filière : " -#: core/templates/core/user_detail.jinja:66 +#: core/templates/core/user_detail.jinja:62 #: trombi/templates/trombi/export.jinja:20 msgid "Phone: " msgstr "Téléphone : " -#: core/templates/core/user_detail.jinja:73 +#: core/templates/core/user_detail.jinja:69 msgid "Address: " msgstr "Adresse : " -#: core/templates/core/user_detail.jinja:80 +#: core/templates/core/user_detail.jinja:76 msgid "Parents address: " msgstr "Adresse des parents : " -#: core/templates/core/user_detail.jinja:89 +#: core/templates/core/user_detail.jinja:85 msgid "Promo: " msgstr "Promo : " +#: core/templates/core/user_detail.jinja:117 +#: core/templates/core/user_detail.jinja:118 +#: core/templates/core/user_detail.jinja:120 #: core/templates/core/user_detail.jinja:121 -#: core/templates/core/user_detail.jinja:122 -#: core/templates/core/user_detail.jinja:124 -#: core/templates/core/user_detail.jinja:125 msgid "Avatar" msgstr "Avatar" +#: core/templates/core/user_detail.jinja:125 +#: core/templates/core/user_detail.jinja:126 +#: core/templates/core/user_detail.jinja:128 #: core/templates/core/user_detail.jinja:129 -#: core/templates/core/user_detail.jinja:130 -#: core/templates/core/user_detail.jinja:132 -#: core/templates/core/user_detail.jinja:133 msgid "Scrub" msgstr "Blouse" -#: core/templates/core/user_detail.jinja:163 +#: core/templates/core/user_detail.jinja:159 msgid "Not subscribed" msgstr "Non cotisant" -#: core/templates/core/user_detail.jinja:166 +#: core/templates/core/user_detail.jinja:162 #: subscription/templates/subscription/subscription.jinja:4 #: subscription/templates/subscription/subscription.jinja:8 msgid "New subscription" msgstr "Nouvelle cotisation" -#: core/templates/core/user_detail.jinja:177 +#: core/templates/core/user_detail.jinja:173 msgid "Subscription history" msgstr "Historique de cotisation" -#: core/templates/core/user_detail.jinja:187 +#: core/templates/core/user_detail.jinja:183 msgid "Subscription start" msgstr "Début de la cotisation" -#: core/templates/core/user_detail.jinja:188 +#: core/templates/core/user_detail.jinja:184 msgid "Subscription end" msgstr "Fin de la cotisation" -#: core/templates/core/user_detail.jinja:189 +#: core/templates/core/user_detail.jinja:185 #: subscription/templates/subscription/stats.jinja:36 msgid "Subscription type" msgstr "Type de cotisation" -#: core/templates/core/user_detail.jinja:213 +#: core/templates/core/user_detail.jinja:209 msgid "Give gift" msgstr "Donner cadeau" -#: core/templates/core/user_detail.jinja:221 +#: core/templates/core/user_detail.jinja:217 msgid "Last given gift :" msgstr "Dernier cadeau donné :" -#: core/templates/core/user_detail.jinja:239 +#: core/templates/core/user_detail.jinja:235 msgid "No gift given yet" msgstr "Aucun cadeau donné pour l'instant" @@ -3292,7 +3294,7 @@ msgstr "Voir l'arbre des ancêtres" msgid "No godfathers / godmothers" msgstr "Pas de famille" -#: core/templates/core/user_godfathers.jinja:38 core/views/user.py:454 +#: core/templates/core/user_godfathers.jinja:38 core/views/user.py:455 msgid "Godchildren" msgstr "Fillots / Fillotes" @@ -3347,30 +3349,30 @@ msgstr "Éditer les groupes pour %(user_name)s" msgid "User list" msgstr "Liste d'utilisateurs" -#: core/templates/core/user_pictures.jinja:17 +#: core/templates/core/user_pictures.jinja:16 #, python-format msgid "%(user_name)s's pictures" msgstr "Photos de %(user_name)s" -#: core/templates/core/user_pictures.jinja:30 +#: core/templates/core/user_pictures.jinja:29 msgid "Download all my pictures" msgstr "Télécharger toutes mes photos" -#: core/templates/core/user_pictures.jinja:48 sas/templates/sas/album.jinja:68 +#: core/templates/core/user_pictures.jinja:47 sas/templates/sas/album.jinja:68 #: sas/templates/sas/album.jinja:96 msgid "To be moderated" msgstr "A modérer" -#: core/templates/core/user_pictures.jinja:57 +#: core/templates/core/user_pictures.jinja:56 msgid "Picture Unavailable" msgstr "Photo Indisponible" -#: core/templates/core/user_pictures.jinja:101 +#: core/templates/core/user_pictures.jinja:100 msgid "pictures" msgstr "photos" #: core/templates/core/user_preferences.jinja:8 -#: core/templates/core/user_preferences.jinja:13 core/views/user.py:236 +#: core/templates/core/user_preferences.jinja:13 core/views/user.py:237 msgid "Preferences" msgstr "Préférences" @@ -3452,7 +3454,7 @@ msgstr "Outils utilisateurs" msgid "Sith management" msgstr "Gestion de Sith" -#: core/templates/core/user_tools.jinja:21 core/views/user.py:252 +#: core/templates/core/user_tools.jinja:21 core/views/user.py:253 msgid "Groups" msgstr "Groupes" @@ -3481,7 +3483,7 @@ msgid "Subscription stats" msgstr "Statistiques de cotisation" #: core/templates/core/user_tools.jinja:48 counter/forms.py:159 -#: counter/views.py:731 +#: counter/views.py:728 msgid "Counters" msgstr "Comptoirs" @@ -3498,16 +3500,16 @@ msgid "Product types management" msgstr "Gestion des types de produit" #: core/templates/core/user_tools.jinja:56 -#: counter/templates/counter/cash_summary_list.jinja:23 counter/views.py:751 +#: counter/templates/counter/cash_summary_list.jinja:23 counter/views.py:748 msgid "Cash register summaries" msgstr "Relevés de caisse" #: core/templates/core/user_tools.jinja:57 -#: counter/templates/counter/invoices_call.jinja:4 counter/views.py:756 +#: counter/templates/counter/invoices_call.jinja:4 counter/views.py:753 msgid "Invoices call" msgstr "Appels à facture" -#: core/templates/core/user_tools.jinja:72 core/views/user.py:271 +#: core/templates/core/user_tools.jinja:72 core/views/user.py:272 #: counter/templates/counter/counter_list.jinja:18 #: counter/templates/counter/counter_list.jinja:34 #: counter/templates/counter/counter_list.jinja:56 @@ -3567,12 +3569,12 @@ msgid "Moderate pictures" msgstr "Modérer les photos" #: core/templates/core/user_tools.jinja:173 -#: pedagogy/templates/pedagogy/guide.jinja:25 +#: pedagogy/templates/pedagogy/guide.jinja:21 msgid "Create UV" msgstr "Créer UV" #: core/templates/core/user_tools.jinja:174 -#: pedagogy/templates/pedagogy/guide.jinja:28 +#: pedagogy/templates/pedagogy/guide.jinja:24 #: trombi/templates/trombi/detail.jinja:10 msgid "Moderate comments" msgstr "Modérer les commentaires" @@ -3608,22 +3610,22 @@ msgid_plural "%(nb_days)d days, %(remainder)s" msgstr[0] "" msgstr[1] "" -#: core/views/files.py:104 +#: core/views/files.py:114 msgid "Add a new folder" msgstr "Ajouter un nouveau dossier" -#: core/views/files.py:124 +#: core/views/files.py:134 #, 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:144 core/views/forms.py:297 core/views/forms.py:304 +#: core/views/files.py:154 core/views/forms.py:297 core/views/forms.py:304 #: sas/views.py:82 #, 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:226 sas/views.py:354 +#: core/views/files.py:236 sas/views.py:354 msgid "Apply rights recursively" msgstr "Appliquer les droits récursivement" @@ -3765,30 +3767,30 @@ msgstr "Utilisateurs à retirer du groupe" msgid "Users to add to group" msgstr "Utilisateurs à ajouter au groupe" -#: core/views/user.py:181 +#: core/views/user.py:182 msgid "We couldn't verify that this email actually exists" msgstr "Nous n'avons pas réussi à vérifier que cette adresse mail existe." -#: core/views/user.py:204 core/views/user.py:456 core/views/user.py:458 +#: core/views/user.py:205 core/views/user.py:457 core/views/user.py:459 msgid "Family" msgstr "Famille" -#: core/views/user.py:209 sas/templates/sas/album.jinja:84 +#: core/views/user.py:210 sas/templates/sas/album.jinja:84 #: trombi/templates/trombi/export.jinja:25 #: trombi/templates/trombi/user_profile.jinja:11 msgid "Pictures" msgstr "Photos" -#: core/views/user.py:217 +#: core/views/user.py:218 msgid "Galaxy" msgstr "Galaxie" -#: core/views/user.py:595 +#: core/views/user.py:596 msgid "User already has a profile picture" msgstr "L'utilisateur a déjà une photo de profil" -#: counter/app.py:30 counter/models.py:381 counter/models.py:838 -#: counter/models.py:874 launderette/models.py:32 stock/models.py:39 +#: counter/app.py:30 counter/models.py:396 counter/models.py:850 +#: counter/models.py:886 launderette/models.py:32 stock/models.py:39 msgid "counter" msgstr "comptoir" @@ -3828,7 +3830,7 @@ msgstr "client" msgid "customers" msgstr "clients" -#: counter/models.py:72 counter/views.py:312 +#: counter/models.py:72 counter/views.py:309 msgid "Not enough money" msgstr "Solde insuffisant" @@ -3900,77 +3902,77 @@ msgstr "groupe d'achat" msgid "archived" msgstr "archivé" -#: counter/models.py:275 counter/models.py:974 +#: counter/models.py:275 counter/models.py:986 msgid "product" msgstr "produit" -#: counter/models.py:360 +#: counter/models.py:375 msgid "products" msgstr "produits" -#: counter/models.py:363 +#: counter/models.py:378 msgid "counter type" msgstr "type de comptoir" -#: counter/models.py:365 +#: counter/models.py:380 msgid "Bar" msgstr "Bar" -#: counter/models.py:365 +#: counter/models.py:380 msgid "Office" msgstr "Bureau" -#: counter/models.py:368 +#: counter/models.py:383 msgid "sellers" msgstr "vendeurs" -#: counter/models.py:376 launderette/models.py:192 +#: counter/models.py:391 launderette/models.py:192 msgid "token" msgstr "jeton" -#: counter/models.py:579 +#: counter/models.py:594 msgid "bank" msgstr "banque" -#: counter/models.py:581 counter/models.py:671 +#: counter/models.py:596 counter/models.py:686 msgid "is validated" msgstr "est validé" -#: counter/models.py:584 +#: counter/models.py:599 msgid "refilling" msgstr "rechargement" -#: counter/models.py:648 eboutic/models.py:267 +#: counter/models.py:663 eboutic/models.py:227 msgid "unit price" msgstr "prix unitaire" -#: counter/models.py:649 counter/models.py:954 eboutic/models.py:268 +#: counter/models.py:664 counter/models.py:966 eboutic/models.py:228 msgid "quantity" msgstr "quantité" -#: counter/models.py:668 +#: counter/models.py:683 msgid "Sith account" msgstr "Compte utilisateur" -#: counter/models.py:668 sith/settings.py:395 sith/settings.py:400 -#: sith/settings.py:420 +#: counter/models.py:683 sith/settings.py:396 sith/settings.py:401 +#: sith/settings.py:421 msgid "Credit card" msgstr "Carte bancaire" -#: counter/models.py:674 +#: counter/models.py:689 msgid "selling" msgstr "vente" -#: counter/models.py:783 +#: counter/models.py:793 msgid "Unknown event" msgstr "Événement inconnu" -#: counter/models.py:784 +#: counter/models.py:794 #, python-format msgid "Eticket bought for the event %(event)s" msgstr "Eticket acheté pour l'événement %(event)s" -#: counter/models.py:786 counter/models.py:809 +#: counter/models.py:796 counter/models.py:819 #, python-format msgid "" "You bought an eticket for the event %(event)s.\n" @@ -3982,63 +3984,63 @@ msgstr "" "Vous pouvez également retrouver tous vos e-tickets sur votre page de compte " "%(url)s." -#: counter/models.py:843 +#: counter/models.py:855 msgid "last activity date" msgstr "dernière activité" -#: counter/models.py:846 +#: counter/models.py:858 msgid "permanency" msgstr "permanence" -#: counter/models.py:879 +#: counter/models.py:891 msgid "emptied" msgstr "coffre vidée" -#: counter/models.py:882 +#: counter/models.py:894 msgid "cash register summary" msgstr "relevé de caisse" -#: counter/models.py:950 +#: counter/models.py:962 msgid "cash summary" msgstr "relevé" -#: counter/models.py:953 +#: counter/models.py:965 msgid "value" msgstr "valeur" -#: counter/models.py:956 +#: counter/models.py:968 msgid "check" msgstr "chèque" -#: counter/models.py:958 +#: counter/models.py:970 msgid "True if this is a bank check, else False" msgstr "Vrai si c'est un chèque, sinon Faux." -#: counter/models.py:962 +#: counter/models.py:974 msgid "cash register summary item" msgstr "élément de relevé de caisse" -#: counter/models.py:978 +#: counter/models.py:990 msgid "banner" msgstr "bannière" -#: counter/models.py:980 +#: counter/models.py:992 msgid "event date" msgstr "date de l'événement" -#: counter/models.py:982 +#: counter/models.py:994 msgid "event title" msgstr "titre de l'événement" -#: counter/models.py:984 +#: counter/models.py:996 msgid "secret" msgstr "secret" -#: counter/models.py:1023 +#: counter/models.py:1035 msgid "uid" msgstr "uid" -#: counter/models.py:1028 +#: counter/models.py:1040 msgid "student cards" msgstr "cartes étudiante" @@ -4094,7 +4096,7 @@ msgstr "Liste des relevés de caisse" msgid "Theoric sums" msgstr "Sommes théoriques" -#: counter/templates/counter/cash_summary_list.jinja:36 counter/views.py:1005 +#: counter/templates/counter/cash_summary_list.jinja:36 counter/views.py:990 msgid "Emptied" msgstr "Coffre vidé" @@ -4106,48 +4108,48 @@ msgstr "oui" msgid "There is no cash register summary in this website." msgstr "Il n'y a pas de relevé de caisse dans ce site web." -#: counter/templates/counter/counter_click.jinja:36 +#: counter/templates/counter/counter_click.jinja:35 msgid "Add a student card" msgstr "Ajouter une carte étudiante" -#: counter/templates/counter/counter_click.jinja:39 +#: counter/templates/counter/counter_click.jinja:38 msgid "This is not a valid student card UID" msgstr "Ce n'est pas un UID de carte étudiante valide" -#: counter/templates/counter/counter_click.jinja:41 -#: counter/templates/counter/counter_click.jinja:68 -#: counter/templates/counter/counter_click.jinja:133 +#: counter/templates/counter/counter_click.jinja:40 +#: counter/templates/counter/counter_click.jinja:67 +#: counter/templates/counter/counter_click.jinja:132 #: counter/templates/counter/invoices_call.jinja:16 #: launderette/templates/launderette/launderette_admin.jinja:35 #: launderette/templates/launderette/launderette_click.jinja:13 -#: sas/templates/sas/picture.jinja:151 +#: sas/templates/sas/picture.jinja:147 #: subscription/templates/subscription/stats.jinja:19 msgid "Go" msgstr "Valider" -#: counter/templates/counter/counter_click.jinja:43 +#: counter/templates/counter/counter_click.jinja:42 msgid "Registered cards" msgstr "Cartes enregistrées" -#: counter/templates/counter/counter_click.jinja:52 +#: counter/templates/counter/counter_click.jinja:51 msgid "No card registered" msgstr "Aucune carte enregistrée" -#: counter/templates/counter/counter_click.jinja:57 +#: counter/templates/counter/counter_click.jinja:56 #: launderette/templates/launderette/launderette_admin.jinja:8 msgid "Selling" msgstr "Vente" -#: counter/templates/counter/counter_click.jinja:75 -#: eboutic/templates/eboutic/eboutic_makecommand.jinja:20 +#: counter/templates/counter/counter_click.jinja:74 +#: eboutic/templates/eboutic/eboutic_makecommand.jinja:19 msgid "Basket: " msgstr "Panier : " -#: counter/templates/counter/counter_click.jinja:116 +#: counter/templates/counter/counter_click.jinja:115 msgid "Finish" msgstr "Terminer" -#: counter/templates/counter/counter_click.jinja:126 +#: counter/templates/counter/counter_click.jinja:125 #: counter/templates/counter/refilling_list.jinja:9 msgid "Refilling" msgstr "Rechargement" @@ -4320,187 +4322,169 @@ msgstr "Temps" msgid "Top 100 barman %(counter_name)s (all semesters)" msgstr "Top 100 barman %(counter_name)s (tous les semestres)" -#: counter/views.py:173 +#: counter/views.py:170 msgid "Cash summary" msgstr "Relevé de caisse" -#: counter/views.py:189 +#: counter/views.py:186 msgid "Last operations" msgstr "Dernières opérations" -#: counter/views.py:206 +#: counter/views.py:203 msgid "Take items from stock" msgstr "Prendre des éléments du stock" -#: counter/views.py:255 +#: counter/views.py:252 msgid "Bad credentials" msgstr "Mauvais identifiants" -#: counter/views.py:257 +#: counter/views.py:254 msgid "User is not barman" msgstr "L'utilisateur n'est pas barman." -#: counter/views.py:262 +#: counter/views.py:259 msgid "Bad location, someone is already logged in somewhere else" msgstr "Mauvais comptoir, quelqu'un est déjà connecté ailleurs" -#: counter/views.py:303 +#: counter/views.py:300 msgid "Too young for that product" msgstr "Trop jeune pour ce produit" -#: counter/views.py:306 +#: counter/views.py:303 msgid "Not allowed for that product" msgstr "Non autorisé pour ce produit" -#: counter/views.py:309 +#: counter/views.py:306 msgid "No date of birth provided" msgstr "Pas de date de naissance renseignée" -#: counter/views.py:598 +#: counter/views.py:595 msgid "You have not enough money to buy all the basket" msgstr "Vous n'avez pas assez d'argent pour acheter le panier" -#: counter/views.py:725 +#: counter/views.py:722 msgid "Counter administration" msgstr "Administration des comptoirs" -#: counter/views.py:727 +#: counter/views.py:724 msgid "Stocks" msgstr "Stocks" -#: counter/views.py:746 +#: counter/views.py:743 msgid "Product types" msgstr "Types de produit" -#: counter/views.py:962 +#: counter/views.py:947 msgid "10 cents" msgstr "10 centimes" -#: counter/views.py:963 +#: counter/views.py:948 msgid "20 cents" msgstr "20 centimes" -#: counter/views.py:964 +#: counter/views.py:949 msgid "50 cents" msgstr "50 centimes" -#: counter/views.py:965 +#: counter/views.py:950 msgid "1 euro" msgstr "1 €" -#: counter/views.py:966 +#: counter/views.py:951 msgid "2 euros" msgstr "2 €" -#: counter/views.py:967 +#: counter/views.py:952 msgid "5 euros" msgstr "5 €" -#: counter/views.py:968 +#: counter/views.py:953 msgid "10 euros" msgstr "10 €" -#: counter/views.py:969 +#: counter/views.py:954 msgid "20 euros" msgstr "20 €" -#: counter/views.py:970 +#: counter/views.py:955 msgid "50 euros" msgstr "50 €" -#: counter/views.py:972 +#: counter/views.py:957 msgid "100 euros" msgstr "100 €" -#: counter/views.py:975 counter/views.py:981 counter/views.py:987 -#: counter/views.py:993 counter/views.py:999 +#: counter/views.py:960 counter/views.py:966 counter/views.py:972 +#: counter/views.py:978 counter/views.py:984 msgid "Check amount" msgstr "Montant du chèque" -#: counter/views.py:978 counter/views.py:984 counter/views.py:990 -#: counter/views.py:996 counter/views.py:1002 +#: counter/views.py:963 counter/views.py:969 counter/views.py:975 +#: counter/views.py:981 counter/views.py:987 msgid "Check quantity" msgstr "Nombre de chèque" -#: counter/views.py:1532 +#: counter/views.py:1503 msgid "people(s)" msgstr "personne(s)" -#: eboutic/forms.py:106 -msgid "You have no basket." -msgstr "Vous n'avez pas de panier." - -#: eboutic/forms.py:119 +#: eboutic/forms.py:88 msgid "The request was badly formatted." msgstr "La requête a été mal formatée." -#: eboutic/forms.py:125 -msgid "The basket cookie was badly formatted." -msgstr "Le cookie du panier a été mal formaté." - -#: eboutic/forms.py:129 +#: eboutic/forms.py:91 msgid "Your basket is empty." msgstr "Votre panier est vide" -#: eboutic/forms.py:140 -#, python-format -msgid "%(name)s : this product does not exist." -msgstr "%(name)s : ce produit n'existe pas." - -#: eboutic/forms.py:149 +#: eboutic/forms.py:101 #, python-format msgid "%(name)s : this product does not exist or may no longer be available." msgstr "%(name)s : ce produit n'existe pas ou n'est peut-être plus disponible." -#: eboutic/forms.py:156 -#, python-format -msgid "You cannot buy %(nbr)d %(name)s." -msgstr "Vous ne pouvez pas acheter %(nbr)d %(name)s." - -#: eboutic/models.py:215 +#: eboutic/models.py:174 msgid "validated" msgstr "validé" -#: eboutic/models.py:228 +#: eboutic/models.py:188 msgid "Invoice already validated" msgstr "Facture déjà validée" -#: eboutic/models.py:264 +#: eboutic/models.py:224 msgid "product id" msgstr "ID du produit" -#: eboutic/models.py:265 +#: eboutic/models.py:225 msgid "product name" msgstr "nom du produit" -#: eboutic/models.py:266 +#: eboutic/models.py:226 msgid "product type id" msgstr "id du type du produit" -#: eboutic/models.py:283 +#: eboutic/models.py:243 msgid "basket" msgstr "panier" -#: eboutic/templates/eboutic/eboutic_main.jinja:41 -#: eboutic/templates/eboutic/eboutic_makecommand.jinja:45 +#: eboutic/templates/eboutic/eboutic_main.jinja:39 +#: eboutic/templates/eboutic/eboutic_makecommand.jinja:44 msgid "Current account amount: " msgstr "Solde actuel : " -#: eboutic/templates/eboutic/eboutic_main.jinja:60 -#: eboutic/templates/eboutic/eboutic_makecommand.jinja:41 +#: eboutic/templates/eboutic/eboutic_main.jinja:58 +#: eboutic/templates/eboutic/eboutic_makecommand.jinja:40 msgid "Basket amount: " msgstr "Valeur du panier : " -#: eboutic/templates/eboutic/eboutic_main.jinja:67 +#: eboutic/templates/eboutic/eboutic_main.jinja:65 msgid "Clear" msgstr "Vider" -#: eboutic/templates/eboutic/eboutic_main.jinja:73 -#: eboutic/templates/eboutic/eboutic_makecommand.jinja:93 +#: eboutic/templates/eboutic/eboutic_main.jinja:71 +#: eboutic/templates/eboutic/eboutic_makecommand.jinja:95 msgid "Validate" msgstr "Valider" -#: eboutic/templates/eboutic/eboutic_main.jinja:82 +#: eboutic/templates/eboutic/eboutic_main.jinja:80 msgid "" "You have not filled in your date of birth. As a result, you may not have " "access to all the products in the online shop. To fill in your date of " @@ -4511,11 +4495,11 @@ msgstr "" "boutique en ligne. Pour remplir votre date de naissance, vous pouvez aller " "sur" -#: eboutic/templates/eboutic/eboutic_main.jinja:84 +#: eboutic/templates/eboutic/eboutic_main.jinja:82 msgid "this page" msgstr "cette page" -#: eboutic/templates/eboutic/eboutic_main.jinja:126 +#: eboutic/templates/eboutic/eboutic_main.jinja:124 msgid "There are no items available for sale" msgstr "Aucun article n'est disponible à la vente" @@ -4523,23 +4507,15 @@ msgstr "Aucun article n'est disponible à la vente" msgid "Basket state" msgstr "État du panier" -#: eboutic/templates/eboutic/eboutic_makecommand.jinja:50 +#: eboutic/templates/eboutic/eboutic_makecommand.jinja:49 msgid "Remaining account amount: " msgstr "Solde restant : " -#: eboutic/templates/eboutic/eboutic_makecommand.jinja:65 +#: eboutic/templates/eboutic/eboutic_makecommand.jinja:64 msgid "Billing information" msgstr "Informations de facturation" -#: eboutic/templates/eboutic/eboutic_makecommand.jinja:138 -msgid "Billing info registration success" -msgstr "Informations de facturation enregistrées" - -#: eboutic/templates/eboutic/eboutic_makecommand.jinja:139 -msgid "Billing info registration failure" -msgstr "Echec de l'enregistrement des informations de facturation." - -#: eboutic/templates/eboutic/eboutic_makecommand.jinja:100 +#: eboutic/templates/eboutic/eboutic_makecommand.jinja:104 #, fuzzy #| msgid "" #| "You must fill your billing infos if you want to pay with your credit\n" @@ -4551,21 +4527,33 @@ msgstr "" "Vous devez renseigner vos coordonnées de facturation si vous voulez payer " "par carte bancaire" -#: eboutic/templates/eboutic/eboutic_makecommand.jinja:111 +#: eboutic/templates/eboutic/eboutic_makecommand.jinja:117 msgid "Pay with credit card" msgstr "Payer avec une carte bancaire" -#: eboutic/templates/eboutic/eboutic_makecommand.jinja:115 +#: eboutic/templates/eboutic/eboutic_makecommand.jinja:122 msgid "" "AE account payment disabled because your basket contains refilling items." msgstr "" "Paiement par compte AE désactivé parce que votre panier contient des bons de " "rechargement." -#: eboutic/templates/eboutic/eboutic_makecommand.jinja:120 +#: eboutic/templates/eboutic/eboutic_makecommand.jinja:125 +msgid "AE account payment disabled because you do not have enough money remaining." +msgstr "Paiement par compte AE désactivé parce que votre solde est insuffisant." + +#: eboutic/templates/eboutic/eboutic_makecommand.jinja:132 msgid "Pay with Sith account" msgstr "Payer avec un compte AE" +#: eboutic/templates/eboutic/eboutic_makecommand.jinja:143 +msgid "Billing info registration success" +msgstr "Informations de facturation enregistrées" + +#: eboutic/templates/eboutic/eboutic_makecommand.jinja:144 +msgid "Billing info registration failure" +msgstr "Echec de l'enregistrement des informations de facturation." + #: eboutic/templates/eboutic/eboutic_payment_result.jinja:8 msgid "Payment successful" msgstr "Le paiement a été effectué" @@ -4890,11 +4878,11 @@ msgstr "Enlever des favoris" msgid "Mark as favorite" msgstr "Ajouter aux favoris" -#: forum/views.py:191 +#: forum/views.py:192 msgid "Apply rights and club owner recursively" msgstr "Appliquer les droits et le club propriétaire récursivement" -#: forum/views.py:420 +#: forum/views.py:421 #, python-format msgid "%(author)s said" msgstr "Citation de %(author)s" @@ -5005,12 +4993,12 @@ msgid "Washing and drying" msgstr "Lavage et séchage" #: launderette/templates/launderette/launderette_book.jinja:27 -#: sith/settings.py:631 +#: sith/settings.py:635 msgid "Washing" msgstr "Lavage" #: launderette/templates/launderette/launderette_book.jinja:31 -#: sith/settings.py:631 +#: sith/settings.py:635 msgid "Drying" msgstr "Séchage" @@ -5210,26 +5198,26 @@ msgstr "raison" msgid "UV Guide" msgstr "Guide des UVs" -#: pedagogy/templates/pedagogy/guide.jinja:59 +#: pedagogy/templates/pedagogy/guide.jinja:55 #, python-format msgid "%(display_name)s" msgstr "%(display_name)s" -#: pedagogy/templates/pedagogy/guide.jinja:73 +#: pedagogy/templates/pedagogy/guide.jinja:69 #, python-format msgid "%(credit_type)s" msgstr "%(credit_type)s" -#: pedagogy/templates/pedagogy/guide.jinja:91 +#: pedagogy/templates/pedagogy/guide.jinja:87 #: pedagogy/templates/pedagogy/moderation.jinja:12 msgid "UV" msgstr "UE" -#: pedagogy/templates/pedagogy/guide.jinja:93 +#: pedagogy/templates/pedagogy/guide.jinja:89 msgid "Department" msgstr "Département" -#: pedagogy/templates/pedagogy/guide.jinja:94 +#: pedagogy/templates/pedagogy/guide.jinja:90 msgid "Credit type" msgstr "Type de crédit" @@ -5398,15 +5386,15 @@ msgstr "Fusionner deux utilisateurs" msgid "Merge" msgstr "Fusion" -#: rootplace/views.py:155 +#: rootplace/views.py:156 msgid "User that will be kept" msgstr "Utilisateur qui sera conservé" -#: rootplace/views.py:158 +#: rootplace/views.py:159 msgid "User that will be deleted" msgstr "Utilisateur qui sera supprimé" -#: rootplace/views.py:164 +#: rootplace/views.py:165 msgid "User to be selected" msgstr "Utilisateur à sélectionner" @@ -5415,7 +5403,7 @@ msgid "picture" msgstr "photo" #: sas/templates/sas/album.jinja:9 sas/templates/sas/main.jinja:8 -#: sas/templates/sas/main.jinja:39 sas/templates/sas/picture.jinja:28 +#: sas/templates/sas/main.jinja:39 sas/templates/sas/picture.jinja:24 msgid "SAS" msgstr "SAS" @@ -5451,19 +5439,19 @@ msgstr "Toutes les catégories" msgid "SAS moderation" msgstr "Modération du SAS" -#: sas/templates/sas/picture.jinja:63 +#: sas/templates/sas/picture.jinja:59 msgid "Asked for removal" msgstr "Retrait demandé" -#: sas/templates/sas/picture.jinja:113 +#: sas/templates/sas/picture.jinja:109 msgid "HD version" msgstr "Version HD" -#: sas/templates/sas/picture.jinja:116 +#: sas/templates/sas/picture.jinja:112 msgid "Ask for removal" msgstr "Demander le retrait" -#: sas/templates/sas/picture.jinja:147 +#: sas/templates/sas/picture.jinja:143 msgid "People" msgstr "Personne(s)" @@ -5484,380 +5472,380 @@ msgstr "Erreur de création de l'album %(album)s : %(msg)s" msgid "Add user" msgstr "Ajouter une personne" -#: sith/settings.py:246 sith/settings.py:457 +#: sith/settings.py:247 sith/settings.py:458 msgid "English" msgstr "Anglais" -#: sith/settings.py:246 sith/settings.py:456 +#: sith/settings.py:247 sith/settings.py:457 msgid "French" msgstr "Français" -#: sith/settings.py:376 +#: sith/settings.py:377 msgid "TC" msgstr "TC" -#: sith/settings.py:377 +#: sith/settings.py:378 msgid "IMSI" msgstr "IMSI" -#: sith/settings.py:378 +#: sith/settings.py:379 msgid "IMAP" msgstr "IMAP" -#: sith/settings.py:379 +#: sith/settings.py:380 msgid "INFO" msgstr "INFO" -#: sith/settings.py:380 +#: sith/settings.py:381 msgid "GI" msgstr "GI" -#: sith/settings.py:381 sith/settings.py:467 +#: sith/settings.py:382 sith/settings.py:468 msgid "E" msgstr "E" -#: sith/settings.py:382 +#: sith/settings.py:383 msgid "EE" msgstr "EE" -#: sith/settings.py:383 +#: sith/settings.py:384 msgid "GESC" msgstr "GESC" -#: sith/settings.py:384 +#: sith/settings.py:385 msgid "GMC" msgstr "GMC" -#: sith/settings.py:385 +#: sith/settings.py:386 msgid "MC" msgstr "MC" -#: sith/settings.py:386 +#: sith/settings.py:387 msgid "EDIM" msgstr "EDIM" -#: sith/settings.py:387 +#: sith/settings.py:388 msgid "Humanities" msgstr "Humanités" -#: sith/settings.py:388 +#: sith/settings.py:389 msgid "N/A" msgstr "N/A" -#: sith/settings.py:392 sith/settings.py:399 sith/settings.py:418 +#: sith/settings.py:393 sith/settings.py:400 sith/settings.py:419 msgid "Check" msgstr "Chèque" -#: sith/settings.py:393 sith/settings.py:401 sith/settings.py:419 +#: sith/settings.py:394 sith/settings.py:402 sith/settings.py:420 msgid "Cash" msgstr "Espèces" -#: sith/settings.py:394 +#: sith/settings.py:395 msgid "Transfert" msgstr "Virement" -#: sith/settings.py:407 +#: sith/settings.py:408 msgid "Belfort" msgstr "Belfort" -#: sith/settings.py:408 +#: sith/settings.py:409 msgid "Sevenans" msgstr "Sevenans" -#: sith/settings.py:409 +#: sith/settings.py:410 msgid "Montbéliard" msgstr "Montbéliard" -#: sith/settings.py:437 +#: sith/settings.py:438 msgid "Free" msgstr "Libre" -#: sith/settings.py:438 +#: sith/settings.py:439 msgid "CS" msgstr "CS" -#: sith/settings.py:439 +#: sith/settings.py:440 msgid "TM" msgstr "TM" -#: sith/settings.py:440 +#: sith/settings.py:441 msgid "OM" msgstr "OM" -#: sith/settings.py:441 +#: sith/settings.py:442 msgid "QC" msgstr "QC" -#: sith/settings.py:442 +#: sith/settings.py:443 msgid "EC" msgstr "EC" -#: sith/settings.py:443 +#: sith/settings.py:444 msgid "RN" msgstr "RN" -#: sith/settings.py:444 +#: sith/settings.py:445 msgid "ST" msgstr "ST" -#: sith/settings.py:445 +#: sith/settings.py:446 msgid "EXT" msgstr "EXT" -#: sith/settings.py:450 +#: sith/settings.py:451 msgid "Autumn" msgstr "Automne" -#: sith/settings.py:451 +#: sith/settings.py:452 msgid "Spring" msgstr "Printemps" -#: sith/settings.py:452 +#: sith/settings.py:453 msgid "Autumn and spring" msgstr "Automne et printemps" -#: sith/settings.py:458 +#: sith/settings.py:459 msgid "German" msgstr "Allemand" -#: sith/settings.py:459 +#: sith/settings.py:460 msgid "Spanish" msgstr "Espagnol" -#: sith/settings.py:463 +#: sith/settings.py:464 msgid "A" msgstr "A" -#: sith/settings.py:464 +#: sith/settings.py:465 msgid "B" msgstr "B" -#: sith/settings.py:465 +#: sith/settings.py:466 msgid "C" msgstr "C" -#: sith/settings.py:466 +#: sith/settings.py:467 msgid "D" msgstr "D" -#: sith/settings.py:468 +#: sith/settings.py:469 msgid "FX" msgstr "FX" -#: sith/settings.py:469 +#: sith/settings.py:470 msgid "F" msgstr "F" -#: sith/settings.py:470 +#: sith/settings.py:471 msgid "Abs" msgstr "Abs" -#: sith/settings.py:474 +#: sith/settings.py:475 msgid "Selling deletion" msgstr "Suppression de vente" -#: sith/settings.py:475 +#: sith/settings.py:476 msgid "Refilling deletion" msgstr "Suppression de rechargement" -#: sith/settings.py:512 +#: sith/settings.py:513 msgid "One semester" msgstr "Un semestre, 20 €" -#: sith/settings.py:513 +#: sith/settings.py:514 msgid "Two semesters" msgstr "Deux semestres, 35 €" -#: sith/settings.py:515 +#: sith/settings.py:516 msgid "Common core cursus" msgstr "Cursus tronc commun, 60 €" -#: sith/settings.py:519 +#: sith/settings.py:520 msgid "Branch cursus" msgstr "Cursus branche, 60 €" -#: sith/settings.py:520 +#: sith/settings.py:521 msgid "Alternating cursus" msgstr "Cursus alternant, 30 €" -#: sith/settings.py:521 +#: sith/settings.py:522 msgid "Honorary member" msgstr "Membre honoraire, 0 €" -#: sith/settings.py:522 +#: sith/settings.py:523 msgid "Assidu member" msgstr "Membre d'Assidu, 0 €" -#: sith/settings.py:523 +#: sith/settings.py:524 msgid "Amicale/DOCEO member" msgstr "Membre de l'Amicale/DOCEO, 0 €" -#: sith/settings.py:524 +#: sith/settings.py:525 msgid "UT network member" msgstr "Cotisant du réseau UT, 0 €" -#: sith/settings.py:525 +#: sith/settings.py:526 msgid "CROUS member" msgstr "Membres du CROUS, 0 €" -#: sith/settings.py:526 +#: sith/settings.py:527 msgid "Sbarro/ESTA member" msgstr "Membre de Sbarro ou de l'ESTA, 20 €" -#: sith/settings.py:528 +#: sith/settings.py:529 msgid "One semester Welcome Week" msgstr "Un semestre Welcome Week" -#: sith/settings.py:532 +#: sith/settings.py:533 msgid "One month for free" msgstr "Un mois gratuit" -#: sith/settings.py:533 +#: sith/settings.py:534 msgid "Two months for free" msgstr "Deux mois gratuits" -#: sith/settings.py:534 +#: sith/settings.py:535 msgid "Eurok's volunteer" msgstr "Bénévole Eurockéennes" -#: sith/settings.py:536 +#: sith/settings.py:537 msgid "Six weeks for free" msgstr "6 semaines gratuites" -#: sith/settings.py:540 +#: sith/settings.py:541 msgid "One day" msgstr "Un jour" -#: sith/settings.py:541 +#: sith/settings.py:542 msgid "GA staff member" msgstr "Membre staff GA (2 semaines), 1 €" -#: sith/settings.py:544 +#: sith/settings.py:545 msgid "One semester (-20%)" msgstr "Un semestre (-20%), 12 €" -#: sith/settings.py:549 +#: sith/settings.py:550 msgid "Two semesters (-20%)" msgstr "Deux semestres (-20%), 22 €" -#: sith/settings.py:554 +#: sith/settings.py:555 msgid "Common core cursus (-20%)" msgstr "Cursus tronc commun (-20%), 36 €" -#: sith/settings.py:559 +#: sith/settings.py:560 msgid "Branch cursus (-20%)" msgstr "Cursus branche (-20%), 36 €" -#: sith/settings.py:564 +#: sith/settings.py:565 msgid "Alternating cursus (-20%)" msgstr "Cursus alternant (-20%), 24 €" -#: sith/settings.py:570 +#: sith/settings.py:571 msgid "One year for free(CA offer)" msgstr "Une année offerte (Offre CA)" -#: sith/settings.py:590 +#: sith/settings.py:591 msgid "President" msgstr "Président⸱e" -#: sith/settings.py:591 +#: sith/settings.py:592 msgid "Vice-President" msgstr "Vice-Président⸱e" -#: sith/settings.py:592 +#: sith/settings.py:593 msgid "Treasurer" msgstr "Trésorier⸱e" -#: sith/settings.py:593 +#: sith/settings.py:594 msgid "Communication supervisor" msgstr "Responsable communication" -#: sith/settings.py:594 +#: sith/settings.py:595 msgid "Secretary" msgstr "Secrétaire" -#: sith/settings.py:595 +#: sith/settings.py:596 msgid "IT supervisor" msgstr "Responsable info" -#: sith/settings.py:596 +#: sith/settings.py:597 msgid "Board member" msgstr "Membre du bureau" -#: sith/settings.py:597 +#: sith/settings.py:598 msgid "Active member" msgstr "Membre actif⸱ve" -#: sith/settings.py:598 +#: sith/settings.py:599 msgid "Curious" msgstr "Curieux⸱euse" -#: sith/settings.py:635 +#: sith/settings.py:639 msgid "A new poster needs to be moderated" msgstr "Une nouvelle affiche a besoin d'être modérée" -#: sith/settings.py:636 +#: sith/settings.py:640 msgid "A new mailing list needs to be moderated" msgstr "Une nouvelle mailing list a besoin d'être modérée" -#: sith/settings.py:639 +#: sith/settings.py:643 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:641 +#: sith/settings.py:645 #, 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:642 +#: sith/settings.py:646 msgid "New files to be moderated" msgstr "Nouveaux fichiers à modérer" -#: sith/settings.py:643 +#: sith/settings.py:647 #, 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:644 +#: sith/settings.py:648 msgid "You've been identified on some pictures" msgstr "Vous avez été identifié sur des photos" -#: sith/settings.py:645 +#: sith/settings.py:649 #, python-format msgid "You just refilled of %s €" msgstr "Vous avez rechargé votre compte de %s€" -#: sith/settings.py:646 +#: sith/settings.py:650 #, python-format msgid "You just bought %s" msgstr "Vous avez acheté %s" -#: sith/settings.py:647 +#: sith/settings.py:651 msgid "You have a notification" msgstr "Vous avez une notification" -#: sith/settings.py:659 +#: sith/settings.py:663 msgid "Success!" msgstr "Succès !" -#: sith/settings.py:660 +#: sith/settings.py:664 msgid "Fail!" msgstr "Échec !" -#: sith/settings.py:661 +#: sith/settings.py:665 msgid "You successfully posted an article in the Weekmail" msgstr "Article posté avec succès dans le Weekmail" -#: sith/settings.py:662 +#: sith/settings.py:666 msgid "You successfully edited an article in the Weekmail" msgstr "Article édité avec succès dans le Weekmail" -#: sith/settings.py:663 +#: sith/settings.py:667 msgid "You successfully sent the Weekmail" msgstr "Weekmail envoyé avec succès" -#: sith/settings.py:671 +#: sith/settings.py:675 msgid "AE tee-shirt" msgstr "Tee-shirt AE" @@ -6405,6 +6393,20 @@ msgstr "Vous ne pouvez plus écrire de commentaires, la date est passée." msgid "Maximum characters: %(max_length)s" msgstr "Nombre de caractères max: %(max_length)s" +#~ msgid "You have no basket." +#~ msgstr "Vous n'avez pas de panier." + +#~ msgid "The basket cookie was badly formatted." +#~ msgstr "Le cookie du panier a été mal formaté." + +#, python-format +#~ msgid "%(name)s : this product does not exist." +#~ msgstr "%(name)s : ce produit n'existe pas." + +#, python-format +#~ msgid "You cannot buy %(nbr)d %(name)s." +#~ msgstr "Vous ne pouvez pas acheter %(nbr)d %(name)s." + #~ msgid "Error downloading your pictures" #~ msgstr "Erreur de téléchargement de vos photos"