From 56c41258b9649e79552a9dd68cab61f351f10783 Mon Sep 17 00:00:00 2001 From: Yohann D'ANELLO Date: Sun, 30 Aug 2020 23:54:54 +0200 Subject: [PATCH] Highlight non-validated activities --- apps/activity/tables.py | 17 ++-- apps/permission/fixtures/initial.json | 19 ++++- locale/de/LC_MESSAGES/django.po | 104 +++++++++++++----------- locale/fr/LC_MESSAGES/django.po | 110 ++++++++++++++------------ 4 files changed, 142 insertions(+), 108 deletions(-) diff --git a/apps/activity/tables.py b/apps/activity/tables.py index a1ede713..b6a24250 100644 --- a/apps/activity/tables.py +++ b/apps/activity/tables.py @@ -20,6 +20,11 @@ class ActivityTable(tables.Table): attrs = { 'class': 'table table-condensed table-striped table-hover' } + row_attrs = { + 'class': lambda record: 'bg-success' if record.open else ('' if record.valid else 'bg-warning'), + 'title': lambda record: _("The activity is currently open.") if record.open else + ('' if record.valid else _("The validation of the activity is pending.")), + } model = Activity template_name = 'django_tables2/bootstrap4.html' fields = ('name', 'activity_type', 'organizer', 'attendees_club', 'date_start', 'date_end', ) @@ -33,17 +38,12 @@ class GuestTable(tables.Table): entry = tables.Column( empty_values=(), - attrs={ - "td": { - "class": lambda record: "" if record.has_entry else "validate btn btn-danger", - "onclick": lambda record: "" if record.has_entry else "remove_guest(" + str(record.pk) + ")" - } - } + verbose_name=_("Remove"), ) class Meta: attrs = { - 'class': 'table table-condensed table-striped table-hover' + 'class': 'table table-condensed table-striped' } model = Guest template_name = 'django_tables2/bootstrap4.html' @@ -52,7 +52,8 @@ class GuestTable(tables.Table): def render_entry(self, record): if record.has_entry: return str(_("Entered on ") + str(_("{:%Y-%m-%d %H:%M:%S}").format(record.entry.time, ))) - return _("remove").capitalize() + return format_html(''.format(id=record.id, delete_trans=_("remove").capitalize())) def get_row_class(record): diff --git a/apps/permission/fixtures/initial.json b/apps/permission/fixtures/initial.json index 112e78bc..4a7aa824 100644 --- a/apps/permission/fixtures/initial.json +++ b/apps/permission/fixtures/initial.json @@ -2487,6 +2487,22 @@ "description": "Modifier la date de fin d'une activité non validée dont on est l'auteur" } }, + { + "model": "permission.permission", + "pk": 160, + "fields": { + "model": [ + "activity", + "guest" + ], + "query": "{\"inviter\": [\"user\", \"note\"], \"entry\": null}", + "type": "delete", + "mask": 1, + "field": "", + "permanent": false, + "description": "Supprimer ses propres invitations non validées à une activité" + } + }, { "model": "permission.role", "pk": 1, @@ -2553,7 +2569,8 @@ 156, 157, 158, - 159 + 159, + 160 ] } }, diff --git a/locale/de/LC_MESSAGES/django.po b/locale/de/LC_MESSAGES/django.po index b4f194c1..1151bb86 100644 --- a/locale/de/LC_MESSAGES/django.po +++ b/locale/de/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-30 16:07+0200\n" +"POT-Creation-Date: 2020-08-30 23:24+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -23,27 +23,27 @@ msgstr "" msgid "activity" msgstr "" -#: apps/activity/forms.py:28 apps/activity/models.py:127 +#: apps/activity/forms.py:22 apps/activity/models.py:127 msgid "The end date must be after the start date." msgstr "" -#: apps/activity/forms.py:69 apps/activity/models.py:254 +#: apps/activity/forms.py:63 apps/activity/models.py:254 msgid "You can't invite someone once the activity is started." msgstr "" -#: apps/activity/forms.py:72 apps/activity/models.py:257 +#: apps/activity/forms.py:66 apps/activity/models.py:257 msgid "This activity is not validated yet." msgstr "" -#: apps/activity/forms.py:82 apps/activity/models.py:265 +#: apps/activity/forms.py:76 apps/activity/models.py:265 msgid "This person has been already invited 5 times this year." msgstr "" -#: apps/activity/forms.py:86 apps/activity/models.py:269 +#: apps/activity/forms.py:80 apps/activity/models.py:269 msgid "This person is already invited." msgstr "" -#: apps/activity/forms.py:90 apps/activity/models.py:273 +#: apps/activity/forms.py:84 apps/activity/models.py:273 msgid "You can't invite more than 3 people to this activity." msgstr "" @@ -170,7 +170,7 @@ msgstr "" msgid "Already entered on " msgstr "" -#: apps/activity/models.py:187 apps/activity/tables.py:54 +#: apps/activity/models.py:187 apps/activity/tables.py:59 msgid "{:%Y-%m-%d %H:%M:%S}" msgstr "" @@ -205,36 +205,44 @@ msgstr "" msgid "Invitation" msgstr "" -#: apps/activity/tables.py:54 +#: apps/activity/tables.py:25 +msgid "The activity is currently open." +msgstr "" + +#: apps/activity/tables.py:26 +msgid "The validation of the activity is pending." +msgstr "" + +#: apps/activity/tables.py:59 msgid "Entered on " msgstr "" -#: apps/activity/tables.py:55 +#: apps/activity/tables.py:60 msgid "remove" msgstr "" -#: apps/activity/tables.py:79 apps/note/forms.py:66 apps/treasury/models.py:186 +#: apps/activity/tables.py:84 apps/note/forms.py:66 apps/treasury/models.py:186 msgid "Type" msgstr "" -#: apps/activity/tables.py:81 apps/member/forms.py:131 +#: apps/activity/tables.py:86 apps/member/forms.py:131 #: apps/registration/forms.py:81 apps/treasury/forms.py:135 #: apps/wei/forms/registration.py:96 msgid "Last name" msgstr "" -#: apps/activity/tables.py:83 apps/member/forms.py:136 +#: apps/activity/tables.py:88 apps/member/forms.py:136 #: apps/note/templates/note/transaction_form.html:135 #: apps/registration/forms.py:86 apps/treasury/forms.py:137 #: apps/wei/forms/registration.py:101 msgid "First name" msgstr "" -#: apps/activity/tables.py:85 apps/note/models/notes.py:69 +#: apps/activity/tables.py:90 apps/note/models/notes.py:69 msgid "Note" msgstr "" -#: apps/activity/tables.py:87 apps/member/tables.py:46 +#: apps/activity/tables.py:92 apps/member/tables.py:46 msgid "Balance" msgstr "" @@ -323,7 +331,7 @@ msgid "validate" msgstr "" #: apps/activity/templates/activity/includes/activity_info.html:71 -#: apps/logs/models.py:62 apps/note/tables.py:165 +#: apps/logs/models.py:62 apps/note/tables.py:173 msgid "edit" msgstr "" @@ -399,7 +407,7 @@ msgstr "" msgid "create" msgstr "" -#: apps/logs/models.py:63 apps/note/tables.py:137 apps/note/tables.py:171 +#: apps/logs/models.py:63 apps/note/tables.py:137 apps/note/tables.py:179 #: apps/permission/models.py:127 apps/treasury/tables.py:38 #: apps/wei/tables.py:75 msgid "delete" @@ -749,7 +757,7 @@ msgstr "" msgid "The role {role} does not apply to the club {club}." msgstr "" -#: apps/member/models.py:385 apps/member/views.py:637 +#: apps/member/models.py:385 apps/member/views.py:652 msgid "User is already a member of the club" msgstr "" @@ -811,13 +819,13 @@ msgid "Add member" msgstr "" #: apps/member/templates/member/club_alias.html:10 -#: apps/member/templates/member/profile_alias.html:10 apps/member/views.py:213 -#: apps/member/views.py:417 +#: apps/member/templates/member/profile_alias.html:10 apps/member/views.py:216 +#: apps/member/views.py:426 msgid "Note aliases" msgstr "" -#: apps/member/templates/member/club_alias.html:18 -#: apps/member/templates/member/profile_alias.html:18 +#: apps/member/templates/member/club_alias.html:20 +#: apps/member/templates/member/profile_alias.html:19 #: apps/treasury/tables.py:99 msgid "Add" msgstr "" @@ -899,7 +907,7 @@ msgid "Change password" msgstr "" #: apps/member/templates/member/includes/profile_info.html:50 -#: apps/member/views.py:285 +#: apps/member/views.py:294 msgid "Manage auth token" msgstr "" @@ -951,55 +959,55 @@ msgstr "" msgid "Search user" msgstr "" -#: apps/member/views.py:227 +#: apps/member/views.py:236 msgid "Update note picture" msgstr "" -#: apps/member/views.py:313 +#: apps/member/views.py:322 msgid "Create new club" msgstr "" -#: apps/member/views.py:331 +#: apps/member/views.py:340 msgid "Search club" msgstr "" -#: apps/member/views.py:364 +#: apps/member/views.py:373 msgid "Club detail" msgstr "" -#: apps/member/views.py:434 +#: apps/member/views.py:449 msgid "Update club" msgstr "" -#: apps/member/views.py:468 +#: apps/member/views.py:483 msgid "Add new member to the club" msgstr "" -#: apps/member/views.py:628 apps/wei/views.py:922 +#: apps/member/views.py:643 apps/wei/views.py:922 msgid "" "This user don't have enough money to join this club, and can't have a " "negative balance." msgstr "" -#: apps/member/views.py:641 +#: apps/member/views.py:656 msgid "The membership must start after {:%m-%d-%Y}." msgstr "" -#: apps/member/views.py:646 +#: apps/member/views.py:661 msgid "The membership must begin before {:%m-%d-%Y}." msgstr "" -#: apps/member/views.py:662 apps/member/views.py:664 apps/member/views.py:666 +#: apps/member/views.py:677 apps/member/views.py:679 apps/member/views.py:681 #: apps/registration/views.py:292 apps/registration/views.py:294 #: apps/registration/views.py:296 apps/wei/views.py:927 apps/wei/views.py:931 msgid "This field is required." msgstr "" -#: apps/member/views.py:750 +#: apps/member/views.py:765 msgid "Manage roles of an user in the club" msgstr "" -#: apps/member/views.py:775 +#: apps/member/views.py:790 msgid "Members of the club" msgstr "" @@ -1282,7 +1290,7 @@ msgstr "" msgid "No reason specified" msgstr "" -#: apps/note/tables.py:139 apps/note/tables.py:173 apps/treasury/tables.py:39 +#: apps/note/tables.py:147 apps/note/tables.py:181 apps/treasury/tables.py:39 #: apps/treasury/templates/treasury/invoice_confirm_delete.html:28 #: apps/treasury/templates/treasury/sogecredit_detail.html:60 #: apps/wei/tables.py:76 apps/wei/tables.py:103 @@ -1290,7 +1298,7 @@ msgstr "" msgid "Delete" msgstr "" -#: apps/note/tables.py:167 apps/note/templates/note/conso_form.html:132 +#: apps/note/tables.py:175 apps/note/templates/note/conso_form.html:132 #: apps/wei/tables.py:47 apps/wei/tables.py:48 #: apps/wei/templates/wei/base.html:90 #: apps/wei/templates/wei/bus_detail.html:17 @@ -1524,7 +1532,7 @@ msgid "" "of model {app_label}.{model_name}." msgstr "" -#: apps/permission/signals.py:73 apps/permission/views.py:83 +#: apps/permission/signals.py:73 apps/permission/views.py:88 #, python-brace-format msgid "" "You don't have the permission to add an instance of model {app_label}." @@ -1570,25 +1578,25 @@ msgstr "" msgid "No associated permission" msgstr "" -#: apps/permission/views.py:54 -#, python-brace-format -msgid "" -"You don't have the permission to create an instance of the model \"{model}\" " -"with these parameters. Please correct your data and retry." -msgstr "" - -#: apps/permission/views.py:95 +#: apps/permission/views.py:55 #, python-brace-format msgid "" "You don't have the permission to update this instance of the model " "\"{model}\" with these parameters. Please correct your data and retry." msgstr "" -#: apps/permission/views.py:103 note_kfet/templates/base.html:106 +#: apps/permission/views.py:59 +#, python-brace-format +msgid "" +"You don't have the permission to create an instance of the model \"{model}\" " +"with these parameters. Please correct your data and retry." +msgstr "" + +#: apps/permission/views.py:95 note_kfet/templates/base.html:106 msgid "Rights" msgstr "" -#: apps/permission/views.py:108 +#: apps/permission/views.py:100 msgid "All rights" msgstr "" diff --git a/locale/fr/LC_MESSAGES/django.po b/locale/fr/LC_MESSAGES/django.po index 7ea9abf0..d27485a3 100644 --- a/locale/fr/LC_MESSAGES/django.po +++ b/locale/fr/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-30 16:07+0200\n" +"POT-Creation-Date: 2020-08-30 23:24+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -23,28 +23,28 @@ msgstr "" msgid "activity" msgstr "activité" -#: apps/activity/forms.py:28 apps/activity/models.py:127 +#: apps/activity/forms.py:22 apps/activity/models.py:127 msgid "The end date must be after the start date." msgstr "La date de fin doit être après celle de début." -#: apps/activity/forms.py:69 apps/activity/models.py:254 +#: apps/activity/forms.py:63 apps/activity/models.py:254 msgid "You can't invite someone once the activity is started." msgstr "" "Vous ne pouvez pas inviter quelqu'un une fois que l'activité a démarré." -#: apps/activity/forms.py:72 apps/activity/models.py:257 +#: apps/activity/forms.py:66 apps/activity/models.py:257 msgid "This activity is not validated yet." msgstr "Cette activité n'est pas encore validée." -#: apps/activity/forms.py:82 apps/activity/models.py:265 +#: apps/activity/forms.py:76 apps/activity/models.py:265 msgid "This person has been already invited 5 times this year." msgstr "Cette personne a déjà été invitée 5 fois cette année." -#: apps/activity/forms.py:86 apps/activity/models.py:269 +#: apps/activity/forms.py:80 apps/activity/models.py:269 msgid "This person is already invited." msgstr "Cette personne est déjà invitée." -#: apps/activity/forms.py:90 apps/activity/models.py:273 +#: apps/activity/forms.py:84 apps/activity/models.py:273 msgid "You can't invite more than 3 people to this activity." msgstr "Vous ne pouvez pas inviter plus de 3 personnes à cette activité." @@ -171,7 +171,7 @@ msgstr "entrées" msgid "Already entered on " msgstr "Déjà rentré le " -#: apps/activity/models.py:187 apps/activity/tables.py:54 +#: apps/activity/models.py:187 apps/activity/tables.py:59 msgid "{:%Y-%m-%d %H:%M:%S}" msgstr "{:%d/%m/%Y %H:%M:%S}" @@ -206,36 +206,44 @@ msgstr "invités" msgid "Invitation" msgstr "Invitation" -#: apps/activity/tables.py:54 +#: apps/activity/tables.py:25 +msgid "The activity is currently open." +msgstr "Cette activité est actuellement ouverte." + +#: apps/activity/tables.py:26 +msgid "The validation of the activity is pending." +msgstr "La validation de cette activité est en attente." + +#: apps/activity/tables.py:59 msgid "Entered on " msgstr "Entré le " -#: apps/activity/tables.py:55 +#: apps/activity/tables.py:60 msgid "remove" msgstr "supprimer" -#: apps/activity/tables.py:79 apps/note/forms.py:66 apps/treasury/models.py:186 +#: apps/activity/tables.py:84 apps/note/forms.py:66 apps/treasury/models.py:186 msgid "Type" msgstr "Type" -#: apps/activity/tables.py:81 apps/member/forms.py:131 +#: apps/activity/tables.py:86 apps/member/forms.py:131 #: apps/registration/forms.py:81 apps/treasury/forms.py:135 #: apps/wei/forms/registration.py:96 msgid "Last name" msgstr "Nom de famille" -#: apps/activity/tables.py:83 apps/member/forms.py:136 +#: apps/activity/tables.py:88 apps/member/forms.py:136 #: apps/note/templates/note/transaction_form.html:135 #: apps/registration/forms.py:86 apps/treasury/forms.py:137 #: apps/wei/forms/registration.py:101 msgid "First name" msgstr "Prénom" -#: apps/activity/tables.py:85 apps/note/models/notes.py:69 +#: apps/activity/tables.py:90 apps/note/models/notes.py:69 msgid "Note" msgstr "Note" -#: apps/activity/tables.py:87 apps/member/tables.py:46 +#: apps/activity/tables.py:92 apps/member/tables.py:46 msgid "Balance" msgstr "Solde du compte" @@ -324,7 +332,7 @@ msgid "validate" msgstr "valider" #: apps/activity/templates/activity/includes/activity_info.html:71 -#: apps/logs/models.py:62 apps/note/tables.py:165 +#: apps/logs/models.py:62 apps/note/tables.py:173 msgid "edit" msgstr "Modifier" @@ -402,7 +410,7 @@ msgstr "Nouvelles données" msgid "create" msgstr "Créer" -#: apps/logs/models.py:63 apps/note/tables.py:137 apps/note/tables.py:171 +#: apps/logs/models.py:63 apps/note/tables.py:137 apps/note/tables.py:179 #: apps/permission/models.py:127 apps/treasury/tables.py:38 #: apps/wei/tables.py:75 msgid "delete" @@ -761,7 +769,7 @@ msgstr "l'adhésion finit le" msgid "The role {role} does not apply to the club {club}." msgstr "Le rôle {role} ne s'applique pas au club {club}." -#: apps/member/models.py:385 apps/member/views.py:637 +#: apps/member/models.py:385 apps/member/views.py:652 msgid "User is already a member of the club" msgstr "L'utilisateur est déjà membre du club" @@ -828,13 +836,13 @@ msgid "Add member" msgstr "Ajouter un membre" #: apps/member/templates/member/club_alias.html:10 -#: apps/member/templates/member/profile_alias.html:10 apps/member/views.py:213 -#: apps/member/views.py:417 +#: apps/member/templates/member/profile_alias.html:10 apps/member/views.py:216 +#: apps/member/views.py:426 msgid "Note aliases" msgstr "Alias de la note" -#: apps/member/templates/member/club_alias.html:18 -#: apps/member/templates/member/profile_alias.html:18 +#: apps/member/templates/member/club_alias.html:20 +#: apps/member/templates/member/profile_alias.html:19 #: apps/treasury/tables.py:99 msgid "Add" msgstr "Ajouter" @@ -916,7 +924,7 @@ msgid "Change password" msgstr "Changer le mot de passe" #: apps/member/templates/member/includes/profile_info.html:50 -#: apps/member/views.py:285 +#: apps/member/views.py:294 msgid "Manage auth token" msgstr "Gérer les jetons d'authentification" @@ -968,31 +976,31 @@ msgstr "Détails de l'utilisateur" msgid "Search user" msgstr "Chercher un utilisateur" -#: apps/member/views.py:227 +#: apps/member/views.py:236 msgid "Update note picture" msgstr "Modifier la photo de la note" -#: apps/member/views.py:313 +#: apps/member/views.py:322 msgid "Create new club" msgstr "Créer un nouveau club" -#: apps/member/views.py:331 +#: apps/member/views.py:340 msgid "Search club" msgstr "Chercher un club" -#: apps/member/views.py:364 +#: apps/member/views.py:373 msgid "Club detail" msgstr "Détails du club" -#: apps/member/views.py:434 +#: apps/member/views.py:449 msgid "Update club" msgstr "Modifier le club" -#: apps/member/views.py:468 +#: apps/member/views.py:483 msgid "Add new member to the club" msgstr "Ajouter un nouveau membre au club" -#: apps/member/views.py:628 apps/wei/views.py:922 +#: apps/member/views.py:643 apps/wei/views.py:922 msgid "" "This user don't have enough money to join this club, and can't have a " "negative balance." @@ -1000,25 +1008,25 @@ msgstr "" "Cet utilisateur n'a pas assez d'argent pour rejoindre ce club et ne peut pas " "avoir un solde négatif." -#: apps/member/views.py:641 +#: apps/member/views.py:656 msgid "The membership must start after {:%m-%d-%Y}." msgstr "L'adhésion doit commencer après le {:%d/%m/%Y}." -#: apps/member/views.py:646 +#: apps/member/views.py:661 msgid "The membership must begin before {:%m-%d-%Y}." msgstr "L'adhésion doit commencer avant le {:%d/%m/%Y}." -#: apps/member/views.py:662 apps/member/views.py:664 apps/member/views.py:666 +#: apps/member/views.py:677 apps/member/views.py:679 apps/member/views.py:681 #: apps/registration/views.py:292 apps/registration/views.py:294 #: apps/registration/views.py:296 apps/wei/views.py:927 apps/wei/views.py:931 msgid "This field is required." msgstr "Ce champ est requis." -#: apps/member/views.py:750 +#: apps/member/views.py:765 msgid "Manage roles of an user in the club" msgstr "Gérer les rôles d'un utilisateur dans le club" -#: apps/member/views.py:775 +#: apps/member/views.py:790 msgid "Members of the club" msgstr "Membres du club" @@ -1313,7 +1321,7 @@ msgstr "Cliquez pour valider" msgid "No reason specified" msgstr "Pas de motif spécifié" -#: apps/note/tables.py:139 apps/note/tables.py:173 apps/treasury/tables.py:39 +#: apps/note/tables.py:147 apps/note/tables.py:181 apps/treasury/tables.py:39 #: apps/treasury/templates/treasury/invoice_confirm_delete.html:28 #: apps/treasury/templates/treasury/sogecredit_detail.html:60 #: apps/wei/tables.py:76 apps/wei/tables.py:103 @@ -1321,7 +1329,7 @@ msgstr "Pas de motif spécifié" msgid "Delete" msgstr "Supprimer" -#: apps/note/tables.py:167 apps/note/templates/note/conso_form.html:132 +#: apps/note/tables.py:175 apps/note/templates/note/conso_form.html:132 #: apps/wei/tables.py:47 apps/wei/tables.py:48 #: apps/wei/templates/wei/base.html:90 #: apps/wei/templates/wei/bus_detail.html:17 @@ -1561,7 +1569,7 @@ msgstr "" "Vous n'avez pas la permission de modifier le champ {field} sur l'instance du " "modèle {app_label}.{model_name}." -#: apps/permission/signals.py:73 apps/permission/views.py:83 +#: apps/permission/signals.py:73 apps/permission/views.py:88 #, python-brace-format msgid "" "You don't have the permission to add an instance of model {app_label}." @@ -1611,16 +1619,7 @@ msgstr "Requête :" msgid "No associated permission" msgstr "Pas de permission associée" -#: apps/permission/views.py:54 -#, python-brace-format -msgid "" -"You don't have the permission to create an instance of the model \"{model}\" " -"with these parameters. Please correct your data and retry." -msgstr "" -"Vous n'avez pas la permission d'ajouter une instance du modèle « {model} » " -"avec ces paramètres. Merci de les corriger et de réessayer." - -#: apps/permission/views.py:95 +#: apps/permission/views.py:55 #, python-brace-format msgid "" "You don't have the permission to update this instance of the model " @@ -1629,11 +1628,20 @@ msgstr "" "Vous n'avez pas la permission de modifier cette instance du modèle « {model} " "» avec ces paramètres. Merci de les corriger et de réessayer." -#: apps/permission/views.py:103 note_kfet/templates/base.html:106 +#: apps/permission/views.py:59 +#, python-brace-format +msgid "" +"You don't have the permission to create an instance of the model \"{model}\" " +"with these parameters. Please correct your data and retry." +msgstr "" +"Vous n'avez pas la permission d'ajouter une instance du modèle « {model} » " +"avec ces paramètres. Merci de les corriger et de réessayer." + +#: apps/permission/views.py:95 note_kfet/templates/base.html:106 msgid "Rights" msgstr "Droits" -#: apps/permission/views.py:108 +#: apps/permission/views.py:100 msgid "All rights" msgstr "Tous les droits" @@ -2004,7 +2012,7 @@ msgstr "Voir" #: apps/treasury/tables.py:107 msgid "Remove" -msgstr "supprimer" +msgstr "Supprimer" #: apps/treasury/tables.py:146 msgid "Yes"