Commit bdd84277 authored by Sli's avatar Sli

sentry: integration with error 500 page

parent f7be284b
Pipeline #1555 passed with stage
in 7 minutes and 51 seconds
{% extends "core/base.jinja" %}
{% block head %}
{{ super() }}
<script src="https://browser.sentry-cdn.com/4.0.6/bundle.min.js" crossorigin="anonymous"></script>
{% endblock head %}
{% block content %}
<h3>{% trans %}500, Server Error{% endtrans %}</h3>
{% if request.sentry_dsn %}
<script>
Sentry.init({ dsn: '{{ request.sentry_dsn }}' });
Sentry.showReportDialog({ eventId: '{{ request.sentry_last_event_id() }}' })
</script>
{% endif %}
{% endblock content %}
......@@ -24,8 +24,14 @@
import types
from sentry_sdk import last_event_id
from django.shortcuts import render
from django.http import HttpResponseForbidden, HttpResponseNotFound
from django.http import (
HttpResponseForbidden,
HttpResponseNotFound,
HttpResponseServerError,
)
from django.template import RequestContext
from django.core.exceptions import (
PermissionDenied,
ObjectDoesNotExist,
......@@ -65,6 +71,12 @@ def not_found(request):
return HttpResponseNotFound(render(request, "core/404.jinja"))
def internal_servor_error(request):
request.sentry_dsn = settings.SENTRY_DSN
request.sentry_last_event_id = last_event_id
return HttpResponseServerError(render(request, "core/500.jinja"))
def can_edit_prop(obj, user):
if obj is None or user.is_owner(obj):
return True
......
......@@ -6,7 +6,7 @@
msgid ""
msgstr ""
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-09-20 14:41+0200\n"
"POT-Creation-Date: 2018-10-10 02:17+0200\n"
"PO-Revision-Date: 2016-07-18\n"
"Last-Translator: Skia <skia@libskia.so>\n"
"Language-Team: AE info <ae.info@utbm.fr>\n"
......@@ -16,168 +16,169 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
#: accounting/models.py:59 accounting/models.py:108 accounting/models.py:136
#: accounting/models.py:195 club/models.py:47 com/models.py:198
#: com/models.py:212 core/templates/core/base.jinja:297 counter/models.py:113
#: counter/models.py:140 counter/models.py:184 forum/models.py:54
#: launderette/models.py:38 launderette/models.py:84 launderette/models.py:110
#: stock/models.py:38 stock/models.py:54 stock/models.py:77 stock/models.py:97
#: accounting/models.py:61 accounting/models.py:110 accounting/models.py:138
#: accounting/models.py:203 club/models.py:48 com/models.py:231
#: com/models.py:248 core/templates/core/base.jinja:296 counter/models.py:119
#: counter/models.py:147 counter/models.py:209 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
msgid "name"
msgstr "nom"
#: accounting/models.py:60
#: accounting/models.py:62
msgid "street"
msgstr "rue"
#: accounting/models.py:61
#: accounting/models.py:63
msgid "city"
msgstr "ville"
#: accounting/models.py:62
#: accounting/models.py:64
msgid "postcode"
msgstr "code postal"
#: accounting/models.py:63
#: accounting/models.py:65
msgid "country"
msgstr "pays"
#: accounting/models.py:64 core/models.py:198
#: accounting/models.py:66 core/models.py:258
msgid "phone"
msgstr "téléphone"
#: accounting/models.py:65
#: accounting/models.py:67
msgid "email"
msgstr "email"
#: accounting/models.py:66
#: accounting/models.py:68
msgid "website"
msgstr "site internet"
#: accounting/models.py:69
#: accounting/models.py:71
msgid "company"
msgstr "entreprise"
#: accounting/models.py:109
#: accounting/models.py:111
msgid "iban"
msgstr "IBAN"
#: accounting/models.py:110
#: accounting/models.py:112
msgid "account number"
msgstr "numero de compte"
#: accounting/models.py:111 accounting/models.py:137 club/models.py:227
#: com/models.py:73 com/models.py:187 com/models.py:214 counter/models.py:149
#: counter/models.py:185 trombi/models.py:149
#: accounting/models.py:113 accounting/models.py:139 club/models.py:266
#: com/models.py:75 com/models.py:219 com/models.py:252 counter/models.py:164
#: counter/models.py:210 trombi/models.py:205
msgid "club"
msgstr "club"
#: accounting/models.py:114
#: accounting/models.py:116
msgid "Bank account"
msgstr "Compte en banque"
#: accounting/models.py:138
#: accounting/models.py:141
msgid "bank account"
msgstr "compte en banque"
#: accounting/models.py:141
#: accounting/models.py:145
msgid "Club account"
msgstr "Compte club"
#: accounting/models.py:186
#: accounting/models.py:190
#, python-format
msgid "%(club_account)s on %(bank_account)s"
msgstr "%(club_account)s sur %(bank_account)s"
#: accounting/models.py:193 club/models.py:228 counter/models.py:466
#: election/models.py:17 launderette/models.py:148
#: accounting/models.py:201 club/models.py:268 counter/models.py:589
#: election/models.py:18 launderette/models.py:180
msgid "start date"
msgstr "date de début"
#: accounting/models.py:194 club/models.py:229 counter/models.py:467
#: election/models.py:18
#: accounting/models.py:202 club/models.py:269 counter/models.py:590
#: election/models.py:19
msgid "end date"
msgstr "date de fin"
#: accounting/models.py:196
#: accounting/models.py:204
msgid "is closed"
msgstr "est fermé"
#: accounting/models.py:197 accounting/models.py:421
#: accounting/models.py:206 accounting/models.py:521
msgid "club account"
msgstr "compte club"
#: accounting/models.py:198 accounting/models.py:255 counter/models.py:53
#: counter/models.py:298
#: accounting/models.py:208 accounting/models.py:268 counter/models.py:54
#: counter/models.py:346
msgid "amount"
msgstr "montant"
#: accounting/models.py:199
#: accounting/models.py:209
msgid "effective_amount"
msgstr "montant effectif"
#: accounting/models.py:202
#: accounting/models.py:212
msgid "General journal"
msgstr "Classeur"
#: accounting/models.py:253
#: accounting/models.py:264
msgid "number"
msgstr "numéro"
#: accounting/models.py:254
#: accounting/models.py:266
msgid "journal"
msgstr "classeur"
#: accounting/models.py:256 core/models.py:657 core/models.py:1117
#: core/models.py:1161 core/models.py:1188 counter/models.py:301
#: counter/models.py:351 counter/models.py:484 eboutic/models.py:39
#: eboutic/models.py:73 forum/models.py:248 forum/models.py:323
#: stock/models.py:76
#: accounting/models.py:269 core/models.py:805 core/models.py:1341
#: core/models.py:1387 core/models.py:1416 counter/models.py:351
#: counter/models.py:444 counter/models.py:613 eboutic/models.py:42
#: eboutic/models.py:85 forum/models.py:298 forum/models.py:391
#: stock/models.py:99
msgid "date"
msgstr "date"
#: accounting/models.py:257 counter/models.py:115 counter/models.py:485
#: stock/models.py:79
#: accounting/models.py:270 counter/models.py:121 counter/models.py:614
#: stock/models.py:102
msgid "comment"
msgstr "commentaire"
#: accounting/models.py:258 counter/models.py:302 counter/models.py:352
#: subscription/models.py:59
#: accounting/models.py:272 counter/models.py:353 counter/models.py:446
#: subscription/models.py:64
msgid "payment method"
msgstr "méthode de paiement"
#: accounting/models.py:259
#: accounting/models.py:277
msgid "cheque number"
msgstr "numéro de chèque"
#: accounting/models.py:260 eboutic/models.py:144
#: accounting/models.py:282 eboutic/models.py:166
msgid "invoice"
msgstr "facture"
#: accounting/models.py:261
#: accounting/models.py:286
msgid "is done"
msgstr "est fait"
#: accounting/models.py:263
#: accounting/models.py:290
msgid "simple type"
msgstr "type simplifié"
#: accounting/models.py:265 accounting/models.py:374
#: accounting/models.py:297 accounting/models.py:462
msgid "accounting type"
msgstr "type comptable"
#: accounting/models.py:267 accounting/models.py:369 accounting/models.py:396
#: accounting/models.py:420 core/models.py:1187 counter/models.py:343
#: accounting/models.py:304 accounting/models.py:450 accounting/models.py:485
#: accounting/models.py:519 core/models.py:1415 counter/models.py:410
msgid "label"
msgstr "étiquette"
#: accounting/models.py:268
#: accounting/models.py:310
msgid "target type"
msgstr "type de cible"
#: accounting/models.py:269 club/models.py:329
#: accounting/models.py:313 club/models.py:422
#: club/templates/club/club_members.jinja:8
#: club/templates/club/club_old_members.jinja:8
#: club/templates/club/mailing.jinja:28 club/views.py:86
#: club/templates/club/mailing.jinja:28 club/views.py:111
#: counter/templates/counter/cash_summary_list.jinja:32
#: counter/templates/counter/stats.jinja:15
#: counter/templates/counter/stats.jinja:52
......@@ -186,7 +187,7 @@ msgstr "type de cible"
msgid "User"
msgstr "Utilisateur"
#: accounting/models.py:269 club/models.py:270
#: accounting/models.py:314 club/models.py:329
#: club/templates/club/club_detail.jinja:12
#: com/templates/com/mailing_admin.jinja:11
#: com/templates/com/news_admin_list.jinja:23
......@@ -210,36 +211,36 @@ msgstr "Utilisateur"
msgid "Club"
msgstr "Club"
#: accounting/models.py:269 core/views/user.py:220
#: accounting/models.py:315 core/views/user.py:295
msgid "Account"
msgstr "Compte"
#: accounting/models.py:269
#: accounting/models.py:316
msgid "Company"
msgstr "Entreprise"
#: accounting/models.py:269 sith/settings.py:378
#: accounting/models.py:317 sith/settings.py:377
#: stock/templates/stock/shopping_list_items.jinja:37
msgid "Other"
msgstr "Autre"
#: accounting/models.py:270
#: accounting/models.py:320
msgid "target id"
msgstr "id de la cible"
#: accounting/models.py:271
#: accounting/models.py:322
msgid "target label"
msgstr "nom de la cible"
#: accounting/models.py:272
#: accounting/models.py:327
msgid "linked operation"
msgstr "opération liée"
#: accounting/models.py:288
#: accounting/models.py:346
msgid "The date must be set."
msgstr "La date doit être indiquée."
#: accounting/models.py:290
#: accounting/models.py:350
#, python-format
msgid ""
"The date can not be before the start date of the journal, which is\n"
......@@ -248,16 +249,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:293
#: accounting/models.py:360
msgid "Target does not exists"
msgstr "La cible n'existe pas."
#: accounting/models.py:295
#: accounting/models.py:363
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:297
#: accounting/models.py:368
msgid ""
"You need to provide ether a simplified accounting type or a standard "
"accounting type"
......@@ -265,41 +266,41 @@ msgstr ""
"Vous devez fournir soit un type comptable simplifié ou un type comptable "
"standard"
#: accounting/models.py:364 counter/models.py:144
#: accounting/models.py:442 counter/models.py:157
msgid "code"
msgstr "code"
#: accounting/models.py:366
#: accounting/models.py:446
msgid "An accounting type code contains only numbers"
msgstr "Un code comptable ne contient que des numéros"
#: accounting/models.py:370
#: accounting/models.py:452
msgid "movement type"
msgstr "type de mouvement"
#: accounting/models.py:370
#: accounting/models.py:454
#: accounting/templates/accounting/journal_statement_nature.jinja:9
#: accounting/templates/accounting/journal_statement_person.jinja:12
#: accounting/views.py:482
#: accounting/views.py:602
msgid "Credit"
msgstr "Crédit"
#: accounting/models.py:370
#: accounting/models.py:455
#: accounting/templates/accounting/journal_statement_nature.jinja:28
#: accounting/templates/accounting/journal_statement_person.jinja:40
#: accounting/views.py:482
#: accounting/views.py:602
msgid "Debit"
msgstr "Débit"
#: accounting/models.py:371
#: accounting/models.py:456
msgid "Neutral"
msgstr "Neutre"
#: accounting/models.py:398
#: accounting/models.py:489
msgid "simplified accounting types"
msgstr "type simplifié"
#: accounting/models.py:401
#: accounting/models.py:493
msgid "simplified type"
msgstr "type simplifié"
......@@ -374,7 +375,7 @@ msgstr "Compte en banque : "
#: election/templates/election/election_detail.jinja:401
#: forum/templates/forum/macros.jinja:21 forum/templates/forum/macros.jinja:123
#: launderette/templates/launderette/launderette_admin.jinja:16
#: launderette/views.py:182 sas/templates/sas/album.jinja:26
#: launderette/views.py:226 sas/templates/sas/album.jinja:26
#: 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
......@@ -385,7 +386,7 @@ msgid "Delete"
msgstr "Supprimer"
#: accounting/templates/accounting/bank_account_details.jinja:18
#: club/views.py:101 core/views/user.py:166 sas/templates/sas/picture.jinja:86
#: club/views.py:128 core/views/user.py:205 sas/templates/sas/picture.jinja:86
msgid "Infos"
msgstr "Infos"
......@@ -404,7 +405,7 @@ msgstr "Nouveau compte club"
#: accounting/templates/accounting/bank_account_details.jinja:27
#: accounting/templates/accounting/bank_account_list.jinja:22
#: accounting/templates/accounting/club_account_details.jinja:58
#: accounting/templates/accounting/journal_details.jinja:89 club/views.py:129
#: accounting/templates/accounting/journal_details.jinja:89 club/views.py:174
#: com/templates/com/news_admin_list.jinja:39
#: com/templates/com/news_admin_list.jinja:68
#: com/templates/com/news_admin_list.jinja:115
......@@ -418,7 +419,7 @@ msgstr "Nouveau compte club"
#: com/templates/com/screen_list.jinja:26 com/templates/com/weekmail.jinja:32
#: com/templates/com/weekmail.jinja:61 core/templates/core/file.jinja:38
#: core/templates/core/page.jinja:35 core/templates/core/poster_list.jinja:40
#: core/templates/core/user_tools.jinja:41 core/views/user.py:188
#: core/templates/core/user_tools.jinja:41 core/views/user.py:237
#: counter/templates/counter/cash_summary_list.jinja:53
#: counter/templates/counter/counter_list.jinja:17
#: counter/templates/counter/counter_list.jinja:33
......@@ -619,7 +620,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:285
#: counter/templates/counter/last_ops.jinja:39 sas/views.py:353
#: stock/templates/stock/stock_shopping_list.jinja:25
#: stock/templates/stock/stock_shopping_list.jinja:54
#: trombi/templates/trombi/user_profile.jinja:40
......@@ -655,7 +656,7 @@ msgid "Done"
msgstr "Effectuées"
#: accounting/templates/accounting/journal_details.jinja:41
#: counter/templates/counter/cash_summary_list.jinja:37 counter/views.py:855
#: counter/templates/counter/cash_summary_list.jinja:37 counter/views.py:1091
#: trombi/templates/trombi/comment.jinja:4
#: trombi/templates/trombi/comment.jinja:8
#: trombi/templates/trombi/user_tools.jinja:50
......@@ -785,7 +786,7 @@ msgstr "Sauver"
#: accounting/templates/accounting/refound_account.jinja:4
#: accounting/templates/accounting/refound_account.jinja:9
#: accounting/views.py:758
#: accounting/views.py:933
msgid "Refound account"
msgstr "Remboursement de compte"
......@@ -806,95 +807,95 @@ msgstr "Types simplifiés"
msgid "New simplified type"
msgstr "Nouveau type simplifié"
#: accounting/views.py:208 accounting/views.py:215 accounting/views.py:465
#: accounting/views.py:247 accounting/views.py:257 accounting/views.py:577
msgid "Journal"
msgstr "Classeur"
#: accounting/views.py:220
#: accounting/views.py:267
msgid "Statement by nature"
msgstr "Bilan par nature"
#: accounting/views.py:225
#: accounting/views.py:277
msgid "Statement by person"
msgstr "Bilan par personne"
#: accounting/views.py:230
#: accounting/views.py:287
msgid "Accounting statement"
msgstr "Bilan comptable"
#: accounting/views.py:307
#: accounting/views.py:391
msgid "Link this operation to the target account"
msgstr "Lier cette opération au compte cible"
#: accounting/views.py:327
#: accounting/views.py:421
msgid "The target must be set."
msgstr "La cible doit être indiquée."
#: accounting/views.py:339
#: accounting/views.py:436
msgid "The amount must be set."
msgstr "Le montant doit être indiqué."
#: accounting/views.py:459 accounting/views.py:465
#: accounting/views.py:571 accounting/views.py:577
msgid "Operation"
msgstr "Opération"
#: accounting/views.py:475
#: accounting/views.py:586
msgid "Financial proof: "
msgstr "Justificatif de libellé : "
#: accounting/views.py:476
#: accounting/views.py:589
#, python-format
msgid "Club: %(club_name)s"
msgstr "Club : %(club_name)s"
#: accounting/views.py:477
#: accounting/views.py:594
#, python-format
msgid "Label: %(op_label)s"
msgstr "Libellé : %(op_label)s"
#: accounting/views.py:478
#: accounting/views.py:597
#, python-format
msgid "Date: %(date)s"
msgstr "Date : %(date)s"
#: accounting/views.py:484
#: accounting/views.py:605
#, python-format
msgid "Amount: %(amount).2f €"
msgstr "Montant : %(amount).2f €"
#: accounting/views.py:496
#: accounting/views.py:620
msgid "Debtor"
msgstr "Débiteur"
#: accounting/views.py:496
#: accounting/views.py:620
msgid "Creditor"
msgstr "Créditeur"
#: accounting/views.py:498
#: accounting/views.py:625
msgid "Comment:"
msgstr "Commentaire :"
#: accounting/views.py:517
#: accounting/views.py:650
msgid "Signature:"
msgstr "Signature :"
#: accounting/views.py:574
#: accounting/views.py:718
msgid "General statement"
msgstr "Bilan général"
#: accounting/views.py:577
#: accounting/views.py:725
msgid "No label operations"
msgstr "Opérations sans étiquette"
#: accounting/views.py:719
#: accounting/views.py:889
msgid "Refound this account"
msgstr "Rembourser ce compte"
#: club/models.py:49
#: club/models.py:51
msgid "unix name"
msgstr "nom unix"
#: club/models.py:53
#: club/models.py:58
msgid ""
"Enter a valid unix name. This value may contain only letters, numbers ./-/_ "
"characters."
......@@ -902,98 +903,98 @@ msgstr ""
"Entrez un nom UNIX valide. Cette valeur peut contenir uniquement des "
"lettres, des nombres, et les caractères ./-/_"
#: club/models.py:58
#: club/models.py:63
msgid "A club with that unix name already exists."
msgstr "Un club avec ce nom UNIX existe déjà."
#: club/models.py:61
#: club/models.py:66
msgid "logo"
msgstr "logo"
#: club/models.py:62
#: club/models.py:68
msgid "is active"
msgstr "actif"
#: club/models.py:63
#: club/models.py:70
msgid "short description"
msgstr "description courte"
#: club/models.py:64 core/models.py:200
#: club/models.py:72 core/models.py:260
msgid "address"
msgstr "Adresse"
#: club/models.py:70 core/models.py:161
#: club/models.py:89 core/models.py:173
msgid "home"
msgstr "home"
#: club/models.py:87
#: club/models.py:111
msgid "You can not make loops in clubs"
msgstr "Vous ne pouvez pas faire de boucles dans les clubs"
#: club/models.py:101
#: club/models.py:125
msgid "A club with that unix_name already exists"
msgstr "Un club avec ce nom UNIX existe déjà."
#: club/models.py:226 counter/models.py:464 counter/models.py:482
#: eboutic/models.py:38 eboutic/models.py:72 election/models.py:154
#: launderette/models.py:114 launderette/models.py:152 sas/models.py:185
#: trombi/models.py:148
#: club/models.py:260 counter/models.py:585 counter/models.py:608
#: eboutic/models.py:40 eboutic/models.py:83 election/models.py:180
#: launderette/models.py:134 launderette/models.py:190 sas/models.py:239
#: trombi/models.py:203
msgid "user"
msgstr "nom d'utilisateur"
#: club/models.py:230 core/models.py:180 election/models.py:153
#: election/models.py:174 trombi/models.py:150
#: club/models.py:271 core/models.py:224 election/models.py:178
#: election/models.py:204 trombi/models.py:206
msgid "role"
msgstr "rôle"
#: club/models.py:232 core/models.py:66 counter/models.py:114
#: counter/models.py:141 election/models.py:14 election/models.py:99
#: election/models.py:155 forum/models.py:55 forum/models.py:194
#: club/models.py:276 core/models.py:73 counter/models.py:120
#: counter/models.py:148 election/models.py:15 election/models.py:117
#: election/models.py:182 forum/models.py:59 forum/models.py:231
msgid "description"
msgstr "description"
#: club/models.py:237
#: club/models.py:282
msgid "User must be subscriber to take part to a club"
msgstr "L'utilisateur doit être cotisant pour faire partie d'un club"
#: club/models.py:239
#: club/models.py:289
msgid "User is already member of that club"
msgstr "L'utilisateur est déjà membre de ce club"
#: club/models.py:243
#: club/models.py:298
msgid "past member"
msgstr "Anciens membres"
#: club/models.py:271 club/models.py:330
#: club/models.py:332 club/models.py:427
msgid "Email address"
msgstr "Adresse email"
#: club/models.py:274
#: club/models.py:340
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:276 com/models.py:75 com/models.py:219 core/models.py:658
#: club/models.py:344 com/models.py:79 com/models.py:260 core/models.py:806
msgid "is moderated"
msgstr "est modéré"
#: club/models.py:277 com/models.py:76 com/models.py:220
#: club/models.py:346 com/models.py:81 com/models.py:264
msgid "moderator"
msgstr "modérateur"
#: club/models.py:328 club/templates/club/mailing.jinja:14
#: club/models.py:415 club/templates/club/mailing.jinja:14
msgid "Mailing"
msgstr "Liste de diffusion"
#: club/models.py:337
#: club/models.py:434
msgid "At least user or email is required"
msgstr "Au moins un utilisateur ou un email est nécessaire"
#: club/models.py:342
#: club/models.py:442
msgid "This email is already suscribed in this mailing"
msgstr "Cet email est déjà abonné à cette mailing"
#: club/models.py:366 club/templates/club/mailing.jinja:36
#: club/models.py:471 club/templates/club/mailing.jinja:36
msgid "Unregistered user"
msgstr "Désabonner un utilisateur"
......@@ -1047,8 +1048,8 @@ msgid "Mark as old"
msgstr "Marquer comme ancien"
#: club/templates/club/club_members.jinja:30
#: core/templates/core/file_detail.jinja:19 core/views/forms.py:254
#: launderette/views.py:182 trombi/templates/trombi/detail.jinja:19
#: core/templates/core/file_detail.jinja:19 core/views/forms.py:334
#: launderette/views.py:226 trombi/templates/trombi/detail.jinja:19
msgid "Add"
msgstr "Ajouter"
......@@ -1066,8 +1067,8 @@ msgstr "Du"
msgid "To"
msgstr "Au"
#: club/templates/club/club_sellings.jinja:5 club/views.py:140
#: club/views.py:374 counter/templates/counter/counter_main.jinja:19
#: club/templates/club/club_sellings.jinja:5 club/views.py:194
#: club/views.py:478 counter/templates/counter/counter_main.jinja:19
#: counter/templates/counter/last_ops.jinja:35
msgid "Sellings"
msgstr "Ventes"
......@@ -1093,10 +1094,10 @@ msgstr "unités"
msgid "Benefit: "
msgstr "Bénéfice : "
#: club/templates/club/club_sellings.jinja:21 club/views.py:322
#: club/templates/club/club_sellings.jinja:21 club/views.py:417
#: 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:134
#: counter/templates/counter/cash_summary_list.jinja:33 counter/views.py:168
msgid "Counter"
msgstr "Comptoir"
......@@ -1241,99 +1242,99 @@ msgstr "Aucune page n'existe pour ce club"
msgid "Club stats"
msgstr "Statistiques du club"
#: club/views.py:107
#: club/views.py:138
msgid "Members"
msgstr "Membres"
#: club/views.py:112
#: club/views.py:147
msgid "Old members"
msgstr "Anciens membres"
#: club/views.py:118 core/templates/core/page.jinja:33
#: club/views.py:157 core/templates/core/page.jinja:33
msgid "History"
msgstr "Historique"
#: club/views.py:124 core/templates/core/base.jinja:115 core/views/user.py:182
#: sas/templates/sas/picture.jinja:95 trombi/views.py:55
#: club/views.py:165 core/templates/core/base.jinja:115 core/views/user.py:228
#: sas/templates/sas/picture.jinja:95 trombi/views.py:60
msgid "Tools"
msgstr "Outils"
#: club/views.py:135