From 16f8a60a3f6a8d061fa290aa48b9bd675f796e61 Mon Sep 17 00:00:00 2001 From: bleizi Date: Tue, 4 Jul 2023 17:32:48 +0200 Subject: [PATCH] =?UTF-8?q?possibilit=C3=A9=20de=20l'adh=C3=A9sion=20au=20?= =?UTF-8?q?BDA=20lors=20de=20l'inscription?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/registration/forms.py | 12 ++- apps/registration/tests/test_registration.py | 5 ++ apps/registration/views.py | 27 ++++++ locale/de/LC_MESSAGES/django.po | 91 +++++++++++--------- locale/es/LC_MESSAGES/django.po | 91 +++++++++++--------- locale/fr/LC_MESSAGES/django.po | 91 +++++++++++--------- 6 files changed, 190 insertions(+), 127 deletions(-) diff --git a/apps/registration/forms.py b/apps/registration/forms.py index 64e79d52..ff05180c 100644 --- a/apps/registration/forms.py +++ b/apps/registration/forms.py @@ -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, + ) + diff --git a/apps/registration/tests/test_registration.py b/apps/registration/tests/test_registration.py index 18cf16db..8347616d 100644 --- a/apps/registration/tests/test_registration.py +++ b/apps/registration/tests/test_registration.py @@ -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) diff --git a/apps/registration/views.py b/apps/registration/views.py index b256f591..1ac49974 100644 --- a/apps/registration/views.py +++ b/apps/registration/views.py @@ -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 diff --git a/locale/de/LC_MESSAGES/django.po b/locale/de/LC_MESSAGES/django.po index 8404af4d..a76be161 100644 --- a/locale/de/LC_MESSAGES/django.po +++ b/locale/de/LC_MESSAGES/django.po @@ -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 \n" "Language-Team: German \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." diff --git a/locale/es/LC_MESSAGES/django.po b/locale/es/LC_MESSAGES/django.po index 6e204d6c..44f8edd5 100644 --- a/locale/es/LC_MESSAGES/django.po +++ b/locale/es/LC_MESSAGES/django.po @@ -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 \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." diff --git a/locale/fr/LC_MESSAGES/django.po b/locale/fr/LC_MESSAGES/django.po index fae66a14..d87031ea 100644 --- a/locale/fr/LC_MESSAGES/django.po +++ b/locale/fr/LC_MESSAGES/django.po @@ -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 \n" "Language-Team: French \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"