1
0
mirror of https://gitlab.crans.org/bde/nk20 synced 2024-12-22 23:42:25 +00:00

possibilité de l'adhésion au BDA lors de l'inscription

This commit is contained in:
bleizi 2023-07-04 17:32:48 +02:00
parent d5819ac562
commit 16f8a60a3f
No known key found for this signature in database
GPG Key ID: D46D7E3364433208
6 changed files with 190 additions and 127 deletions

View File

@ -5,10 +5,10 @@ from django import forms
from django.contrib.auth.forms import UserCreationForm
from django.contrib.auth.models import User
from django.utils.translation import gettext_lazy as _
from member.models import Club
from note.models import NoteSpecial, Alias
from note_kfet.inputs import AmountInput
class SignUpForm(UserCreationForm):
"""
Pre-register users with all information
@ -114,3 +114,13 @@ class ValidationForm(forms.Form):
required=False,
initial=True,
)
# If the bda exists
if Club.objects.filter(name__iexact="bda").exists():
# The user can join the bda club at the inscription
join_bda = forms.BooleanField(
label=_("Join BDA Club"),
required=False,
initial=False,
)

View File

@ -1,6 +1,8 @@
# Copyright (C) 2018-2021 by BDE ENS Paris-Saclay
# SPDX-License-Identifier: GPL-3.0-or-later
from datetime import date, timedelta
from django.contrib.auth.models import User
from django.db.models import Q
from django.test import TestCase
@ -290,6 +292,7 @@ class TestValidateRegistration(TestCase):
self.assertTrue(NoteUser.objects.filter(user=self.user).exists())
self.assertTrue(Membership.objects.filter(club__name="BDE", user=self.user).exists())
self.assertFalse(Membership.objects.filter(club__name="Kfet", user=self.user).exists())
self.assertFalse(Membership.objects.filter(club__name__iexact="BDA", user=self.user).exists())
self.assertFalse(SogeCredit.objects.filter(user=self.user).exists())
self.assertEqual(Transaction.objects.filter(
Q(source=self.user.note) | Q(destination=self.user.note)).count(), 2)
@ -326,6 +329,7 @@ class TestValidateRegistration(TestCase):
self.assertTrue(NoteUser.objects.filter(user=self.user).exists())
self.assertTrue(Membership.objects.filter(club__name="BDE", user=self.user).exists())
self.assertTrue(Membership.objects.filter(club__name="Kfet", user=self.user).exists())
self.assertFalse(Membership.objects.filter(club__name__iexact="BDA", user=self.user).exists())
self.assertFalse(SogeCredit.objects.filter(user=self.user).exists())
self.assertEqual(Transaction.objects.filter(
Q(source=self.user.note) | Q(destination=self.user.note)).count(), 3)
@ -362,6 +366,7 @@ class TestValidateRegistration(TestCase):
self.assertTrue(NoteUser.objects.filter(user=self.user).exists())
self.assertTrue(Membership.objects.filter(club__name="BDE", user=self.user).exists())
self.assertTrue(Membership.objects.filter(club__name="Kfet", user=self.user).exists())
self.assertFalse(Membership.objects.filter(club__name__iexact="BDA", user=self.user).exists())
self.assertTrue(SogeCredit.objects.filter(user=self.user).exists())
self.assertEqual(Transaction.objects.filter(
Q(source=self.user.note) | Q(destination=self.user.note)).count(), 3)

View File

@ -237,6 +237,9 @@ class FutureUserDetailView(ProtectQuerysetMixin, LoginRequiredMixin, FormMixin,
fee += bde.membership_fee_paid if user.profile.paid else bde.membership_fee_unpaid
kfet = Club.objects.get(name="Kfet")
fee += kfet.membership_fee_paid if user.profile.paid else kfet.membership_fee_unpaid
if Club.objects.filter(name__iexact="BDA").exists():
bda = Club.objects.get(name__iexact="BDA")
fee += bda.membership_fee_paid if user.profile.paid else bda.membership_fee_unpaid
ctx["total_fee"] = "{:.02f}".format(fee / 100, )
ctx["declare_soge_account"] = SogeCredit.objects.filter(user=user).exists()
@ -262,6 +265,11 @@ class FutureUserDetailView(ProtectQuerysetMixin, LoginRequiredMixin, FormMixin,
form.add_error(None, _("An alias with a similar name already exists."))
return self.form_invalid(form)
# Check if BDA exist to propose membership at regisration
bda_exists = False
if Club.objects.filter(name__iexact="BDA").exists():
bda_exists = True
# Get form data
soge = form.cleaned_data["soge"]
credit_type = form.cleaned_data["credit_type"]
@ -271,6 +279,8 @@ class FutureUserDetailView(ProtectQuerysetMixin, LoginRequiredMixin, FormMixin,
bank = form.cleaned_data["bank"]
join_bde = form.cleaned_data["join_bde"]
join_kfet = form.cleaned_data["join_kfet"]
if bda_exists:
join_bda = form.cleaned_data["join_bda"]
if soge:
# If Société Générale pays the inscription, the user automatically joins the two clubs.
@ -292,6 +302,11 @@ class FutureUserDetailView(ProtectQuerysetMixin, LoginRequiredMixin, FormMixin,
kfet_fee = kfet.membership_fee_paid if user.profile.paid else kfet.membership_fee_unpaid
# Add extra fee for the full membership
fee += kfet_fee if join_kfet else 0
if bda_exists:
bda = Club.objects.get(name__iexact="BDA")
bda_fee = bda.membership_fee_paid if user.profile.paid else bda.membership_fee_unpaid
# Add extra fee for the bda membership
fee += bda_fee if join_bda else 0
# If the bank pays, then we don't credit now. Treasurers will validate the transaction
# and credit the note later.
@ -369,6 +384,18 @@ class FutureUserDetailView(ProtectQuerysetMixin, LoginRequiredMixin, FormMixin,
membership.roles.add(Role.objects.get(name="Adhérent Kfet"))
membership.save()
if bda_exists and join_bda:
# Create membership for the user to the BDA starting today
membership = Membership(
club=bda,
user=user,
fee=bda_fee,
)
membership.save()
membership.refresh_from_db()
membership.roles.add(Role.objects.get(name="Membre de club"))
membership.save()
if soge:
soge_credit = SogeCredit.objects.get(user=user)
# Update the credit transaction amount

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-03-31 17:08+0200\n"
"POT-Creation-Date: 2023-07-04 17:30+0200\n"
"PO-Revision-Date: 2020-11-16 20:02+0000\n"
"Last-Translator: bleizi <bleizi@crans.org>\n"
"Language-Team: German <http://translate.ynerant.fr/projects/nk20/nk20/de/>\n"
@ -115,7 +115,7 @@ msgid "type"
msgstr "Type"
#: apps/activity/models.py:89 apps/logs/models.py:22 apps/member/models.py:307
#: apps/note/models/notes.py:148 apps/treasury/models.py:286
#: apps/note/models/notes.py:148 apps/treasury/models.py:287
#: apps/wei/models.py:173 apps/wei/templates/wei/attribute_bus_1A.html:13
#: apps/wei/templates/wei/survey.html:15
msgid "user"
@ -258,7 +258,7 @@ msgstr "Eingetreten um "
msgid "remove"
msgstr "entfernen"
#: apps/activity/tables.py:82 apps/note/forms.py:68 apps/treasury/models.py:200
#: apps/activity/tables.py:82 apps/note/forms.py:68 apps/treasury/models.py:201
msgid "Type"
msgstr "Type"
@ -549,7 +549,7 @@ msgid "This image cannot be loaded."
msgstr "Dieses Bild kann nicht geladen werden."
#: apps/member/forms.py:141 apps/member/views.py:103
#: apps/registration/forms.py:33 apps/registration/views.py:262
#: apps/registration/forms.py:33 apps/registration/views.py:265
msgid "An alias with a similar name already exists."
msgstr "Ein ähnliches Alias ist schon benutzt."
@ -1570,7 +1570,7 @@ msgstr "Sondertranskationen"
msgid "membership transaction"
msgstr "Mitgliedschafttransaktion"
#: apps/note/models/transactions.py:385 apps/treasury/models.py:293
#: apps/note/models/transactions.py:385 apps/treasury/models.py:294
msgid "membership transactions"
msgstr "Mitgliedschaftttransaktionen"
@ -1689,7 +1689,7 @@ msgid "Amount"
msgstr "Anzahl"
#: apps/note/templates/note/transaction_form.html:132
#: apps/treasury/models.py:55
#: apps/treasury/models.py:56
msgid "Name"
msgstr "Name"
@ -2021,6 +2021,10 @@ msgstr "BDE Mitglieder werden"
msgid "Join Kfet Club"
msgstr "Kfet Mitglieder werden"
#: apps/registration/forms.py:122
msgid "Join BDA Club"
msgstr "BDA Mitglieder werden"
#: apps/registration/templates/registration/email_validation_complete.html:15
msgid "Your email have successfully been validated."
msgstr "Ihre E-Mail wurde erfolgreich validiert."
@ -2164,18 +2168,18 @@ msgstr "Unregistrierte Users"
msgid "Registration detail"
msgstr "Registrierung Detailen"
#: apps/registration/views.py:282
#: apps/registration/views.py:292
msgid "You must join the BDE."
msgstr "Sie müssen die BDE beitreten."
#: apps/registration/views.py:306
#: apps/registration/views.py:321
msgid ""
"The entered amount is not enough for the memberships, should be at least {}"
msgstr ""
"Der eingegebene Betrag reicht für die Mitgliedschaft nicht aus, sollte "
"mindestens {} betragen"
#: apps/registration/views.py:387
#: apps/registration/views.py:414
msgid "Invalidate pre-registration"
msgstr "Ungültige Vorregistrierung"
@ -2183,7 +2187,7 @@ msgstr "Ungültige Vorregistrierung"
msgid "Treasury"
msgstr "Quaestor"
#: apps/treasury/forms.py:26 apps/treasury/models.py:94
#: apps/treasury/forms.py:26 apps/treasury/models.py:95
#: apps/treasury/templates/treasury/invoice_form.html:22
msgid "This invoice is locked and can no longer be edited."
msgstr "Diese Rechnung ist gesperrt und kann nicht mehr bearbeitet werden."
@ -2196,7 +2200,7 @@ msgstr "Überweisung ist bereits geschlossen."
msgid "You can't change the type of the remittance."
msgstr "Sie können die Art der Überweisung nicht ändern."
#: apps/treasury/forms.py:125 apps/treasury/models.py:268
#: apps/treasury/forms.py:125 apps/treasury/models.py:269
#: apps/treasury/tables.py:97 apps/treasury/tables.py:105
#: apps/treasury/templates/treasury/invoice_list.html:16
#: apps/treasury/templates/treasury/remittance_list.html:16
@ -2212,116 +2216,116 @@ msgstr "Keine beigefügte Überweisung"
msgid "Invoice identifier"
msgstr "Rechnungskennung"
#: apps/treasury/models.py:41
#: apps/treasury/models.py:42
msgid "BDE"
msgstr "BDE"
#: apps/treasury/models.py:46
#: apps/treasury/models.py:47
msgid "Object"
msgstr "Objekt"
#: apps/treasury/models.py:50
#: apps/treasury/models.py:51
msgid "Description"
msgstr "Beschreibung"
#: apps/treasury/models.py:59
#: apps/treasury/models.py:60
msgid "Address"
msgstr "Adresse"
#: apps/treasury/models.py:64 apps/treasury/models.py:194
#: apps/treasury/models.py:65 apps/treasury/models.py:195
msgid "Date"
msgstr "Datum"
#: apps/treasury/models.py:68
#: apps/treasury/models.py:69
msgid "Acquitted"
msgstr "Bezahlt"
#: apps/treasury/models.py:73
#: apps/treasury/models.py:74
msgid "Locked"
msgstr "Gesperrt"
#: apps/treasury/models.py:74
#: apps/treasury/models.py:75
msgid "An invoice can't be edited when it is locked."
msgstr "Eine Rechnung kann nicht bearbeitet werden, wenn sie gesperrt ist."
#: apps/treasury/models.py:80
#: apps/treasury/models.py:81
msgid "tex source"
msgstr "Tex Quelle"
#: apps/treasury/models.py:114 apps/treasury/models.py:130
#: apps/treasury/models.py:115 apps/treasury/models.py:131
msgid "invoice"
msgstr "Rechnung"
#: apps/treasury/models.py:115
#: apps/treasury/models.py:116
msgid "invoices"
msgstr "Rechnungen"
#: apps/treasury/models.py:118
#: apps/treasury/models.py:119
#, python-brace-format
msgid "Invoice #{id}"
msgstr "Rechnung #{id}"
#: apps/treasury/models.py:135
#: apps/treasury/models.py:136
msgid "Designation"
msgstr "Bezeichnung"
#: apps/treasury/models.py:141
#: apps/treasury/models.py:142
msgid "Quantity"
msgstr "Qualität"
#: apps/treasury/models.py:146
#: apps/treasury/models.py:147
msgid "Unit price"
msgstr "Einzelpreis"
#: apps/treasury/models.py:162
#: apps/treasury/models.py:163
msgid "product"
msgstr "Produkt"
#: apps/treasury/models.py:163
#: apps/treasury/models.py:164
msgid "products"
msgstr "Produkten"
#: apps/treasury/models.py:183
#: apps/treasury/models.py:184
msgid "remittance type"
msgstr "Überweisungstyp"
#: apps/treasury/models.py:184
#: apps/treasury/models.py:185
msgid "remittance types"
msgstr "Überweisungstypen"
#: apps/treasury/models.py:205
#: apps/treasury/models.py:206
msgid "Comment"
msgstr "Kommentar"
#: apps/treasury/models.py:210
#: apps/treasury/models.py:211
msgid "Closed"
msgstr "Geschlossen"
#: apps/treasury/models.py:214
#: apps/treasury/models.py:215
msgid "remittance"
msgstr "Überweisung"
#: apps/treasury/models.py:215
#: apps/treasury/models.py:216
msgid "remittances"
msgstr "Überweisungen"
#: apps/treasury/models.py:248
#: apps/treasury/models.py:249
msgid "Remittance #{:d}: {}"
msgstr "Überweisung #{:d}:{}"
#: apps/treasury/models.py:272
#: apps/treasury/models.py:273
msgid "special transaction proxy"
msgstr "spezielle Transaktion Proxy"
#: apps/treasury/models.py:273
#: apps/treasury/models.py:274
msgid "special transaction proxies"
msgstr "spezielle Transaktion Proxies"
#: apps/treasury/models.py:299
#: apps/treasury/models.py:300
msgid "credit transaction"
msgstr "Kredit Transaktion"
#: apps/treasury/models.py:432
#: apps/treasury/models.py:433
msgid ""
"This user doesn't have enough money to pay the memberships with its note. "
"Please ask her/him to credit the note before invalidating this credit."
@ -2329,16 +2333,16 @@ msgstr ""
"Dieser Benutzer hat nicht genug Geld, um die Mitgliedschaften mit seiner "
"Note zu bezahlen."
#: apps/treasury/models.py:453
#: apps/treasury/models.py:454
#: apps/treasury/templates/treasury/sogecredit_detail.html:10
msgid "Credit from the Société générale"
msgstr "Kredit von der Société générale"
#: apps/treasury/models.py:454
#: apps/treasury/models.py:455
msgid "Credits from the Société générale"
msgstr "Krediten von der Société générale"
#: apps/treasury/models.py:457
#: apps/treasury/models.py:458
#, python-brace-format
msgid "Soge credit for {user}"
msgstr "Kredit von der Société générale für {user}"
@ -3612,6 +3616,9 @@ msgstr ""
"müssen Ihre E-Mail-Adresse auch überprüfen, indem Sie dem Link folgen, den "
"Sie erhalten haben."
#~ msgid "Join bda Club"
#~ msgstr "Bda Mitglieder werden"
#~ msgid "This user didn't give her/his caution check."
#~ msgstr "Dieser User hat seine / ihre Vorsicht nicht überprüft."

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-03-31 17:08+0200\n"
"POT-Creation-Date: 2023-07-04 17:30+0200\n"
"PO-Revision-Date: 2022-04-11 23:12+0200\n"
"Last-Translator: bleizi <bleizi@crans.org>\n"
"Language-Team: \n"
@ -114,7 +114,7 @@ msgid "type"
msgstr "tipo"
#: apps/activity/models.py:89 apps/logs/models.py:22 apps/member/models.py:307
#: apps/note/models/notes.py:148 apps/treasury/models.py:286
#: apps/note/models/notes.py:148 apps/treasury/models.py:287
#: apps/wei/models.py:173 apps/wei/templates/wei/attribute_bus_1A.html:13
#: apps/wei/templates/wei/survey.html:15
msgid "user"
@ -257,7 +257,7 @@ msgstr "Entrado el "
msgid "remove"
msgstr "quitar"
#: apps/activity/tables.py:82 apps/note/forms.py:68 apps/treasury/models.py:200
#: apps/activity/tables.py:82 apps/note/forms.py:68 apps/treasury/models.py:201
msgid "Type"
msgstr "Tipo"
@ -546,7 +546,7 @@ msgid "This image cannot be loaded."
msgstr "Esta imagen no puede ser cargada."
#: apps/member/forms.py:141 apps/member/views.py:103
#: apps/registration/forms.py:33 apps/registration/views.py:262
#: apps/registration/forms.py:33 apps/registration/views.py:265
msgid "An alias with a similar name already exists."
msgstr "Un alias similar ya existe."
@ -1557,7 +1557,7 @@ msgstr "Transacciones especiales"
msgid "membership transaction"
msgstr "transacción de afiliación"
#: apps/note/models/transactions.py:385 apps/treasury/models.py:293
#: apps/note/models/transactions.py:385 apps/treasury/models.py:294
msgid "membership transactions"
msgstr "transacciones de afiliación"
@ -1676,7 +1676,7 @@ msgid "Amount"
msgstr "Monto"
#: apps/note/templates/note/transaction_form.html:132
#: apps/treasury/models.py:55
#: apps/treasury/models.py:56
msgid "Name"
msgstr "Nombre"
@ -2003,6 +2003,10 @@ msgstr "Afiliarse al club BDE"
msgid "Join Kfet Club"
msgstr "Afiliarse al club Kfet"
#: apps/registration/forms.py:122
msgid "Join BDA Club"
msgstr "Afiliarse al club BDA"
#: apps/registration/templates/registration/email_validation_complete.html:15
msgid "Your email have successfully been validated."
msgstr "Su correo electrónico fue validado con éxito."
@ -2144,18 +2148,18 @@ msgstr "Usuarios con afiliación pendiente"
msgid "Registration detail"
msgstr "Detalles de la afiliación"
#: apps/registration/views.py:282
#: apps/registration/views.py:292
msgid "You must join the BDE."
msgstr "Usted tiene que afiliarse al BDE."
#: apps/registration/views.py:306
#: apps/registration/views.py:321
msgid ""
"The entered amount is not enough for the memberships, should be at least {}"
msgstr ""
"El monto dado no es suficiente para las afiliaciones, tiene que ser al menos "
"{}"
#: apps/registration/views.py:387
#: apps/registration/views.py:414
msgid "Invalidate pre-registration"
msgstr "Invalidar la afiliación"
@ -2163,7 +2167,7 @@ msgstr "Invalidar la afiliación"
msgid "Treasury"
msgstr "Tesorería"
#: apps/treasury/forms.py:26 apps/treasury/models.py:94
#: apps/treasury/forms.py:26 apps/treasury/models.py:95
#: apps/treasury/templates/treasury/invoice_form.html:22
msgid "This invoice is locked and can no longer be edited."
msgstr "Esta factura esta bloqueada y no puede ser modificada."
@ -2176,7 +2180,7 @@ msgstr "El descuento ya esta cerrado."
msgid "You can't change the type of the remittance."
msgstr "No puede cambiar el tipo de descuento."
#: apps/treasury/forms.py:125 apps/treasury/models.py:268
#: apps/treasury/forms.py:125 apps/treasury/models.py:269
#: apps/treasury/tables.py:97 apps/treasury/tables.py:105
#: apps/treasury/templates/treasury/invoice_list.html:16
#: apps/treasury/templates/treasury/remittance_list.html:16
@ -2192,116 +2196,116 @@ msgstr "No hay descuento relacionado"
msgid "Invoice identifier"
msgstr "Numero de factura"
#: apps/treasury/models.py:41
#: apps/treasury/models.py:42
msgid "BDE"
msgstr "BDE"
#: apps/treasury/models.py:46
#: apps/treasury/models.py:47
msgid "Object"
msgstr "Asunto"
#: apps/treasury/models.py:50
#: apps/treasury/models.py:51
msgid "Description"
msgstr "Descripción"
#: apps/treasury/models.py:59
#: apps/treasury/models.py:60
msgid "Address"
msgstr "Dirección"
#: apps/treasury/models.py:64 apps/treasury/models.py:194
#: apps/treasury/models.py:65 apps/treasury/models.py:195
msgid "Date"
msgstr "Fecha"
#: apps/treasury/models.py:68
#: apps/treasury/models.py:69
msgid "Acquitted"
msgstr "Pagada"
#: apps/treasury/models.py:73
#: apps/treasury/models.py:74
msgid "Locked"
msgstr "Bloqueada"
#: apps/treasury/models.py:74
#: apps/treasury/models.py:75
msgid "An invoice can't be edited when it is locked."
msgstr "Une factura no puede ser modificada cuando esta bloqueada."
#: apps/treasury/models.py:80
#: apps/treasury/models.py:81
msgid "tex source"
msgstr "código fuente TeX"
#: apps/treasury/models.py:114 apps/treasury/models.py:130
#: apps/treasury/models.py:115 apps/treasury/models.py:131
msgid "invoice"
msgstr "factura"
#: apps/treasury/models.py:115
#: apps/treasury/models.py:116
msgid "invoices"
msgstr "facturas"
#: apps/treasury/models.py:118
#: apps/treasury/models.py:119
#, python-brace-format
msgid "Invoice #{id}"
msgstr "Factura n°{id}"
#: apps/treasury/models.py:135
#: apps/treasury/models.py:136
msgid "Designation"
msgstr "Designación"
#: apps/treasury/models.py:141
#: apps/treasury/models.py:142
msgid "Quantity"
msgstr "Cantidad"
#: apps/treasury/models.py:146
#: apps/treasury/models.py:147
msgid "Unit price"
msgstr "Precio unitario"
#: apps/treasury/models.py:162
#: apps/treasury/models.py:163
msgid "product"
msgstr "producto"
#: apps/treasury/models.py:163
#: apps/treasury/models.py:164
msgid "products"
msgstr "productos"
#: apps/treasury/models.py:183
#: apps/treasury/models.py:184
msgid "remittance type"
msgstr "tipo de descuento"
#: apps/treasury/models.py:184
#: apps/treasury/models.py:185
msgid "remittance types"
msgstr "tipos de descuentos"
#: apps/treasury/models.py:205
#: apps/treasury/models.py:206
msgid "Comment"
msgstr "Comentario"
#: apps/treasury/models.py:210
#: apps/treasury/models.py:211
msgid "Closed"
msgstr "Cerrada"
#: apps/treasury/models.py:214
#: apps/treasury/models.py:215
msgid "remittance"
msgstr "descuento"
#: apps/treasury/models.py:215
#: apps/treasury/models.py:216
msgid "remittances"
msgstr "descuentos"
#: apps/treasury/models.py:248
#: apps/treasury/models.py:249
msgid "Remittance #{:d}: {}"
msgstr "Descuento n°{:d} : {}"
#: apps/treasury/models.py:272
#: apps/treasury/models.py:273
msgid "special transaction proxy"
msgstr "proxy de transacción especial"
#: apps/treasury/models.py:273
#: apps/treasury/models.py:274
msgid "special transaction proxies"
msgstr "proxys de transacciones especiales"
#: apps/treasury/models.py:299
#: apps/treasury/models.py:300
msgid "credit transaction"
msgstr "transacción de crédito"
#: apps/treasury/models.py:432
#: apps/treasury/models.py:433
msgid ""
"This user doesn't have enough money to pay the memberships with its note. "
"Please ask her/him to credit the note before invalidating this credit."
@ -2310,16 +2314,16 @@ msgstr ""
"afiliaciones. Por favor pídelo acreditar su note antes de invalidar este "
"crédito."
#: apps/treasury/models.py:453
#: apps/treasury/models.py:454
#: apps/treasury/templates/treasury/sogecredit_detail.html:10
msgid "Credit from the Société générale"
msgstr "Crédito de la Société Générale"
#: apps/treasury/models.py:454
#: apps/treasury/models.py:455
msgid "Credits from the Société générale"
msgstr "Créditos de la Société Générale"
#: apps/treasury/models.py:457
#: apps/treasury/models.py:458
#, python-brace-format
msgid "Soge credit for {user}"
msgstr "Crédito de la Société Générale para {user}"
@ -3541,6 +3545,9 @@ msgstr ""
"pagar su afiliación. Tambien tiene que validar su correo electronico con el "
"enlace que recibió."
#~ msgid "Join bda Club"
#~ msgstr "Afiliarse al club bda"
#~ msgid "You are not a Kfet member, so you can't use your note account."
#~ msgstr "Usted no es un miembro de la Kfet, no puede usar su cuenta note."

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-03-31 17:08+0200\n"
"POT-Creation-Date: 2023-07-04 17:30+0200\n"
"PO-Revision-Date: 2022-04-11 22:05+0200\n"
"Last-Translator: bleizi <bleizi@crans.org>\n"
"Language-Team: French <http://translate.ynerant.fr/projects/nk20/nk20/fr/>\n"
@ -115,7 +115,7 @@ msgid "type"
msgstr "type"
#: apps/activity/models.py:89 apps/logs/models.py:22 apps/member/models.py:307
#: apps/note/models/notes.py:148 apps/treasury/models.py:286
#: apps/note/models/notes.py:148 apps/treasury/models.py:287
#: apps/wei/models.py:173 apps/wei/templates/wei/attribute_bus_1A.html:13
#: apps/wei/templates/wei/survey.html:15
msgid "user"
@ -258,7 +258,7 @@ msgstr "Entré le "
msgid "remove"
msgstr "supprimer"
#: apps/activity/tables.py:82 apps/note/forms.py:68 apps/treasury/models.py:200
#: apps/activity/tables.py:82 apps/note/forms.py:68 apps/treasury/models.py:201
msgid "Type"
msgstr "Type"
@ -548,7 +548,7 @@ msgid "This image cannot be loaded."
msgstr "Cette image ne peut pas être chargée."
#: apps/member/forms.py:141 apps/member/views.py:103
#: apps/registration/forms.py:33 apps/registration/views.py:262
#: apps/registration/forms.py:33 apps/registration/views.py:265
msgid "An alias with a similar name already exists."
msgstr "Un alias avec un nom similaire existe déjà."
@ -1563,7 +1563,7 @@ msgstr "Transactions de crédit/retrait"
msgid "membership transaction"
msgstr "transaction d'adhésion"
#: apps/note/models/transactions.py:385 apps/treasury/models.py:293
#: apps/note/models/transactions.py:385 apps/treasury/models.py:294
msgid "membership transactions"
msgstr "transactions d'adhésion"
@ -1682,7 +1682,7 @@ msgid "Amount"
msgstr "Montant"
#: apps/note/templates/note/transaction_form.html:132
#: apps/treasury/models.py:55
#: apps/treasury/models.py:56
msgid "Name"
msgstr "Nom"
@ -2013,6 +2013,10 @@ msgstr "Adhérer au club BDE"
msgid "Join Kfet Club"
msgstr "Adhérer au club Kfet"
#: apps/registration/forms.py:122
msgid "Join BDA Club"
msgstr "Adhérer au club BDA"
#: apps/registration/templates/registration/email_validation_complete.html:15
msgid "Your email have successfully been validated."
msgstr "Votre adresse e-mail a bien été validée."
@ -2152,18 +2156,18 @@ msgstr "Utilisateurs en attente d'inscription"
msgid "Registration detail"
msgstr "Détails de l'inscription"
#: apps/registration/views.py:282
#: apps/registration/views.py:292
msgid "You must join the BDE."
msgstr "Vous devez adhérer au BDE."
#: apps/registration/views.py:306
#: apps/registration/views.py:321
msgid ""
"The entered amount is not enough for the memberships, should be at least {}"
msgstr ""
"Le montant crédité est trop faible pour adhérer, il doit être au minimum de "
"{}"
#: apps/registration/views.py:387
#: apps/registration/views.py:414
msgid "Invalidate pre-registration"
msgstr "Invalider l'inscription"
@ -2171,7 +2175,7 @@ msgstr "Invalider l'inscription"
msgid "Treasury"
msgstr "Trésorerie"
#: apps/treasury/forms.py:26 apps/treasury/models.py:94
#: apps/treasury/forms.py:26 apps/treasury/models.py:95
#: apps/treasury/templates/treasury/invoice_form.html:22
msgid "This invoice is locked and can no longer be edited."
msgstr "Cette facture est verrouillée et ne peut plus être éditée."
@ -2184,7 +2188,7 @@ msgstr "La remise est déjà fermée."
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:125 apps/treasury/models.py:268
#: apps/treasury/forms.py:125 apps/treasury/models.py:269
#: apps/treasury/tables.py:97 apps/treasury/tables.py:105
#: apps/treasury/templates/treasury/invoice_list.html:16
#: apps/treasury/templates/treasury/remittance_list.html:16
@ -2200,116 +2204,116 @@ msgstr "Pas de remise associée"
msgid "Invoice identifier"
msgstr "Numéro de facture"
#: apps/treasury/models.py:41
#: apps/treasury/models.py:42
msgid "BDE"
msgstr "BDE"
#: apps/treasury/models.py:46
#: apps/treasury/models.py:47
msgid "Object"
msgstr "Objet"
#: apps/treasury/models.py:50
#: apps/treasury/models.py:51
msgid "Description"
msgstr "Description"
#: apps/treasury/models.py:59
#: apps/treasury/models.py:60
msgid "Address"
msgstr "Adresse"
#: apps/treasury/models.py:64 apps/treasury/models.py:194
#: apps/treasury/models.py:65 apps/treasury/models.py:195
msgid "Date"
msgstr "Date"
#: apps/treasury/models.py:68
#: apps/treasury/models.py:69
msgid "Acquitted"
msgstr "Acquittée"
#: apps/treasury/models.py:73
#: apps/treasury/models.py:74
msgid "Locked"
msgstr "Verrouillée"
#: apps/treasury/models.py:74
#: apps/treasury/models.py:75
msgid "An invoice can't be edited when it is locked."
msgstr "Une facture ne peut plus être modifiée si elle est verrouillée."
#: apps/treasury/models.py:80
#: apps/treasury/models.py:81
msgid "tex source"
msgstr "fichier TeX source"
#: apps/treasury/models.py:114 apps/treasury/models.py:130
#: apps/treasury/models.py:115 apps/treasury/models.py:131
msgid "invoice"
msgstr "facture"
#: apps/treasury/models.py:115
#: apps/treasury/models.py:116
msgid "invoices"
msgstr "factures"
#: apps/treasury/models.py:118
#: apps/treasury/models.py:119
#, python-brace-format
msgid "Invoice #{id}"
msgstr "Facture n°{id}"
#: apps/treasury/models.py:135
#: apps/treasury/models.py:136
msgid "Designation"
msgstr "Désignation"
#: apps/treasury/models.py:141
#: apps/treasury/models.py:142
msgid "Quantity"
msgstr "Quantité"
#: apps/treasury/models.py:146
#: apps/treasury/models.py:147
msgid "Unit price"
msgstr "Prix unitaire"
#: apps/treasury/models.py:162
#: apps/treasury/models.py:163
msgid "product"
msgstr "produit"
#: apps/treasury/models.py:163
#: apps/treasury/models.py:164
msgid "products"
msgstr "produits"
#: apps/treasury/models.py:183
#: apps/treasury/models.py:184
msgid "remittance type"
msgstr "type de remise"
#: apps/treasury/models.py:184
#: apps/treasury/models.py:185
msgid "remittance types"
msgstr "types de remises"
#: apps/treasury/models.py:205
#: apps/treasury/models.py:206
msgid "Comment"
msgstr "Commentaire"
#: apps/treasury/models.py:210
#: apps/treasury/models.py:211
msgid "Closed"
msgstr "Fermée"
#: apps/treasury/models.py:214
#: apps/treasury/models.py:215
msgid "remittance"
msgstr "remise"
#: apps/treasury/models.py:215
#: apps/treasury/models.py:216
msgid "remittances"
msgstr "remises"
#: apps/treasury/models.py:248
#: apps/treasury/models.py:249
msgid "Remittance #{:d}: {}"
msgstr "Remise n°{:d} : {}"
#: apps/treasury/models.py:272
#: apps/treasury/models.py:273
msgid "special transaction proxy"
msgstr "proxy de transaction spéciale"
#: apps/treasury/models.py:273
#: apps/treasury/models.py:274
msgid "special transaction proxies"
msgstr "proxys de transactions spéciales"
#: apps/treasury/models.py:299
#: apps/treasury/models.py:300
msgid "credit transaction"
msgstr "transaction de crédit"
#: apps/treasury/models.py:432
#: apps/treasury/models.py:433
msgid ""
"This user doesn't have enough money to pay the memberships with its note. "
"Please ask her/him to credit the note before invalidating this credit."
@ -2317,16 +2321,16 @@ msgstr ""
"Cet utilisateur n'a pas assez d'argent pour payer les adhésions avec sa "
"note. Merci de lui demander de recharger sa note avant d'invalider ce crédit."
#: apps/treasury/models.py:453
#: apps/treasury/models.py:454
#: apps/treasury/templates/treasury/sogecredit_detail.html:10
msgid "Credit from the Société générale"
msgstr "Crédit de la Société générale"
#: apps/treasury/models.py:454
#: apps/treasury/models.py:455
msgid "Credits from the Société générale"
msgstr "Crédits de la Société générale"
#: apps/treasury/models.py:457
#: apps/treasury/models.py:458
#, python-brace-format
msgid "Soge credit for {user}"
msgstr "Crédit de la société générale pour l'utilisateur {user}"
@ -3566,3 +3570,6 @@ msgstr ""
"vous connecter. Vous devez vous rendre à la Kfet et payer les frais "
"d'adhésion. Vous devez également valider votre adresse email en suivant le "
"lien que vous avez reçu."
#~ msgid "Join bda Club"
#~ msgstr "Adhérer au club bda"