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:
parent
d5819ac562
commit
16f8a60a3f
@ -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,
|
||||
)
|
||||
|
||||
|
@ -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)
|
||||
|
@ -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
|
||||
|
@ -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."
|
||||
|
||||
|
@ -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."
|
||||
|
||||
|
@ -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"
|
||||
|
Loading…
Reference in New Issue
Block a user