mirror of
https://gitlab.crans.org/bde/nk20
synced 2024-12-22 23:42:25 +00:00
RecurrentTransaction amount history
This commit is contained in:
parent
c5f3f9b760
commit
2bc2048076
@ -4,7 +4,7 @@
|
||||
from django import forms
|
||||
from django.contrib.contenttypes.models import ContentType
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
from note_kfet.inputs import Autocomplete
|
||||
from note_kfet.inputs import Autocomplete, AmountInput
|
||||
|
||||
from .models import TransactionTemplate, NoteClub
|
||||
|
||||
@ -24,11 +24,6 @@ class TransactionTemplateForm(forms.ModelForm):
|
||||
model = TransactionTemplate
|
||||
fields = '__all__'
|
||||
|
||||
# Le champ de destination est remplacé par un champ d'auto-complétion.
|
||||
# Quand des lettres sont tapées, une requête est envoyée sur l'API d'auto-complétion
|
||||
# et récupère les aliases valides
|
||||
# Pour force le type d'une note, il faut rajouter le paramètre :
|
||||
# forward=(forward.Const('TYPE', 'note_type') où TYPE est dans {user, club, special}
|
||||
widgets = {
|
||||
'destination':
|
||||
Autocomplete(
|
||||
@ -41,4 +36,5 @@ class TransactionTemplateForm(forms.ModelForm):
|
||||
'placeholder': 'Note ...',
|
||||
},
|
||||
),
|
||||
'amount': AmountInput(),
|
||||
}
|
||||
|
@ -1,5 +1,6 @@
|
||||
# Copyright (C) 2018-2020 by BDE ENS Paris-Saclay
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
import json
|
||||
|
||||
from django.conf import settings
|
||||
from django.contrib.auth.mixins import LoginRequiredMixin
|
||||
@ -80,6 +81,33 @@ class TransactionTemplateUpdateView(ProtectQuerysetMixin, LoginRequiredMixin, Up
|
||||
form_class = TransactionTemplateForm
|
||||
success_url = reverse_lazy('note:template_list')
|
||||
|
||||
def get_context_data(self, **kwargs):
|
||||
context = super().get_context_data(**kwargs)
|
||||
|
||||
if "logs" in settings.INSTALLED_APPS:
|
||||
from logs.models import Changelog
|
||||
update_logs = Changelog.objects.filter(
|
||||
model=ContentType.objects.get_for_model(TransactionTemplate),
|
||||
instance_pk=self.object.pk,
|
||||
action="edit",
|
||||
)
|
||||
price_history = []
|
||||
for log in update_logs.all():
|
||||
old_dict = json.loads(log.previous)
|
||||
new_dict = json.loads(log.data)
|
||||
old_price = old_dict["amount"]
|
||||
new_price = new_dict["amount"]
|
||||
if old_price != new_price:
|
||||
price_history.append(dict(price=old_price, time=log.timestamp))
|
||||
|
||||
price_history.append(dict(price=self.object.amount, time=None))
|
||||
|
||||
price_history.reverse()
|
||||
|
||||
context["price_history"] = price_history
|
||||
|
||||
return context
|
||||
|
||||
|
||||
class ConsoView(ProtectQuerysetMixin, LoginRequiredMixin, SingleTableView):
|
||||
"""
|
||||
|
@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-04-09 21:59+0200\n"
|
||||
"POT-Creation-Date: 2020-04-27 03:19+0200\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
@ -19,27 +19,27 @@ msgstr ""
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: apps/activity/apps.py:10 apps/activity/models.py:102
|
||||
#: apps/activity/models.py:111
|
||||
#: apps/activity/models.py:117
|
||||
msgid "activity"
|
||||
msgstr ""
|
||||
|
||||
#: apps/activity/forms.py:45 apps/activity/models.py:208
|
||||
#: apps/activity/forms.py:45 apps/activity/models.py:213
|
||||
msgid "You can't invite someone once the activity is started."
|
||||
msgstr ""
|
||||
|
||||
#: apps/activity/forms.py:48 apps/activity/models.py:211
|
||||
#: apps/activity/forms.py:48 apps/activity/models.py:216
|
||||
msgid "This activity is not validated yet."
|
||||
msgstr ""
|
||||
|
||||
#: apps/activity/forms.py:58 apps/activity/models.py:219
|
||||
#: apps/activity/forms.py:58 apps/activity/models.py:224
|
||||
msgid "This person has been already invited 5 times this year."
|
||||
msgstr ""
|
||||
|
||||
#: apps/activity/forms.py:62 apps/activity/models.py:223
|
||||
#: apps/activity/forms.py:62 apps/activity/models.py:228
|
||||
msgid "This person is already invited."
|
||||
msgstr ""
|
||||
|
||||
#: apps/activity/forms.py:66 apps/activity/models.py:227
|
||||
#: apps/activity/forms.py:66 apps/activity/models.py:232
|
||||
msgid "You can't invite more than 3 people to this activity."
|
||||
msgstr ""
|
||||
|
||||
@ -113,57 +113,57 @@ msgstr ""
|
||||
msgid "activities"
|
||||
msgstr ""
|
||||
|
||||
#: apps/activity/models.py:116
|
||||
#: apps/activity/models.py:122
|
||||
msgid "entry time"
|
||||
msgstr ""
|
||||
|
||||
#: apps/activity/models.py:122 apps/note/apps.py:14
|
||||
#: apps/activity/models.py:128 apps/note/apps.py:14
|
||||
#: apps/note/models/notes.py:58
|
||||
msgid "note"
|
||||
msgstr ""
|
||||
|
||||
#: apps/activity/models.py:133 templates/activity/activity_entry.html:38
|
||||
#: apps/activity/models.py:139 templates/activity/activity_entry.html:38
|
||||
msgid "entry"
|
||||
msgstr ""
|
||||
|
||||
#: apps/activity/models.py:134 templates/activity/activity_entry.html:38
|
||||
#: apps/activity/models.py:140 templates/activity/activity_entry.html:38
|
||||
msgid "entries"
|
||||
msgstr ""
|
||||
|
||||
#: apps/activity/models.py:141
|
||||
#: apps/activity/models.py:146
|
||||
msgid "Already entered on "
|
||||
msgstr ""
|
||||
|
||||
#: apps/activity/models.py:141 apps/activity/tables.py:54
|
||||
#: apps/activity/models.py:146 apps/activity/tables.py:54
|
||||
msgid "{:%Y-%m-%d %H:%M:%S}"
|
||||
msgstr ""
|
||||
|
||||
#: apps/activity/models.py:149
|
||||
#: apps/activity/models.py:154
|
||||
msgid "The balance is negative."
|
||||
msgstr ""
|
||||
|
||||
#: apps/activity/models.py:179
|
||||
#: apps/activity/models.py:184
|
||||
msgid "last name"
|
||||
msgstr ""
|
||||
|
||||
#: apps/activity/models.py:184 templates/member/profile_info.html:14
|
||||
#: apps/activity/models.py:189 templates/member/profile_info.html:14
|
||||
#: templates/registration/future_profile_detail.html:16
|
||||
msgid "first name"
|
||||
msgstr ""
|
||||
|
||||
#: apps/activity/models.py:191
|
||||
#: apps/activity/models.py:196
|
||||
msgid "inviter"
|
||||
msgstr ""
|
||||
|
||||
#: apps/activity/models.py:232
|
||||
#: apps/activity/models.py:237
|
||||
msgid "guest"
|
||||
msgstr ""
|
||||
|
||||
#: apps/activity/models.py:233
|
||||
#: apps/activity/models.py:238
|
||||
msgid "guests"
|
||||
msgstr ""
|
||||
|
||||
#: apps/activity/models.py:245
|
||||
#: apps/activity/models.py:250
|
||||
msgid "Invitation"
|
||||
msgstr ""
|
||||
|
||||
@ -186,7 +186,7 @@ msgstr ""
|
||||
|
||||
#: apps/activity/tables.py:79 apps/member/forms.py:80
|
||||
#: apps/registration/forms.py:60 apps/treasury/forms.py:123
|
||||
#: templates/note/transaction_form.html:97
|
||||
#: templates/note/transaction_form.html:126
|
||||
msgid "First name"
|
||||
msgstr ""
|
||||
|
||||
@ -198,11 +198,11 @@ msgstr ""
|
||||
msgid "Balance"
|
||||
msgstr ""
|
||||
|
||||
#: apps/activity/views.py:45 templates/base.html:106
|
||||
#: apps/activity/views.py:46 templates/base.html:121
|
||||
msgid "Activities"
|
||||
msgstr ""
|
||||
|
||||
#: apps/activity/views.py:154
|
||||
#: apps/activity/views.py:160
|
||||
msgid "Entry for activity \"{}\""
|
||||
msgstr ""
|
||||
|
||||
@ -296,7 +296,7 @@ msgid "Credit amount"
|
||||
msgstr ""
|
||||
|
||||
#: apps/member/forms.py:85 apps/registration/forms.py:65
|
||||
#: apps/treasury/forms.py:125 templates/note/transaction_form.html:103
|
||||
#: apps/treasury/forms.py:125 templates/note/transaction_form.html:132
|
||||
msgid "Bank"
|
||||
msgstr ""
|
||||
|
||||
@ -666,9 +666,9 @@ msgid "transactions"
|
||||
msgstr ""
|
||||
|
||||
#: apps/note/models/transactions.py:207
|
||||
#: templates/activity/activity_entry.html:13 templates/base.html:84
|
||||
#: templates/activity/activity_entry.html:13 templates/base.html:99
|
||||
#: templates/note/transaction_form.html:19
|
||||
#: templates/note/transaction_form.html:145
|
||||
#: templates/note/transaction_form.html:140
|
||||
msgid "Transfer"
|
||||
msgstr ""
|
||||
|
||||
@ -719,15 +719,15 @@ msgid "Delete"
|
||||
msgstr ""
|
||||
|
||||
#: apps/note/tables.py:146 templates/member/club_info.html:55
|
||||
#: templates/note/conso_form.html:121
|
||||
#: templates/note/conso_form.html:128
|
||||
msgid "Edit"
|
||||
msgstr ""
|
||||
|
||||
#: apps/note/views.py:40
|
||||
#: apps/note/views.py:41
|
||||
msgid "Transfer money"
|
||||
msgstr ""
|
||||
|
||||
#: apps/note/views.py:109 templates/base.html:79
|
||||
#: apps/note/views.py:137 templates/base.html:94
|
||||
msgid "Consumptions"
|
||||
msgstr ""
|
||||
|
||||
@ -810,7 +810,7 @@ msgid ""
|
||||
"The entered amount is not enough for the memberships, should be at least {}"
|
||||
msgstr ""
|
||||
|
||||
#: apps/treasury/apps.py:12 templates/base.html:111
|
||||
#: apps/treasury/apps.py:12 templates/base.html:126
|
||||
msgid "Treasury"
|
||||
msgstr ""
|
||||
|
||||
@ -836,7 +836,7 @@ msgid "You can't change the type of the remittance."
|
||||
msgstr ""
|
||||
|
||||
#: apps/treasury/forms.py:127 apps/treasury/tables.py:47
|
||||
#: templates/note/transaction_form.html:133
|
||||
#: templates/note/transaction_form.html:95
|
||||
#: templates/treasury/remittance_form.html:18
|
||||
msgid "Amount"
|
||||
msgstr ""
|
||||
@ -857,7 +857,7 @@ msgstr ""
|
||||
msgid "Description"
|
||||
msgstr ""
|
||||
|
||||
#: apps/treasury/models.py:46 templates/note/transaction_form.html:91
|
||||
#: apps/treasury/models.py:46 templates/note/transaction_form.html:120
|
||||
msgid "Name"
|
||||
msgstr ""
|
||||
|
||||
@ -1052,19 +1052,19 @@ msgstr ""
|
||||
msgid "The ENS Paris-Saclay BDE note."
|
||||
msgstr ""
|
||||
|
||||
#: templates/base.html:89
|
||||
#: templates/base.html:104
|
||||
msgid "Users"
|
||||
msgstr ""
|
||||
|
||||
#: templates/base.html:94
|
||||
#: templates/base.html:109
|
||||
msgid "Clubs"
|
||||
msgstr ""
|
||||
|
||||
#: templates/base.html:100
|
||||
#: templates/base.html:115
|
||||
msgid "Registrations"
|
||||
msgstr ""
|
||||
|
||||
#: templates/base.html:150
|
||||
#: templates/base.html:165
|
||||
msgid ""
|
||||
"Your e-mail address is not validated. Please check your mail inbox and click "
|
||||
"on the validation link."
|
||||
@ -1227,36 +1227,41 @@ msgstr ""
|
||||
msgid "Save Changes"
|
||||
msgstr ""
|
||||
|
||||
#: templates/member/user_list.html:14
|
||||
#: templates/member/user_list.html:15
|
||||
#: templates/registration/future_user_list.html:17
|
||||
msgid "There is no pending user with this pattern."
|
||||
msgstr ""
|
||||
|
||||
#: templates/note/conso_form.html:28 templates/note/transaction_form.html:55
|
||||
msgid "Select emitters"
|
||||
#: templates/note/conso_form.html:28
|
||||
msgid "Consum"
|
||||
msgstr ""
|
||||
|
||||
#: templates/note/conso_form.html:45
|
||||
#: templates/note/conso_form.html:39 templates/note/transaction_form.html:61
|
||||
#: templates/note/transaction_form.html:76
|
||||
msgid "Name or alias..."
|
||||
msgstr ""
|
||||
|
||||
#: templates/note/conso_form.html:48
|
||||
msgid "Select consumptions"
|
||||
msgstr ""
|
||||
|
||||
#: templates/note/conso_form.html:51
|
||||
#: templates/note/conso_form.html:57
|
||||
msgid "Consume!"
|
||||
msgstr ""
|
||||
|
||||
#: templates/note/conso_form.html:64
|
||||
#: templates/note/conso_form.html:71
|
||||
msgid "Most used buttons"
|
||||
msgstr ""
|
||||
|
||||
#: templates/note/conso_form.html:126
|
||||
#: templates/note/conso_form.html:134
|
||||
msgid "Single consumptions"
|
||||
msgstr ""
|
||||
|
||||
#: templates/note/conso_form.html:130
|
||||
#: templates/note/conso_form.html:139
|
||||
msgid "Double consumptions"
|
||||
msgstr ""
|
||||
|
||||
#: templates/note/conso_form.html:141 templates/note/transaction_form.html:152
|
||||
#: templates/note/conso_form.html:150 templates/note/transaction_form.html:151
|
||||
msgid "Recent transactions history"
|
||||
msgstr ""
|
||||
|
||||
@ -1264,36 +1269,42 @@ msgstr ""
|
||||
msgid "Gift"
|
||||
msgstr ""
|
||||
|
||||
#: templates/note/transaction_form.html:73
|
||||
msgid "External payment"
|
||||
#: templates/note/transaction_form.html:55
|
||||
msgid "Select emitters"
|
||||
msgstr ""
|
||||
|
||||
#: templates/note/transaction_form.html:81
|
||||
msgid "Transfer type"
|
||||
msgstr ""
|
||||
|
||||
#: templates/note/transaction_form.html:116
|
||||
#: templates/note/transaction_form.html:169
|
||||
#: templates/note/transaction_form.html:176
|
||||
#: templates/note/transaction_form.html:70
|
||||
msgid "Select receivers"
|
||||
msgstr ""
|
||||
|
||||
#: templates/note/transaction_form.html:138
|
||||
#: templates/note/transaction_form.html:87
|
||||
msgid "Action"
|
||||
msgstr ""
|
||||
|
||||
#: templates/note/transaction_form.html:102
|
||||
msgid "Reason"
|
||||
msgstr ""
|
||||
|
||||
#: templates/note/transaction_form.html:183
|
||||
msgid "Credit note"
|
||||
#: templates/note/transaction_form.html:110
|
||||
msgid "Transfer type"
|
||||
msgstr ""
|
||||
|
||||
#: templates/note/transaction_form.html:190
|
||||
msgid "Debit note"
|
||||
msgstr ""
|
||||
|
||||
#: templates/note/transactiontemplate_form.html:6
|
||||
#: templates/note/transactiontemplate_form.html:10
|
||||
msgid "Buttons list"
|
||||
msgstr ""
|
||||
|
||||
#: templates/note/transactiontemplate_form.html:21
|
||||
msgid "Price history"
|
||||
msgstr ""
|
||||
|
||||
#: templates/note/transactiontemplate_form.html:24
|
||||
msgid "Obsolete since"
|
||||
msgstr ""
|
||||
|
||||
#: templates/note/transactiontemplate_form.html:24
|
||||
msgid "Current price"
|
||||
msgstr ""
|
||||
|
||||
#: templates/note/transactiontemplate_list.html:9
|
||||
msgid "search button"
|
||||
msgstr ""
|
||||
|
@ -3,7 +3,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-04-09 21:59+0200\n"
|
||||
"POT-Creation-Date: 2020-04-27 03:19+0200\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
@ -14,28 +14,28 @@ msgstr ""
|
||||
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
||||
|
||||
#: apps/activity/apps.py:10 apps/activity/models.py:102
|
||||
#: apps/activity/models.py:111
|
||||
#: apps/activity/models.py:117
|
||||
msgid "activity"
|
||||
msgstr "activité"
|
||||
|
||||
#: apps/activity/forms.py:45 apps/activity/models.py:208
|
||||
#: apps/activity/forms.py:45 apps/activity/models.py:213
|
||||
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:48 apps/activity/models.py:211
|
||||
#: apps/activity/forms.py:48 apps/activity/models.py:216
|
||||
msgid "This activity is not validated yet."
|
||||
msgstr "Cette activité n'est pas encore validée."
|
||||
|
||||
#: apps/activity/forms.py:58 apps/activity/models.py:219
|
||||
#: apps/activity/forms.py:58 apps/activity/models.py:224
|
||||
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:62 apps/activity/models.py:223
|
||||
#: apps/activity/forms.py:62 apps/activity/models.py:228
|
||||
msgid "This person is already invited."
|
||||
msgstr "Cette personne est déjà invitée."
|
||||
|
||||
#: apps/activity/forms.py:66 apps/activity/models.py:227
|
||||
#: apps/activity/forms.py:66 apps/activity/models.py:232
|
||||
msgid "You can't invite more than 3 people to this activity."
|
||||
msgstr "Vous ne pouvez pas inviter plus de 3 personnes à cette activité."
|
||||
|
||||
@ -109,57 +109,57 @@ msgstr "ouvrir"
|
||||
msgid "activities"
|
||||
msgstr "activités"
|
||||
|
||||
#: apps/activity/models.py:116
|
||||
#: apps/activity/models.py:122
|
||||
msgid "entry time"
|
||||
msgstr "heure d'entrée"
|
||||
|
||||
#: apps/activity/models.py:122 apps/note/apps.py:14
|
||||
#: apps/activity/models.py:128 apps/note/apps.py:14
|
||||
#: apps/note/models/notes.py:58
|
||||
msgid "note"
|
||||
msgstr "note"
|
||||
|
||||
#: apps/activity/models.py:133 templates/activity/activity_entry.html:38
|
||||
#: apps/activity/models.py:139 templates/activity/activity_entry.html:38
|
||||
msgid "entry"
|
||||
msgstr "entrée"
|
||||
|
||||
#: apps/activity/models.py:134 templates/activity/activity_entry.html:38
|
||||
#: apps/activity/models.py:140 templates/activity/activity_entry.html:38
|
||||
msgid "entries"
|
||||
msgstr "entrées"
|
||||
|
||||
#: apps/activity/models.py:141
|
||||
#: apps/activity/models.py:146
|
||||
msgid "Already entered on "
|
||||
msgstr "Déjà rentré le "
|
||||
|
||||
#: apps/activity/models.py:141 apps/activity/tables.py:54
|
||||
#: apps/activity/models.py:146 apps/activity/tables.py:54
|
||||
msgid "{:%Y-%m-%d %H:%M:%S}"
|
||||
msgstr "{:%d/%m/%Y %H:%M:%S}"
|
||||
|
||||
#: apps/activity/models.py:149
|
||||
#: apps/activity/models.py:154
|
||||
msgid "The balance is negative."
|
||||
msgstr "La note est en négatif."
|
||||
|
||||
#: apps/activity/models.py:179
|
||||
#: apps/activity/models.py:184
|
||||
msgid "last name"
|
||||
msgstr "nom de famille"
|
||||
|
||||
#: apps/activity/models.py:184 templates/member/profile_info.html:14
|
||||
#: apps/activity/models.py:189 templates/member/profile_info.html:14
|
||||
#: templates/registration/future_profile_detail.html:16
|
||||
msgid "first name"
|
||||
msgstr "prénom"
|
||||
|
||||
#: apps/activity/models.py:191
|
||||
#: apps/activity/models.py:196
|
||||
msgid "inviter"
|
||||
msgstr "hôte"
|
||||
|
||||
#: apps/activity/models.py:232
|
||||
#: apps/activity/models.py:237
|
||||
msgid "guest"
|
||||
msgstr "invité"
|
||||
|
||||
#: apps/activity/models.py:233
|
||||
#: apps/activity/models.py:238
|
||||
msgid "guests"
|
||||
msgstr "invités"
|
||||
|
||||
#: apps/activity/models.py:245
|
||||
#: apps/activity/models.py:250
|
||||
msgid "Invitation"
|
||||
msgstr "Invitation"
|
||||
|
||||
@ -182,7 +182,7 @@ msgstr "Nom de famille"
|
||||
|
||||
#: apps/activity/tables.py:79 apps/member/forms.py:80
|
||||
#: apps/registration/forms.py:60 apps/treasury/forms.py:123
|
||||
#: templates/note/transaction_form.html:97
|
||||
#: templates/note/transaction_form.html:126
|
||||
msgid "First name"
|
||||
msgstr "Prénom"
|
||||
|
||||
@ -194,11 +194,11 @@ msgstr "Note"
|
||||
msgid "Balance"
|
||||
msgstr "Solde du compte"
|
||||
|
||||
#: apps/activity/views.py:45 templates/base.html:106
|
||||
#: apps/activity/views.py:46 templates/base.html:121
|
||||
msgid "Activities"
|
||||
msgstr "Activités"
|
||||
|
||||
#: apps/activity/views.py:154
|
||||
#: apps/activity/views.py:160
|
||||
msgid "Entry for activity \"{}\""
|
||||
msgstr "Entrées pour l'activité « {} »"
|
||||
|
||||
@ -292,7 +292,7 @@ msgid "Credit amount"
|
||||
msgstr "Montant à créditer"
|
||||
|
||||
#: apps/member/forms.py:85 apps/registration/forms.py:65
|
||||
#: apps/treasury/forms.py:125 templates/note/transaction_form.html:103
|
||||
#: apps/treasury/forms.py:125 templates/note/transaction_form.html:132
|
||||
msgid "Bank"
|
||||
msgstr "Banque"
|
||||
|
||||
@ -669,9 +669,9 @@ msgid "transactions"
|
||||
msgstr "transactions"
|
||||
|
||||
#: apps/note/models/transactions.py:207
|
||||
#: templates/activity/activity_entry.html:13 templates/base.html:84
|
||||
#: templates/activity/activity_entry.html:13 templates/base.html:99
|
||||
#: templates/note/transaction_form.html:19
|
||||
#: templates/note/transaction_form.html:145
|
||||
#: templates/note/transaction_form.html:140
|
||||
msgid "Transfer"
|
||||
msgstr "Virement"
|
||||
|
||||
@ -722,15 +722,15 @@ msgid "Delete"
|
||||
msgstr "Supprimer"
|
||||
|
||||
#: apps/note/tables.py:146 templates/member/club_info.html:55
|
||||
#: templates/note/conso_form.html:121
|
||||
#: templates/note/conso_form.html:128
|
||||
msgid "Edit"
|
||||
msgstr "Éditer"
|
||||
|
||||
#: apps/note/views.py:40
|
||||
#: apps/note/views.py:41
|
||||
msgid "Transfer money"
|
||||
msgstr "Transférer de l'argent"
|
||||
|
||||
#: apps/note/views.py:109 templates/base.html:79
|
||||
#: apps/note/views.py:137 templates/base.html:94
|
||||
msgid "Consumptions"
|
||||
msgstr "Consommations"
|
||||
|
||||
@ -815,7 +815,7 @@ msgstr ""
|
||||
"Le montant crédité est trop faible pour adhérer, il doit être au minimum de "
|
||||
"{}"
|
||||
|
||||
#: apps/treasury/apps.py:12 templates/base.html:111
|
||||
#: apps/treasury/apps.py:12 templates/base.html:126
|
||||
msgid "Treasury"
|
||||
msgstr "Trésorerie"
|
||||
|
||||
@ -841,7 +841,7 @@ msgid "You can't change the type of the remittance."
|
||||
msgstr "Vous ne pouvez pas changer le type de la remise."
|
||||
|
||||
#: apps/treasury/forms.py:127 apps/treasury/tables.py:47
|
||||
#: templates/note/transaction_form.html:133
|
||||
#: templates/note/transaction_form.html:95
|
||||
#: templates/treasury/remittance_form.html:18
|
||||
msgid "Amount"
|
||||
msgstr "Montant"
|
||||
@ -862,7 +862,7 @@ msgstr "Objet"
|
||||
msgid "Description"
|
||||
msgstr "Description"
|
||||
|
||||
#: apps/treasury/models.py:46 templates/note/transaction_form.html:91
|
||||
#: apps/treasury/models.py:46 templates/note/transaction_form.html:120
|
||||
msgid "Name"
|
||||
msgstr "Nom"
|
||||
|
||||
@ -1057,19 +1057,19 @@ msgstr "Toutes les activités"
|
||||
msgid "The ENS Paris-Saclay BDE note."
|
||||
msgstr "La note du BDE de l'ENS Paris-Saclay."
|
||||
|
||||
#: templates/base.html:89
|
||||
#: templates/base.html:104
|
||||
msgid "Users"
|
||||
msgstr "Utilisateurs"
|
||||
|
||||
#: templates/base.html:94
|
||||
#: templates/base.html:109
|
||||
msgid "Clubs"
|
||||
msgstr "Clubs"
|
||||
|
||||
#: templates/base.html:100
|
||||
#: templates/base.html:115
|
||||
msgid "Registrations"
|
||||
msgstr "Inscriptions"
|
||||
|
||||
#: templates/base.html:150
|
||||
#: templates/base.html:165
|
||||
msgid ""
|
||||
"Your e-mail address is not validated. Please check your mail inbox and click "
|
||||
"on the validation link."
|
||||
@ -1234,36 +1234,43 @@ msgstr "Voir mes adhésions"
|
||||
msgid "Save Changes"
|
||||
msgstr "Sauvegarder les changements"
|
||||
|
||||
#: templates/member/user_list.html:14
|
||||
#: templates/member/user_list.html:15
|
||||
#: templates/registration/future_user_list.html:17
|
||||
msgid "There is no pending user with this pattern."
|
||||
msgstr "Il n'y a pas d'inscription en attente avec cette entrée."
|
||||
|
||||
#: templates/note/conso_form.html:28 templates/note/transaction_form.html:55
|
||||
msgid "Select emitters"
|
||||
msgstr "Sélection des émetteurs"
|
||||
#: templates/note/conso_form.html:28
|
||||
#, fuzzy
|
||||
#| msgid "Consume!"
|
||||
msgid "Consum"
|
||||
msgstr "Consommer !"
|
||||
|
||||
#: templates/note/conso_form.html:45
|
||||
#: templates/note/conso_form.html:39 templates/note/transaction_form.html:61
|
||||
#: templates/note/transaction_form.html:76
|
||||
msgid "Name or alias..."
|
||||
msgstr ""
|
||||
|
||||
#: templates/note/conso_form.html:48
|
||||
msgid "Select consumptions"
|
||||
msgstr "Sélection des consommations"
|
||||
|
||||
#: templates/note/conso_form.html:51
|
||||
#: templates/note/conso_form.html:57
|
||||
msgid "Consume!"
|
||||
msgstr "Consommer !"
|
||||
|
||||
#: templates/note/conso_form.html:64
|
||||
#: templates/note/conso_form.html:71
|
||||
msgid "Most used buttons"
|
||||
msgstr "Boutons les plus utilisés"
|
||||
|
||||
#: templates/note/conso_form.html:126
|
||||
#: templates/note/conso_form.html:134
|
||||
msgid "Single consumptions"
|
||||
msgstr "Consommations simples"
|
||||
|
||||
#: templates/note/conso_form.html:130
|
||||
#: templates/note/conso_form.html:139
|
||||
msgid "Double consumptions"
|
||||
msgstr "Consommations doubles"
|
||||
|
||||
#: templates/note/conso_form.html:141 templates/note/transaction_form.html:152
|
||||
#: templates/note/conso_form.html:150 templates/note/transaction_form.html:151
|
||||
msgid "Recent transactions history"
|
||||
msgstr "Historique des transactions récentes"
|
||||
|
||||
@ -1271,36 +1278,44 @@ msgstr "Historique des transactions récentes"
|
||||
msgid "Gift"
|
||||
msgstr "Don"
|
||||
|
||||
#: templates/note/transaction_form.html:73
|
||||
msgid "External payment"
|
||||
msgstr "Paiement externe"
|
||||
#: templates/note/transaction_form.html:55
|
||||
msgid "Select emitters"
|
||||
msgstr "Sélection des émetteurs"
|
||||
|
||||
#: templates/note/transaction_form.html:81
|
||||
msgid "Transfer type"
|
||||
msgstr "Type de transfert"
|
||||
|
||||
#: templates/note/transaction_form.html:116
|
||||
#: templates/note/transaction_form.html:169
|
||||
#: templates/note/transaction_form.html:176
|
||||
#: templates/note/transaction_form.html:70
|
||||
msgid "Select receivers"
|
||||
msgstr "Sélection des destinataires"
|
||||
|
||||
#: templates/note/transaction_form.html:138
|
||||
#: templates/note/transaction_form.html:87
|
||||
#, fuzzy
|
||||
#| msgid "action"
|
||||
msgid "Action"
|
||||
msgstr "Action"
|
||||
|
||||
#: templates/note/transaction_form.html:102
|
||||
msgid "Reason"
|
||||
msgstr "Raison"
|
||||
|
||||
#: templates/note/transaction_form.html:183
|
||||
msgid "Credit note"
|
||||
msgstr "Note à recharger"
|
||||
#: templates/note/transaction_form.html:110
|
||||
msgid "Transfer type"
|
||||
msgstr "Type de transfert"
|
||||
|
||||
#: templates/note/transaction_form.html:190
|
||||
msgid "Debit note"
|
||||
msgstr "Note à débiter"
|
||||
|
||||
#: templates/note/transactiontemplate_form.html:6
|
||||
#: templates/note/transactiontemplate_form.html:10
|
||||
msgid "Buttons list"
|
||||
msgstr "Liste des boutons"
|
||||
|
||||
#: templates/note/transactiontemplate_form.html:21
|
||||
msgid "Price history"
|
||||
msgstr "Historique des prix"
|
||||
|
||||
#: templates/note/transactiontemplate_form.html:24
|
||||
msgid "Obsolete since"
|
||||
msgstr "Obsolète depuis"
|
||||
|
||||
#: templates/note/transactiontemplate_form.html:24
|
||||
msgid "Current price"
|
||||
msgstr "Prix actuel"
|
||||
|
||||
#: templates/note/transactiontemplate_list.html:9
|
||||
msgid "search button"
|
||||
msgstr "Chercher un bouton"
|
||||
@ -1334,15 +1349,16 @@ msgstr "Vous pouvez désormais <a href=\"%(login_url)s\">vous connecter</a>."
|
||||
msgid ""
|
||||
"You must pay now your membership in the Kfet to complete your registration."
|
||||
msgstr ""
|
||||
"Vous devez désormais payer votre adhésion à la Kfet pour compléter votre inscription."
|
||||
"Vous devez désormais payer votre adhésion à la Kfet pour compléter votre "
|
||||
"inscription."
|
||||
|
||||
#: templates/registration/email_validation_complete.html:13
|
||||
msgid ""
|
||||
"The link was invalid. The token may have expired. Please send us an email to "
|
||||
"activate your account."
|
||||
msgstr ""
|
||||
"Le lien est invalide. Le jeton a sans doute expiré. Merci de nous contacter pour "
|
||||
"activer votre compte."
|
||||
"Le lien est invalide. Le jeton a sans doute expiré. Merci de nous contacter "
|
||||
"pour activer votre compte."
|
||||
|
||||
#: templates/registration/future_profile_detail.html:56
|
||||
msgid "Delete registration"
|
||||
@ -1414,8 +1430,8 @@ msgid ""
|
||||
"After that, you'll have to wait that someone validates your account before "
|
||||
"you can log in. You will need to pay your membership in the Kfet."
|
||||
msgstr ""
|
||||
"Après cela, vous devrez attendre que quelqu'un valide votre compte avant "
|
||||
"de pouvoir vous connecter. Vous devrez payer votre adhésion à la Kfet."
|
||||
"Après cela, vous devrez attendre que quelqu'un valide votre compte avant de "
|
||||
"pouvoir vous connecter. Vous devrez payer votre adhésion à la Kfet."
|
||||
|
||||
#: templates/registration/mails/email_validation_email.html:13
|
||||
msgid "Thanks"
|
||||
@ -1552,5 +1568,14 @@ msgstr "Il n'y a pas de transaction associée à une remise ouverte."
|
||||
msgid "Closed remittances"
|
||||
msgstr "Remises fermées"
|
||||
|
||||
#~ msgid "External payment"
|
||||
#~ msgstr "Paiement externe"
|
||||
|
||||
#~ msgid "Credit note"
|
||||
#~ msgstr "Note à recharger"
|
||||
|
||||
#~ msgid "Debit note"
|
||||
#~ msgstr "Note à débiter"
|
||||
|
||||
#~ msgid "This membership is already renewed"
|
||||
#~ msgstr "Cette adhésion est déjà renouvelée"
|
||||
|
@ -1,12 +1,28 @@
|
||||
{% extends "base.html" %}
|
||||
|
||||
{% load static %}
|
||||
{% load i18n %}
|
||||
{% load crispy_forms_tags %}
|
||||
{% load pretty_money %}
|
||||
|
||||
{% block content %}
|
||||
<p><a class="btn btn-default" href="{% url 'note:template_list' %}">{% trans "Buttons list" %}</a></p>
|
||||
<form method="post">
|
||||
{% csrf_token %}
|
||||
{{form|crispy}}
|
||||
<button class="btn btn-primary" type="submit">Submit</button>
|
||||
</form>
|
||||
<p>
|
||||
<a class="btn btn-default" href="{% url 'note:template_list' %}">{% trans "Buttons list" %}</a>
|
||||
</p>
|
||||
<form method="post">
|
||||
{% csrf_token %}
|
||||
{{form|crispy}}
|
||||
<button class="btn btn-primary" type="submit">Submit</button>
|
||||
</form>
|
||||
|
||||
{% if price_history %}
|
||||
<hr>
|
||||
|
||||
<h4>{% trans "Price history" %}</h4>
|
||||
<ul>
|
||||
{% for price in price_history %}
|
||||
<li>{{ price.price|pretty_money }} {% if price.time %}({% trans "Obsolete since" %} {{ price.time }}){% else %}({% trans "Current price" %}){% endif %}</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
|
Loading…
Reference in New Issue
Block a user