mirror of
https://gitlab.crans.org/bde/nk20
synced 2024-11-26 18:37:12 +00:00
Merge branch 'registration2023' into 'main'
Registration2023 See merge request bde/nk20!213
This commit is contained in:
commit
b42f5afeab
@ -1,5 +1,5 @@
|
|||||||
from rest_framework.pagination import PageNumberPagination
|
from rest_framework.pagination import PageNumberPagination
|
||||||
|
|
||||||
|
|
||||||
class CustomPagination(PageNumberPagination):
|
class CustomPagination(PageNumberPagination):
|
||||||
page_size_query_param = 'page_size'
|
page_size_query_param = 'page_size'
|
||||||
|
|
||||||
|
@ -263,7 +263,7 @@ class Club(models.Model):
|
|||||||
|
|
||||||
today = datetime.date.today()
|
today = datetime.date.today()
|
||||||
|
|
||||||
if (today - self.membership_start).days >= 365:
|
while (today - self.membership_start).days >= 365:
|
||||||
if self.membership_start:
|
if self.membership_start:
|
||||||
self.membership_start = datetime.date(self.membership_start.year + 1,
|
self.membership_start = datetime.date(self.membership_start.year + 1,
|
||||||
self.membership_start.month, self.membership_start.day)
|
self.membership_start.month, self.membership_start.day)
|
||||||
|
@ -183,7 +183,7 @@ class TestMemberships(TestCase):
|
|||||||
club = Club.objects.get(name="Kfet")
|
club = Club.objects.get(name="Kfet")
|
||||||
else:
|
else:
|
||||||
club = Club.objects.create(
|
club = Club.objects.create(
|
||||||
name="Second club " + ("with BDE" if bde_parent else "without BDE"),
|
name="Second club without BDE",
|
||||||
parent_club=None,
|
parent_club=None,
|
||||||
email="newclub@example.com",
|
email="newclub@example.com",
|
||||||
require_memberships=True,
|
require_memberships=True,
|
||||||
|
@ -753,6 +753,10 @@ class ClubAddMemberView(ProtectQuerysetMixin, ProtectedCreateView):
|
|||||||
club = old_membership.club
|
club = old_membership.club
|
||||||
user = old_membership.user
|
user = old_membership.user
|
||||||
|
|
||||||
|
# Update club membership date
|
||||||
|
if PermissionBackend.check_perm(self.request, "member.change_club_membership_start", club):
|
||||||
|
club.update_membership_dates()
|
||||||
|
|
||||||
form.instance.club = club
|
form.instance.club = club
|
||||||
|
|
||||||
# Get form data
|
# Get form data
|
||||||
|
@ -325,8 +325,8 @@ class SpecialTransaction(Transaction):
|
|||||||
def clean(self):
|
def clean(self):
|
||||||
# SpecialTransaction are only possible with NoteSpecial object
|
# SpecialTransaction are only possible with NoteSpecial object
|
||||||
if self.is_credit() == self.is_debit():
|
if self.is_credit() == self.is_debit():
|
||||||
raise(ValidationError(_("A special transaction is only possible between a"
|
raise ValidationError(_("A special transaction is only possible between a"
|
||||||
" Note associated to a payment method and a User or a Club")))
|
" Note associated to a payment method and a User or a Club"))
|
||||||
|
|
||||||
@transaction.atomic
|
@transaction.atomic
|
||||||
def save(self, *args, **kwargs):
|
def save(self, *args, **kwargs):
|
||||||
|
@ -5,6 +5,7 @@ from django import forms
|
|||||||
from django.contrib.auth.forms import UserCreationForm
|
from django.contrib.auth.forms import UserCreationForm
|
||||||
from django.contrib.auth.models import User
|
from django.contrib.auth.models import User
|
||||||
from django.utils.translation import gettext_lazy as _
|
from django.utils.translation import gettext_lazy as _
|
||||||
|
from member.models import Club
|
||||||
from note.models import NoteSpecial, Alias
|
from note.models import NoteSpecial, Alias
|
||||||
from note_kfet.inputs import AmountInput
|
from note_kfet.inputs import AmountInput
|
||||||
|
|
||||||
@ -44,14 +45,14 @@ class SignUpForm(UserCreationForm):
|
|||||||
fields = ('first_name', 'last_name', 'username', 'email', )
|
fields = ('first_name', 'last_name', 'username', 'email', )
|
||||||
|
|
||||||
|
|
||||||
class DeclareSogeAccountOpenedForm(forms.Form):
|
# class DeclareSogeAccountOpenedForm(forms.Form):
|
||||||
soge_account = forms.BooleanField(
|
# soge_account = forms.BooleanField(
|
||||||
label=_("I declare that I opened or I will open soon a bank account in the Société générale with the BDE "
|
# label=_("I declare that I opened or I will open soon a bank account in the Société générale with the BDE "
|
||||||
"partnership."),
|
# "partnership."),
|
||||||
help_text=_("Warning: this engages you to open your bank account. If you finally decides to don't open your "
|
# help_text=_("Warning: this engages you to open your bank account. If you finally decides to don't open your "
|
||||||
"account, you will have to pay the BDE membership."),
|
# "account, you will have to pay the BDE membership."),
|
||||||
required=False,
|
# required=False,
|
||||||
)
|
# )
|
||||||
|
|
||||||
|
|
||||||
class WEISignupForm(forms.Form):
|
class WEISignupForm(forms.Form):
|
||||||
@ -67,11 +68,11 @@ class ValidationForm(forms.Form):
|
|||||||
"""
|
"""
|
||||||
Validate the inscription of the new users and pay memberships.
|
Validate the inscription of the new users and pay memberships.
|
||||||
"""
|
"""
|
||||||
soge = forms.BooleanField(
|
# soge = forms.BooleanField(
|
||||||
label=_("Inscription paid by Société Générale"),
|
# label=_("Inscription paid by Société Générale"),
|
||||||
required=False,
|
# required=False,
|
||||||
help_text=_("Check this case if the Société Générale paid the inscription."),
|
# help_text=_("Check this case if the Société Générale paid the inscription."),
|
||||||
)
|
# )
|
||||||
|
|
||||||
credit_type = forms.ModelChoiceField(
|
credit_type = forms.ModelChoiceField(
|
||||||
queryset=NoteSpecial.objects,
|
queryset=NoteSpecial.objects,
|
||||||
@ -114,3 +115,12 @@ class ValidationForm(forms.Form):
|
|||||||
required=False,
|
required=False,
|
||||||
initial=True,
|
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,
|
||||||
|
)
|
||||||
|
@ -57,11 +57,13 @@ SPDX-License-Identifier: GPL-3.0-or-later
|
|||||||
<h4> {% trans "Validate account" %}</h4>
|
<h4> {% trans "Validate account" %}</h4>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
{% comment "Soge not for membership (only WEI)" %}
|
||||||
{% if declare_soge_account %}
|
{% if declare_soge_account %}
|
||||||
<div class="alert alert-info">
|
<div class="alert alert-info">
|
||||||
{% trans "The user declared that he/she opened a bank account in the Société générale." %}
|
{% trans "The user declared that he/she opened a bank account in the Société générale." %}
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
{% endcomment %}
|
||||||
|
|
||||||
<div class="card-body" id="profile_infos">
|
<div class="card-body" id="profile_infos">
|
||||||
{% csrf_token %}
|
{% csrf_token %}
|
||||||
@ -76,6 +78,7 @@ SPDX-License-Identifier: GPL-3.0-or-later
|
|||||||
</div>
|
</div>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
|
{% comment "Soge not for membership (only WEI)" %}
|
||||||
{% block extrajavascript %}
|
{% block extrajavascript %}
|
||||||
<script>
|
<script>
|
||||||
soge_field = $("#id_soge");
|
soge_field = $("#id_soge");
|
||||||
@ -118,3 +121,4 @@ SPDX-License-Identifier: GPL-3.0-or-later
|
|||||||
{% endif %}
|
{% endif %}
|
||||||
</script>
|
</script>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
{% endcomment %}
|
||||||
|
@ -190,7 +190,7 @@ class TestValidateRegistration(TestCase):
|
|||||||
|
|
||||||
# BDE Membership is mandatory
|
# BDE Membership is mandatory
|
||||||
response = self.client.post(reverse("registration:future_user_detail", args=(self.user.pk,)), data=dict(
|
response = self.client.post(reverse("registration:future_user_detail", args=(self.user.pk,)), data=dict(
|
||||||
soge=False,
|
# soge=False,
|
||||||
credit_type=NoteSpecial.objects.get(special_type="Chèque").id,
|
credit_type=NoteSpecial.objects.get(special_type="Chèque").id,
|
||||||
credit_amount=4200,
|
credit_amount=4200,
|
||||||
last_name="TOTO",
|
last_name="TOTO",
|
||||||
@ -204,7 +204,7 @@ class TestValidateRegistration(TestCase):
|
|||||||
|
|
||||||
# Same
|
# Same
|
||||||
response = self.client.post(reverse("registration:future_user_detail", args=(self.user.pk,)), data=dict(
|
response = self.client.post(reverse("registration:future_user_detail", args=(self.user.pk,)), data=dict(
|
||||||
soge=False,
|
# soge=False,
|
||||||
credit_type="",
|
credit_type="",
|
||||||
credit_amount=0,
|
credit_amount=0,
|
||||||
last_name="TOTO",
|
last_name="TOTO",
|
||||||
@ -218,7 +218,7 @@ class TestValidateRegistration(TestCase):
|
|||||||
|
|
||||||
# The BDE membership is not free
|
# The BDE membership is not free
|
||||||
response = self.client.post(reverse("registration:future_user_detail", args=(self.user.pk,)), data=dict(
|
response = self.client.post(reverse("registration:future_user_detail", args=(self.user.pk,)), data=dict(
|
||||||
soge=False,
|
# soge=False,
|
||||||
credit_type=NoteSpecial.objects.get(special_type="Espèces").id,
|
credit_type=NoteSpecial.objects.get(special_type="Espèces").id,
|
||||||
credit_amount=0,
|
credit_amount=0,
|
||||||
last_name="TOTO",
|
last_name="TOTO",
|
||||||
@ -232,7 +232,7 @@ class TestValidateRegistration(TestCase):
|
|||||||
|
|
||||||
# Last and first names are required for a credit
|
# Last and first names are required for a credit
|
||||||
response = self.client.post(reverse("registration:future_user_detail", args=(self.user.pk,)), data=dict(
|
response = self.client.post(reverse("registration:future_user_detail", args=(self.user.pk,)), data=dict(
|
||||||
soge=False,
|
# soge=False,
|
||||||
credit_type=NoteSpecial.objects.get(special_type="Chèque").id,
|
credit_type=NoteSpecial.objects.get(special_type="Chèque").id,
|
||||||
credit_amount=4000,
|
credit_amount=4000,
|
||||||
last_name="",
|
last_name="",
|
||||||
@ -249,7 +249,7 @@ class TestValidateRegistration(TestCase):
|
|||||||
self.user.username = "admïntoto"
|
self.user.username = "admïntoto"
|
||||||
self.user.save()
|
self.user.save()
|
||||||
response = self.client.post(reverse("registration:future_user_detail", args=(self.user.pk,)), data=dict(
|
response = self.client.post(reverse("registration:future_user_detail", args=(self.user.pk,)), data=dict(
|
||||||
soge=False,
|
# soge=False,
|
||||||
credit_type=NoteSpecial.objects.get(special_type="Chèque").id,
|
credit_type=NoteSpecial.objects.get(special_type="Chèque").id,
|
||||||
credit_amount=500,
|
credit_amount=500,
|
||||||
last_name="TOTO",
|
last_name="TOTO",
|
||||||
@ -275,7 +275,7 @@ class TestValidateRegistration(TestCase):
|
|||||||
self.user.profile.save()
|
self.user.profile.save()
|
||||||
|
|
||||||
response = self.client.post(reverse("registration:future_user_detail", args=(self.user.pk,)), data=dict(
|
response = self.client.post(reverse("registration:future_user_detail", args=(self.user.pk,)), data=dict(
|
||||||
soge=False,
|
# soge=False,
|
||||||
credit_type=NoteSpecial.objects.get(special_type="Chèque").id,
|
credit_type=NoteSpecial.objects.get(special_type="Chèque").id,
|
||||||
credit_amount=500,
|
credit_amount=500,
|
||||||
last_name="TOTO",
|
last_name="TOTO",
|
||||||
@ -290,6 +290,7 @@ class TestValidateRegistration(TestCase):
|
|||||||
self.assertTrue(NoteUser.objects.filter(user=self.user).exists())
|
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="BDE", user=self.user).exists())
|
||||||
self.assertFalse(Membership.objects.filter(club__name="Kfet", 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.assertFalse(SogeCredit.objects.filter(user=self.user).exists())
|
||||||
self.assertEqual(Transaction.objects.filter(
|
self.assertEqual(Transaction.objects.filter(
|
||||||
Q(source=self.user.note) | Q(destination=self.user.note)).count(), 2)
|
Q(source=self.user.note) | Q(destination=self.user.note)).count(), 2)
|
||||||
@ -311,7 +312,7 @@ class TestValidateRegistration(TestCase):
|
|||||||
self.user.profile.save()
|
self.user.profile.save()
|
||||||
|
|
||||||
response = self.client.post(reverse("registration:future_user_detail", args=(self.user.pk,)), data=dict(
|
response = self.client.post(reverse("registration:future_user_detail", args=(self.user.pk,)), data=dict(
|
||||||
soge=False,
|
# soge=False,
|
||||||
credit_type=NoteSpecial.objects.get(special_type="Espèces").id,
|
credit_type=NoteSpecial.objects.get(special_type="Espèces").id,
|
||||||
credit_amount=4000,
|
credit_amount=4000,
|
||||||
last_name="TOTO",
|
last_name="TOTO",
|
||||||
@ -326,6 +327,7 @@ class TestValidateRegistration(TestCase):
|
|||||||
self.assertTrue(NoteUser.objects.filter(user=self.user).exists())
|
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="BDE", user=self.user).exists())
|
||||||
self.assertTrue(Membership.objects.filter(club__name="Kfet", 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.assertFalse(SogeCredit.objects.filter(user=self.user).exists())
|
||||||
self.assertEqual(Transaction.objects.filter(
|
self.assertEqual(Transaction.objects.filter(
|
||||||
Q(source=self.user.note) | Q(destination=self.user.note)).count(), 3)
|
Q(source=self.user.note) | Q(destination=self.user.note)).count(), 3)
|
||||||
@ -333,42 +335,43 @@ class TestValidateRegistration(TestCase):
|
|||||||
response = self.client.get(self.user.profile.get_absolute_url())
|
response = self.client.get(self.user.profile.get_absolute_url())
|
||||||
self.assertEqual(response.status_code, 200)
|
self.assertEqual(response.status_code, 200)
|
||||||
|
|
||||||
def test_validate_kfet_registration_with_soge(self):
|
# def test_validate_kfet_registration_with_soge(self):
|
||||||
"""
|
# """
|
||||||
The user joins the BDE and the Kfet, but the membership is paid by the Société générale.
|
# The user joins the BDE and the Kfet, but the membership is paid by the Société générale.
|
||||||
"""
|
# """
|
||||||
response = self.client.get(reverse("registration:future_user_detail", args=(self.user.pk,)))
|
# response = self.client.get(reverse("registration:future_user_detail", args=(self.user.pk,)))
|
||||||
self.assertEqual(response.status_code, 200)
|
# self.assertEqual(response.status_code, 200)
|
||||||
|
#
|
||||||
response = self.client.get(self.user.profile.get_absolute_url())
|
# response = self.client.get(self.user.profile.get_absolute_url())
|
||||||
self.assertEqual(response.status_code, 404)
|
# self.assertEqual(response.status_code, 404)
|
||||||
|
#
|
||||||
self.user.profile.email_confirmed = True
|
# self.user.profile.email_confirmed = True
|
||||||
self.user.profile.save()
|
# self.user.profile.save()
|
||||||
|
#
|
||||||
response = self.client.post(reverse("registration:future_user_detail", args=(self.user.pk,)), data=dict(
|
# response = self.client.post(reverse("registration:future_user_detail", args=(self.user.pk,)), data=dict(
|
||||||
soge=True,
|
# soge=True,
|
||||||
credit_type=NoteSpecial.objects.get(special_type="Espèces").id,
|
# credit_type=NoteSpecial.objects.get(special_type="Espèces").id,
|
||||||
credit_amount=4000,
|
# credit_amount=4000,
|
||||||
last_name="TOTO",
|
# last_name="TOTO",
|
||||||
first_name="Toto",
|
# first_name="Toto",
|
||||||
bank="Société générale",
|
# bank="Société générale",
|
||||||
join_bde=True,
|
# join_bde=True,
|
||||||
join_kfet=True,
|
# join_kfet=True,
|
||||||
))
|
# ))
|
||||||
self.assertRedirects(response, self.user.profile.get_absolute_url(), 302, 200)
|
# self.assertRedirects(response, self.user.profile.get_absolute_url(), 302, 200)
|
||||||
self.user.profile.refresh_from_db()
|
# self.user.profile.refresh_from_db()
|
||||||
self.assertTrue(self.user.profile.registration_valid)
|
# self.assertTrue(self.user.profile.registration_valid)
|
||||||
self.assertTrue(NoteUser.objects.filter(user=self.user).exists())
|
# 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="BDE", user=self.user).exists())
|
||||||
self.assertTrue(Membership.objects.filter(club__name="Kfet", user=self.user).exists())
|
# self.assertTrue(Membership.objects.filter(club__name="Kfet", user=self.user).exists())
|
||||||
self.assertTrue(SogeCredit.objects.filter(user=self.user).exists())
|
# self.assertFalse(Membership.objects.filter(club__name__iexact="BDA", user=self.user).exists())
|
||||||
self.assertEqual(Transaction.objects.filter(
|
# self.assertTrue(SogeCredit.objects.filter(user=self.user).exists())
|
||||||
Q(source=self.user.note) | Q(destination=self.user.note)).count(), 3)
|
# self.assertEqual(Transaction.objects.filter(
|
||||||
self.assertFalse(Transaction.objects.filter(valid=True).exists())
|
# Q(source=self.user.note) | Q(destination=self.user.note)).count(), 3)
|
||||||
|
# self.assertFalse(Transaction.objects.filter(valid=True).exists())
|
||||||
response = self.client.get(self.user.profile.get_absolute_url())
|
#
|
||||||
self.assertEqual(response.status_code, 200)
|
# response = self.client.get(self.user.profile.get_absolute_url())
|
||||||
|
# self.assertEqual(response.status_code, 200)
|
||||||
|
|
||||||
def test_invalidate_registration(self):
|
def test_invalidate_registration(self):
|
||||||
"""
|
"""
|
||||||
|
@ -24,7 +24,8 @@ from permission.models import Role
|
|||||||
from permission.views import ProtectQuerysetMixin
|
from permission.views import ProtectQuerysetMixin
|
||||||
from treasury.models import SogeCredit
|
from treasury.models import SogeCredit
|
||||||
|
|
||||||
from .forms import SignUpForm, ValidationForm, DeclareSogeAccountOpenedForm
|
# from .forms import SignUpForm, ValidationForm, DeclareSogeAccountOpenedForm
|
||||||
|
from .forms import SignUpForm, ValidationForm
|
||||||
from .tables import FutureUserTable
|
from .tables import FutureUserTable
|
||||||
from .tokens import email_validation_token
|
from .tokens import email_validation_token
|
||||||
|
|
||||||
@ -42,7 +43,7 @@ class UserCreateView(CreateView):
|
|||||||
def get_context_data(self, **kwargs):
|
def get_context_data(self, **kwargs):
|
||||||
context = super().get_context_data(**kwargs)
|
context = super().get_context_data(**kwargs)
|
||||||
context["profile_form"] = self.second_form(self.request.POST if self.request.POST else None)
|
context["profile_form"] = self.second_form(self.request.POST if self.request.POST else None)
|
||||||
context["soge_form"] = DeclareSogeAccountOpenedForm(self.request.POST if self.request.POST else None)
|
# context["soge_form"] = DeclareSogeAccountOpenedForm(self.request.POST if self.request.POST else None)
|
||||||
del context["profile_form"].fields["section"]
|
del context["profile_form"].fields["section"]
|
||||||
del context["profile_form"].fields["report_frequency"]
|
del context["profile_form"].fields["report_frequency"]
|
||||||
del context["profile_form"].fields["last_report"]
|
del context["profile_form"].fields["last_report"]
|
||||||
@ -75,12 +76,12 @@ class UserCreateView(CreateView):
|
|||||||
|
|
||||||
user.profile.send_email_validation_link()
|
user.profile.send_email_validation_link()
|
||||||
|
|
||||||
soge_form = DeclareSogeAccountOpenedForm(self.request.POST)
|
# soge_form = DeclareSogeAccountOpenedForm(self.request.POST)
|
||||||
if "soge_account" in soge_form.data and soge_form.data["soge_account"]:
|
# if "soge_account" in soge_form.data and soge_form.data["soge_account"]:
|
||||||
# If the user declares that a bank account got opened, prepare the soge credit to warn treasurers
|
# # If the user declares that a bank account got opened, prepare the soge credit to warn treasurers
|
||||||
soge_credit = SogeCredit(user=user)
|
# soge_credit = SogeCredit(user=user)
|
||||||
soge_credit._force_save = True
|
# soge_credit._force_save = True
|
||||||
soge_credit.save()
|
# soge_credit.save()
|
||||||
|
|
||||||
return super().form_valid(form)
|
return super().form_valid(form)
|
||||||
|
|
||||||
@ -237,9 +238,12 @@ class FutureUserDetailView(ProtectQuerysetMixin, LoginRequiredMixin, FormMixin,
|
|||||||
fee += bde.membership_fee_paid if user.profile.paid else bde.membership_fee_unpaid
|
fee += bde.membership_fee_paid if user.profile.paid else bde.membership_fee_unpaid
|
||||||
kfet = Club.objects.get(name="Kfet")
|
kfet = Club.objects.get(name="Kfet")
|
||||||
fee += kfet.membership_fee_paid if user.profile.paid else kfet.membership_fee_unpaid
|
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["total_fee"] = "{:.02f}".format(fee / 100, )
|
||||||
|
|
||||||
ctx["declare_soge_account"] = SogeCredit.objects.filter(user=user).exists()
|
# ctx["declare_soge_account"] = SogeCredit.objects.filter(user=user).exists()
|
||||||
|
|
||||||
return ctx
|
return ctx
|
||||||
|
|
||||||
@ -262,8 +266,13 @@ class FutureUserDetailView(ProtectQuerysetMixin, LoginRequiredMixin, FormMixin,
|
|||||||
form.add_error(None, _("An alias with a similar name already exists."))
|
form.add_error(None, _("An alias with a similar name already exists."))
|
||||||
return self.form_invalid(form)
|
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
|
# Get form data
|
||||||
soge = form.cleaned_data["soge"]
|
# soge = form.cleaned_data["soge"]
|
||||||
credit_type = form.cleaned_data["credit_type"]
|
credit_type = form.cleaned_data["credit_type"]
|
||||||
credit_amount = form.cleaned_data["credit_amount"]
|
credit_amount = form.cleaned_data["credit_amount"]
|
||||||
last_name = form.cleaned_data["last_name"]
|
last_name = form.cleaned_data["last_name"]
|
||||||
@ -271,11 +280,13 @@ class FutureUserDetailView(ProtectQuerysetMixin, LoginRequiredMixin, FormMixin,
|
|||||||
bank = form.cleaned_data["bank"]
|
bank = form.cleaned_data["bank"]
|
||||||
join_bde = form.cleaned_data["join_bde"]
|
join_bde = form.cleaned_data["join_bde"]
|
||||||
join_kfet = form.cleaned_data["join_kfet"]
|
join_kfet = form.cleaned_data["join_kfet"]
|
||||||
|
if bda_exists:
|
||||||
|
join_bda = form.cleaned_data["join_bda"]
|
||||||
|
|
||||||
if soge:
|
# if soge:
|
||||||
# If Société Générale pays the inscription, the user automatically joins the two clubs.
|
# # If Société Générale pays the inscription, the user automatically joins the two clubs.
|
||||||
join_bde = True
|
# join_bde = True
|
||||||
join_kfet = True
|
# join_kfet = True
|
||||||
|
|
||||||
if not join_bde:
|
if not join_bde:
|
||||||
# This software belongs to the BDE.
|
# This software belongs to the BDE.
|
||||||
@ -292,15 +303,21 @@ class FutureUserDetailView(ProtectQuerysetMixin, LoginRequiredMixin, FormMixin,
|
|||||||
kfet_fee = kfet.membership_fee_paid if user.profile.paid else kfet.membership_fee_unpaid
|
kfet_fee = kfet.membership_fee_paid if user.profile.paid else kfet.membership_fee_unpaid
|
||||||
# Add extra fee for the full membership
|
# Add extra fee for the full membership
|
||||||
fee += kfet_fee if join_kfet else 0
|
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
|
# # If the bank pays, then we don't credit now. Treasurers will validate the transaction
|
||||||
# and credit the note later.
|
# # and credit the note later.
|
||||||
credit_type = None if soge else credit_type
|
# credit_type = None if soge else credit_type
|
||||||
|
|
||||||
# If the user does not select any payment method, then no credit will be performed.
|
# If the user does not select any payment method, then no credit will be performed.
|
||||||
credit_amount = 0 if credit_type is None else credit_amount
|
credit_amount = 0 if credit_type is None else credit_amount
|
||||||
|
|
||||||
if fee > credit_amount and not soge:
|
# if fee > credit_amount and not soge:
|
||||||
|
if fee > credit_amount:
|
||||||
# Check if the user credits enough money
|
# Check if the user credits enough money
|
||||||
form.add_error('credit_type',
|
form.add_error('credit_type',
|
||||||
_("The entered amount is not enough for the memberships, should be at least {}")
|
_("The entered amount is not enough for the memberships, should be at least {}")
|
||||||
@ -320,12 +337,12 @@ class FutureUserDetailView(ProtectQuerysetMixin, LoginRequiredMixin, FormMixin,
|
|||||||
user.profile.save()
|
user.profile.save()
|
||||||
user.refresh_from_db()
|
user.refresh_from_db()
|
||||||
|
|
||||||
if not soge and SogeCredit.objects.filter(user=user).exists():
|
# if not soge and SogeCredit.objects.filter(user=user).exists():
|
||||||
# If the user declared that a bank account was opened but in the validation form the SoGé case was
|
# # If the user declared that a bank account was opened but in the validation form the SoGé case was
|
||||||
# unchecked, delete the associated credit
|
# # unchecked, delete the associated credit
|
||||||
soge_credit = SogeCredit.objects.get(user=user)
|
# soge_credit = SogeCredit.objects.get(user=user)
|
||||||
soge_credit._force_delete = True
|
# soge_credit._force_delete = True
|
||||||
soge_credit.delete()
|
# soge_credit.delete()
|
||||||
|
|
||||||
if credit_type is not None and credit_amount > 0:
|
if credit_type is not None and credit_amount > 0:
|
||||||
# Credit the note
|
# Credit the note
|
||||||
@ -334,7 +351,8 @@ class FutureUserDetailView(ProtectQuerysetMixin, LoginRequiredMixin, FormMixin,
|
|||||||
destination=user.note,
|
destination=user.note,
|
||||||
quantity=1,
|
quantity=1,
|
||||||
amount=credit_amount,
|
amount=credit_amount,
|
||||||
reason="Crédit " + ("Société générale" if soge else credit_type.special_type) + " (Inscription)",
|
reason="Crédit " + credit_type.special_type + " (Inscription)",
|
||||||
|
# reason="Crédit " + ("Société générale" if soge else credit_type.special_type) + " (Inscription)",
|
||||||
last_name=last_name,
|
last_name=last_name,
|
||||||
first_name=first_name,
|
first_name=first_name,
|
||||||
bank=bank,
|
bank=bank,
|
||||||
@ -348,8 +366,8 @@ class FutureUserDetailView(ProtectQuerysetMixin, LoginRequiredMixin, FormMixin,
|
|||||||
user=user,
|
user=user,
|
||||||
fee=bde_fee,
|
fee=bde_fee,
|
||||||
)
|
)
|
||||||
if soge:
|
# if soge:
|
||||||
membership._soge = True
|
# membership._soge = True
|
||||||
membership.save()
|
membership.save()
|
||||||
membership.refresh_from_db()
|
membership.refresh_from_db()
|
||||||
membership.roles.add(Role.objects.get(name="Adhérent BDE"))
|
membership.roles.add(Role.objects.get(name="Adhérent BDE"))
|
||||||
@ -362,17 +380,29 @@ class FutureUserDetailView(ProtectQuerysetMixin, LoginRequiredMixin, FormMixin,
|
|||||||
user=user,
|
user=user,
|
||||||
fee=kfet_fee,
|
fee=kfet_fee,
|
||||||
)
|
)
|
||||||
if soge:
|
# if soge:
|
||||||
membership._soge = True
|
# membership._soge = True
|
||||||
membership.save()
|
membership.save()
|
||||||
membership.refresh_from_db()
|
membership.refresh_from_db()
|
||||||
membership.roles.add(Role.objects.get(name="Adhérent Kfet"))
|
membership.roles.add(Role.objects.get(name="Adhérent Kfet"))
|
||||||
membership.save()
|
membership.save()
|
||||||
|
|
||||||
if soge:
|
if bda_exists and join_bda:
|
||||||
soge_credit = SogeCredit.objects.get(user=user)
|
# Create membership for the user to the BDA starting today
|
||||||
# Update the credit transaction amount
|
membership = Membership(
|
||||||
soge_credit.save()
|
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
|
||||||
|
# soge_credit.save()
|
||||||
|
|
||||||
return ret
|
return ret
|
||||||
|
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
# Copyright (C) 2018-2021 by BDE ENS Paris-Saclay
|
# Copyright (C) 2018-2023 by BDE ENS Paris-Saclay
|
||||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
import datetime
|
|
||||||
from datetime import date
|
from datetime import date
|
||||||
|
|
||||||
from django.conf import settings
|
from django.conf import settings
|
||||||
@ -12,7 +11,8 @@ from django.db.models import Q
|
|||||||
from django.template.loader import render_to_string
|
from django.template.loader import render_to_string
|
||||||
from django.utils import timezone
|
from django.utils import timezone
|
||||||
from django.utils.translation import gettext_lazy as _
|
from django.utils.translation import gettext_lazy as _
|
||||||
from member.models import Club, Membership
|
# from member.models import Club, Membership # Club unused because of disabled soge
|
||||||
|
from member.models import Membership
|
||||||
from note.models import NoteSpecial, SpecialTransaction, MembershipTransaction, NoteUser
|
from note.models import NoteSpecial, SpecialTransaction, MembershipTransaction, NoteUser
|
||||||
|
|
||||||
|
|
||||||
@ -326,12 +326,12 @@ class SogeCredit(models.Model):
|
|||||||
if self.valid or not self.pk:
|
if self.valid or not self.pk:
|
||||||
return
|
return
|
||||||
|
|
||||||
bde = Club.objects.get(name="BDE")
|
# Soge do not pay BDE and kfet memberships since 2022
|
||||||
kfet = Club.objects.get(name="Kfet")
|
# bde = Club.objects.get(name="BDE")
|
||||||
bde_qs = Membership.objects.filter(user=self.user, club=bde, date_start__gte=bde.membership_start)
|
# kfet = Club.objects.get(name="Kfet")
|
||||||
kfet_qs = Membership.objects.filter(user=self.user, club=kfet, date_start__gte=kfet.membership_start)
|
# bde_qs = Membership.objects.filter(user=self.user, club=bde, date_start__gte=bde.membership_start)
|
||||||
|
# kfet_qs = Membership.objects.filter(user=self.user, club=kfet, date_start__gte=kfet.membership_start)
|
||||||
|
|
||||||
## Soge do not pay BDE and kfet memberships this year (2022-2023)
|
|
||||||
# if bde_qs.exists():
|
# if bde_qs.exists():
|
||||||
# m = bde_qs.get()
|
# m = bde_qs.get()
|
||||||
# if MembershipTransaction.objects.filter(membership=m).exists(): # non-free membership
|
# if MembershipTransaction.objects.filter(membership=m).exists(): # non-free membership
|
||||||
@ -388,7 +388,6 @@ class SogeCredit(models.Model):
|
|||||||
for tr in self.transactions.all():
|
for tr in self.transactions.all():
|
||||||
tr.valid = True
|
tr.valid = True
|
||||||
tr._force_save = True
|
tr._force_save = True
|
||||||
tr.created_at = timezone.now()
|
|
||||||
tr.save()
|
tr.save()
|
||||||
|
|
||||||
@transaction.atomic
|
@transaction.atomic
|
||||||
@ -437,12 +436,11 @@ class SogeCredit(models.Model):
|
|||||||
for tr in self.transactions.all():
|
for tr in self.transactions.all():
|
||||||
tr._force_save = True
|
tr._force_save = True
|
||||||
tr.valid = True
|
tr.valid = True
|
||||||
tr.created_at = timezone.now()
|
|
||||||
tr.save()
|
tr.save()
|
||||||
if self.credit_transaction:
|
if self.credit_transaction:
|
||||||
# If the soge credit is deleted while the user is not validated yet,
|
# If the soge credit is deleted while the user is not validated yet,
|
||||||
# there is not credit transaction.
|
# there is not credit transaction.
|
||||||
# There is a credit transaction iff the user declares that no bank account
|
# There is a credit transaction if the user declares that no bank account
|
||||||
# was opened after the validation of the account.
|
# was opened after the validation of the account.
|
||||||
self.credit_transaction.valid = False
|
self.credit_transaction.valid = False
|
||||||
self.credit_transaction.reason += " (invalide)"
|
self.credit_transaction.reason += " (invalide)"
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
# Copyright (C) 2018-2021 by BDE ENS Paris-Saclay
|
# Copyright (C) 2018-2023 by BDE ENS Paris-Saclay
|
||||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
|
||||||
from django import forms
|
from django import forms
|
||||||
@ -38,7 +38,7 @@ class WEIRegistrationForm(forms.ModelForm):
|
|||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = WEIRegistration
|
model = WEIRegistration
|
||||||
exclude = ('wei', )
|
exclude = ('wei', 'clothing_cut')
|
||||||
widgets = {
|
widgets = {
|
||||||
"user": Autocomplete(
|
"user": Autocomplete(
|
||||||
User,
|
User,
|
||||||
|
@ -148,7 +148,7 @@ class WEISurvey2021(WEISurvey):
|
|||||||
buses = cls.get_algorithm_class().get_buses()
|
buses = cls.get_algorithm_class().get_buses()
|
||||||
return sum([cls.get_algorithm_class().get_bus_information(bus).scores[word] for bus in buses]) / buses.count()
|
return sum([cls.get_algorithm_class().get_bus_information(bus).scores[word] for bus in buses]) / buses.count()
|
||||||
|
|
||||||
@lru_cache()
|
# @lru_cache
|
||||||
def score(self, bus):
|
def score(self, bus):
|
||||||
if not self.is_complete():
|
if not self.is_complete():
|
||||||
raise ValueError("Survey is not ended, can't calculate score")
|
raise ValueError("Survey is not ended, can't calculate score")
|
||||||
@ -159,11 +159,11 @@ class WEISurvey2021(WEISurvey):
|
|||||||
- self.word_mean(getattr(self.information, 'word' + str(i))) for i in range(1, 21)) / 20
|
- self.word_mean(getattr(self.information, 'word' + str(i))) for i in range(1, 21)) / 20
|
||||||
return s
|
return s
|
||||||
|
|
||||||
@lru_cache()
|
# @lru_cache()
|
||||||
def scores_per_bus(self):
|
def scores_per_bus(self):
|
||||||
return {bus: self.score(bus) for bus in self.get_algorithm_class().get_buses()}
|
return {bus: self.score(bus) for bus in self.get_algorithm_class().get_buses()}
|
||||||
|
|
||||||
@lru_cache()
|
# @lru_cache()
|
||||||
def ordered_buses(self):
|
def ordered_buses(self):
|
||||||
values = list(self.scores_per_bus().items())
|
values = list(self.scores_per_bus().items())
|
||||||
values.sort(key=lambda item: -item[1])
|
values.sort(key=lambda item: -item[1])
|
||||||
|
@ -14,17 +14,17 @@ from .base import WEISurvey, WEISurveyInformation, WEISurveyAlgorithm, WEIBusInf
|
|||||||
from ...models import WEIMembership
|
from ...models import WEIMembership
|
||||||
|
|
||||||
WORDS = [
|
WORDS = [
|
||||||
'ABBA', 'After', 'Alcoolique anonyme', 'Ambiance festive', 'Années 2000', 'Apéro', 'Art',
|
'ABBA', 'After', 'Alcoolique anonyme', 'Ambiance festive', 'Années 2000', 'Apéro', 'Art',
|
||||||
'Baby foot billard biere pong', 'BBQ', 'Before', 'Bière pong', 'Bon enfant', 'Calme', 'Canapé',
|
'Baby foot billard biere pong', 'BBQ', 'Before', 'Bière pong', 'Bon enfant', 'Calme', 'Canapé',
|
||||||
'Chanson paillarde', 'Chanson populaire', 'Chartreuse', 'Cheerleader', 'Chill', 'Choré',
|
'Chanson paillarde', 'Chanson populaire', 'Chartreuse', 'Cheerleader', 'Chill', 'Choré',
|
||||||
'Cinéma', 'Cocktail', 'Comédie musicle', 'Commercial', 'Copaing', 'Danse', 'Dancefloor',
|
'Cinéma', 'Cocktail', 'Comédie musicle', 'Commercial', 'Copaing', 'Danse', 'Dancefloor',
|
||||||
'Electro', 'Fanfare', 'Gin tonic', 'Inclusif', 'Jazz', "Jeux d'alcool", 'Jeux de carte',
|
'Electro', 'Fanfare', 'Gin tonic', 'Inclusif', 'Jazz', "Jeux d'alcool", 'Jeux de carte',
|
||||||
'Jeux de rôle', 'Jeux de société', 'JUL', 'Jus de fruit', 'Kfet', 'Kleptomanie assurée',
|
'Jeux de rôle', 'Jeux de société', 'JUL', 'Jus de fruit', 'Kfet', 'Kleptomanie assurée',
|
||||||
'LGBTQ+', 'Livre', 'Morning beer', 'Musique', 'NAPS', 'Paillettes', 'Pastis', 'Paté Hénaff',
|
'LGBTQ+', 'Livre', 'Morning beer', 'Musique', 'NAPS', 'Paillettes', 'Pastis', 'Paté Hénaff',
|
||||||
'Peluche', 'Pena baiona', "Peu d'alcool", 'Pilier de bar', 'PMU', 'Poulpe', 'Punch', 'Rap',
|
'Peluche', 'Pena baiona', "Peu d'alcool", 'Pilier de bar', 'PMU', 'Poulpe', 'Punch', 'Rap',
|
||||||
'Réveil', 'Rock', 'Rugby', 'Sandwich', 'Serge', 'Shot', 'Sociable', 'Spectacle', 'Techno',
|
'Réveil', 'Rock', 'Rugby', 'Sandwich', 'Serge', 'Shot', 'Sociable', 'Spectacle', 'Techno',
|
||||||
'Techno house', 'Thérapie Taxi', 'Tradition kchanaises', 'Troisième mi-temps', 'Turn up',
|
'Techno house', 'Thérapie Taxi', 'Tradition kchanaises', 'Troisième mi-temps', 'Turn up',
|
||||||
'Vodka', 'Vodka pomme', 'Volley', 'Vomi stratégique'
|
'Vodka', 'Vodka pomme', 'Volley', 'Vomi stratégique'
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
@ -151,7 +151,7 @@ class WEISurvey2022(WEISurvey):
|
|||||||
buses = cls.get_algorithm_class().get_buses()
|
buses = cls.get_algorithm_class().get_buses()
|
||||||
return sum([cls.get_algorithm_class().get_bus_information(bus).scores[word] for bus in buses]) / buses.count()
|
return sum([cls.get_algorithm_class().get_bus_information(bus).scores[word] for bus in buses]) / buses.count()
|
||||||
|
|
||||||
@lru_cache()
|
# @lru_cache()
|
||||||
def score(self, bus):
|
def score(self, bus):
|
||||||
if not self.is_complete():
|
if not self.is_complete():
|
||||||
raise ValueError("Survey is not ended, can't calculate score")
|
raise ValueError("Survey is not ended, can't calculate score")
|
||||||
@ -162,11 +162,11 @@ class WEISurvey2022(WEISurvey):
|
|||||||
- self.word_mean(getattr(self.information, 'word' + str(i))) for i in range(1, 21)) / 20
|
- self.word_mean(getattr(self.information, 'word' + str(i))) for i in range(1, 21)) / 20
|
||||||
return s
|
return s
|
||||||
|
|
||||||
@lru_cache()
|
# @lru_cache()
|
||||||
def scores_per_bus(self):
|
def scores_per_bus(self):
|
||||||
return {bus: self.score(bus) for bus in self.get_algorithm_class().get_buses()}
|
return {bus: self.score(bus) for bus in self.get_algorithm_class().get_buses()}
|
||||||
|
|
||||||
@lru_cache()
|
# @lru_cache()
|
||||||
def ordered_buses(self):
|
def ordered_buses(self):
|
||||||
values = list(self.scores_per_bus().items())
|
values = list(self.scores_per_bus().items())
|
||||||
values.sort(key=lambda item: -item[1])
|
values.sort(key=lambda item: -item[1])
|
||||||
|
18
apps/wei/migrations/0006_unisex_clothing_cut.py
Normal file
18
apps/wei/migrations/0006_unisex_clothing_cut.py
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
# Generated by Django 2.2.28 on 2023-07-09 09:51
|
||||||
|
|
||||||
|
from django.db import migrations, models
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('wei', '0005_auto_20230128_1850'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='weiregistration',
|
||||||
|
name='clothing_cut',
|
||||||
|
field=models.CharField(choices=[('male', 'Male'), ('female', 'Female'), ('unisex', 'Unisex')], default='unisex', max_length=16, verbose_name='clothing cut'),
|
||||||
|
),
|
||||||
|
]
|
18
apps/wei/migrations/0007_help_text_emergency_contact.py
Normal file
18
apps/wei/migrations/0007_help_text_emergency_contact.py
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
# Generated by Django 2.2.28 on 2023-07-09 12:46
|
||||||
|
|
||||||
|
from django.db import migrations, models
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('wei', '0006_unisex_clothing_cut'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='weiregistration',
|
||||||
|
name='emergency_contact_name',
|
||||||
|
field=models.CharField(help_text='The emergency contact must not be a WEI participant', max_length=255, verbose_name='emergency contact name'),
|
||||||
|
),
|
||||||
|
]
|
@ -1,4 +1,4 @@
|
|||||||
# Copyright (C) 2018-2021 by BDE ENS Paris-Saclay
|
# Copyright (C) 2018-2023 by BDE ENS Paris-Saclay
|
||||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
|
||||||
import json
|
import json
|
||||||
@ -209,7 +209,9 @@ class WEIRegistration(models.Model):
|
|||||||
choices=(
|
choices=(
|
||||||
('male', _("Male")),
|
('male', _("Male")),
|
||||||
('female', _("Female")),
|
('female', _("Female")),
|
||||||
|
('unisex', _("Unisex")),
|
||||||
),
|
),
|
||||||
|
default='unisex',
|
||||||
verbose_name=_("clothing cut"),
|
verbose_name=_("clothing cut"),
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -235,6 +237,7 @@ class WEIRegistration(models.Model):
|
|||||||
emergency_contact_name = models.CharField(
|
emergency_contact_name = models.CharField(
|
||||||
max_length=255,
|
max_length=255,
|
||||||
verbose_name=_("emergency contact name"),
|
verbose_name=_("emergency contact name"),
|
||||||
|
help_text=_("The emergency contact must not be a WEI participant")
|
||||||
)
|
)
|
||||||
|
|
||||||
emergency_contact_phone = PhoneNumberField(
|
emergency_contact_phone = PhoneNumberField(
|
||||||
|
@ -56,7 +56,7 @@ SPDX-License-Identifier: GPL-3.0-or-later
|
|||||||
<dd class="col-xl-6">{{ registration.get_gender_display }}</dd>
|
<dd class="col-xl-6">{{ registration.get_gender_display }}</dd>
|
||||||
|
|
||||||
<dt class="col-xl-6">{% trans 'clothing cut'|capfirst %}</dt>
|
<dt class="col-xl-6">{% trans 'clothing cut'|capfirst %}</dt>
|
||||||
<dd class="col-xl-6">{{ registration.clothing_cut }}</dd>
|
<dd class="col-xl-6">{{ registration.get_clothing_cut_display }}</dd>
|
||||||
|
|
||||||
<dt class="col-xl-6">{% trans 'clothing size'|capfirst %}</dt>
|
<dt class="col-xl-6">{% trans 'clothing size'|capfirst %}</dt>
|
||||||
<dd class="col-xl-6">{{ registration.clothing_size }}</dd>
|
<dd class="col-xl-6">{{ registration.clothing_size }}</dd>
|
||||||
|
@ -448,6 +448,10 @@ Options
|
|||||||
"value": "female",
|
"value": "female",
|
||||||
"display_name": "Femme"
|
"display_name": "Femme"
|
||||||
}
|
}
|
||||||
|
{
|
||||||
|
"value": "unisex",
|
||||||
|
"display_name": "Unisexe"
|
||||||
|
},
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"clothing_size": {
|
"clothing_size": {
|
||||||
|
@ -7,7 +7,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: \n"
|
"Project-Id-Version: \n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2023-03-31 17:08+0200\n"
|
"POT-Creation-Date: 2023-07-09 14:46+0200\n"
|
||||||
"PO-Revision-Date: 2020-11-16 20:02+0000\n"
|
"PO-Revision-Date: 2020-11-16 20:02+0000\n"
|
||||||
"Last-Translator: bleizi <bleizi@crans.org>\n"
|
"Last-Translator: bleizi <bleizi@crans.org>\n"
|
||||||
"Language-Team: German <http://translate.ynerant.fr/projects/nk20/nk20/de/>\n"
|
"Language-Team: German <http://translate.ynerant.fr/projects/nk20/nk20/de/>\n"
|
||||||
@ -115,7 +115,7 @@ msgid "type"
|
|||||||
msgstr "Type"
|
msgstr "Type"
|
||||||
|
|
||||||
#: apps/activity/models.py:89 apps/logs/models.py:22 apps/member/models.py:307
|
#: 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/models.py:173 apps/wei/templates/wei/attribute_bus_1A.html:13
|
||||||
#: apps/wei/templates/wei/survey.html:15
|
#: apps/wei/templates/wei/survey.html:15
|
||||||
msgid "user"
|
msgid "user"
|
||||||
@ -258,19 +258,19 @@ msgstr "Eingetreten um "
|
|||||||
msgid "remove"
|
msgid "remove"
|
||||||
msgstr "entfernen"
|
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"
|
msgid "Type"
|
||||||
msgstr "Type"
|
msgstr "Type"
|
||||||
|
|
||||||
#: apps/activity/tables.py:84 apps/member/forms.py:186
|
#: apps/activity/tables.py:84 apps/member/forms.py:186
|
||||||
#: apps/registration/forms.py:91 apps/treasury/forms.py:131
|
#: apps/registration/forms.py:92 apps/treasury/forms.py:131
|
||||||
#: apps/wei/forms/registration.py:104
|
#: apps/wei/forms/registration.py:104
|
||||||
msgid "Last name"
|
msgid "Last name"
|
||||||
msgstr "Nachname"
|
msgstr "Nachname"
|
||||||
|
|
||||||
#: apps/activity/tables.py:86 apps/member/forms.py:191
|
#: apps/activity/tables.py:86 apps/member/forms.py:191
|
||||||
#: apps/note/templates/note/transaction_form.html:138
|
#: apps/note/templates/note/transaction_form.html:138
|
||||||
#: apps/registration/forms.py:96 apps/treasury/forms.py:133
|
#: apps/registration/forms.py:97 apps/treasury/forms.py:133
|
||||||
#: apps/wei/forms/registration.py:109
|
#: apps/wei/forms/registration.py:109
|
||||||
msgid "First name"
|
msgid "First name"
|
||||||
msgstr "Vorname"
|
msgstr "Vorname"
|
||||||
@ -549,24 +549,24 @@ msgid "This image cannot be loaded."
|
|||||||
msgstr "Dieses Bild kann nicht geladen werden."
|
msgstr "Dieses Bild kann nicht geladen werden."
|
||||||
|
|
||||||
#: apps/member/forms.py:141 apps/member/views.py:103
|
#: apps/member/forms.py:141 apps/member/views.py:103
|
||||||
#: apps/registration/forms.py:33 apps/registration/views.py:262
|
#: apps/registration/forms.py:34 apps/registration/views.py:266
|
||||||
msgid "An alias with a similar name already exists."
|
msgid "An alias with a similar name already exists."
|
||||||
msgstr "Ein ähnliches Alias ist schon benutzt."
|
msgstr "Ein ähnliches Alias ist schon benutzt."
|
||||||
|
|
||||||
#: apps/member/forms.py:165 apps/registration/forms.py:71
|
#: apps/member/forms.py:165
|
||||||
msgid "Inscription paid by Société Générale"
|
msgid "Inscription paid by Société Générale"
|
||||||
msgstr "Mitgliedschaft von der Société Générale bezahlt"
|
msgstr "Mitgliedschaft von der Société Générale bezahlt"
|
||||||
|
|
||||||
#: apps/member/forms.py:167 apps/registration/forms.py:73
|
#: apps/member/forms.py:167
|
||||||
msgid "Check this case if the Société Générale paid the inscription."
|
msgid "Check this case if the Société Générale paid the inscription."
|
||||||
msgstr "Die Société Générale die Mitgliedschaft bezahlt."
|
msgstr "Die Société Générale die Mitgliedschaft bezahlt."
|
||||||
|
|
||||||
#: apps/member/forms.py:172 apps/registration/forms.py:78
|
#: apps/member/forms.py:172 apps/registration/forms.py:79
|
||||||
#: apps/wei/forms/registration.py:91
|
#: apps/wei/forms/registration.py:91
|
||||||
msgid "Credit type"
|
msgid "Credit type"
|
||||||
msgstr "Kredittype"
|
msgstr "Kredittype"
|
||||||
|
|
||||||
#: apps/member/forms.py:173 apps/registration/forms.py:79
|
#: apps/member/forms.py:173 apps/registration/forms.py:80
|
||||||
#: apps/wei/forms/registration.py:92
|
#: apps/wei/forms/registration.py:92
|
||||||
msgid "No credit"
|
msgid "No credit"
|
||||||
msgstr "Kein Kredit"
|
msgstr "Kein Kredit"
|
||||||
@ -575,13 +575,13 @@ msgstr "Kein Kredit"
|
|||||||
msgid "You can credit the note of the user."
|
msgid "You can credit the note of the user."
|
||||||
msgstr "Sie dûrfen diese Note kreditieren."
|
msgstr "Sie dûrfen diese Note kreditieren."
|
||||||
|
|
||||||
#: apps/member/forms.py:179 apps/registration/forms.py:84
|
#: apps/member/forms.py:179 apps/registration/forms.py:85
|
||||||
#: apps/wei/forms/registration.py:97
|
#: apps/wei/forms/registration.py:97
|
||||||
msgid "Credit amount"
|
msgid "Credit amount"
|
||||||
msgstr "Kreditanzahl"
|
msgstr "Kreditanzahl"
|
||||||
|
|
||||||
#: apps/member/forms.py:196 apps/note/templates/note/transaction_form.html:144
|
#: apps/member/forms.py:196 apps/note/templates/note/transaction_form.html:144
|
||||||
#: apps/registration/forms.py:101 apps/treasury/forms.py:135
|
#: apps/registration/forms.py:102 apps/treasury/forms.py:135
|
||||||
#: apps/wei/forms/registration.py:114
|
#: apps/wei/forms/registration.py:114
|
||||||
msgid "Bank"
|
msgid "Bank"
|
||||||
msgstr "Bank"
|
msgstr "Bank"
|
||||||
@ -1193,7 +1193,7 @@ msgstr "Speichern"
|
|||||||
msgid "Registrations"
|
msgid "Registrations"
|
||||||
msgstr "Anmeldung"
|
msgstr "Anmeldung"
|
||||||
|
|
||||||
#: apps/member/views.py:73 apps/registration/forms.py:23
|
#: apps/member/views.py:73 apps/registration/forms.py:24
|
||||||
msgid "This address must be valid."
|
msgid "This address must be valid."
|
||||||
msgstr "Diese Adresse muss gültig sein."
|
msgstr "Diese Adresse muss gültig sein."
|
||||||
|
|
||||||
@ -1249,11 +1249,11 @@ msgstr "Die Mitgliedschaft muss nach {:%m-%d-Y} anfängen."
|
|||||||
msgid "The membership must begin before {:%m-%d-%Y}."
|
msgid "The membership must begin before {:%m-%d-%Y}."
|
||||||
msgstr "Die Mitgliedschaft muss vor {:%m-%d-Y} anfängen."
|
msgstr "Die Mitgliedschaft muss vor {:%m-%d-Y} anfängen."
|
||||||
|
|
||||||
#: apps/member/views.py:876
|
#: apps/member/views.py:880
|
||||||
msgid "Manage roles of an user in the club"
|
msgid "Manage roles of an user in the club"
|
||||||
msgstr "Rollen in diesen Club bearbeiten"
|
msgstr "Rollen in diesen Club bearbeiten"
|
||||||
|
|
||||||
#: apps/member/views.py:901
|
#: apps/member/views.py:905
|
||||||
msgid "Members of the club"
|
msgid "Members of the club"
|
||||||
msgstr "Mitlglieder dieses Club"
|
msgstr "Mitlglieder dieses Club"
|
||||||
|
|
||||||
@ -1570,7 +1570,7 @@ msgstr "Sondertranskationen"
|
|||||||
msgid "membership transaction"
|
msgid "membership transaction"
|
||||||
msgstr "Mitgliedschafttransaktion"
|
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"
|
msgid "membership transactions"
|
||||||
msgstr "Mitgliedschaftttransaktionen"
|
msgstr "Mitgliedschaftttransaktionen"
|
||||||
|
|
||||||
@ -1689,7 +1689,7 @@ msgid "Amount"
|
|||||||
msgstr "Anzahl"
|
msgstr "Anzahl"
|
||||||
|
|
||||||
#: apps/note/templates/note/transaction_form.html:132
|
#: apps/note/templates/note/transaction_form.html:132
|
||||||
#: apps/treasury/models.py:55
|
#: apps/treasury/models.py:56
|
||||||
msgid "Name"
|
msgid "Name"
|
||||||
msgstr "Name"
|
msgstr "Name"
|
||||||
|
|
||||||
@ -1982,29 +1982,15 @@ msgstr "Alle Rechten"
|
|||||||
msgid "registration"
|
msgid "registration"
|
||||||
msgstr "Anmeldung"
|
msgstr "Anmeldung"
|
||||||
|
|
||||||
#: apps/registration/forms.py:39
|
#: apps/registration/forms.py:40
|
||||||
msgid "This email address is already used."
|
msgid "This email address is already used."
|
||||||
msgstr "Diese email adresse ist schon benutzt."
|
msgstr "Diese email adresse ist schon benutzt."
|
||||||
|
|
||||||
#: apps/registration/forms.py:49
|
#: apps/registration/forms.py:60
|
||||||
#, fuzzy
|
|
||||||
#| msgid "You already opened an account in the Société générale."
|
|
||||||
msgid ""
|
|
||||||
"I declare that I opened or I will open soon a bank account in the Société "
|
|
||||||
"générale with the BDE partnership."
|
|
||||||
msgstr "Sie haben bereits ein Konto in der Société générale eröffnet."
|
|
||||||
|
|
||||||
#: apps/registration/forms.py:51
|
|
||||||
msgid ""
|
|
||||||
"Warning: this engages you to open your bank account. If you finally decides "
|
|
||||||
"to don't open your account, you will have to pay the BDE membership."
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: apps/registration/forms.py:59
|
|
||||||
msgid "Register to the WEI"
|
msgid "Register to the WEI"
|
||||||
msgstr "Zu WEI anmelden"
|
msgstr "Zu WEI anmelden"
|
||||||
|
|
||||||
#: apps/registration/forms.py:61
|
#: apps/registration/forms.py:62
|
||||||
msgid ""
|
msgid ""
|
||||||
"Check this case if you want to register to the WEI. If you hesitate, you "
|
"Check this case if you want to register to the WEI. If you hesitate, you "
|
||||||
"will be able to register later, after validating your account in the Kfet."
|
"will be able to register later, after validating your account in the Kfet."
|
||||||
@ -2013,14 +1999,18 @@ msgstr ""
|
|||||||
"falls Zweifel, können Sie sich später nach Bestätigung Ihres Kontos im Kfet "
|
"falls Zweifel, können Sie sich später nach Bestätigung Ihres Kontos im Kfet "
|
||||||
"registrieren."
|
"registrieren."
|
||||||
|
|
||||||
#: apps/registration/forms.py:106
|
#: apps/registration/forms.py:107
|
||||||
msgid "Join BDE Club"
|
msgid "Join BDE Club"
|
||||||
msgstr "BDE Mitglieder werden"
|
msgstr "BDE Mitglieder werden"
|
||||||
|
|
||||||
#: apps/registration/forms.py:113
|
#: apps/registration/forms.py:114
|
||||||
msgid "Join Kfet Club"
|
msgid "Join Kfet Club"
|
||||||
msgstr "Kfet Mitglieder werden"
|
msgstr "Kfet Mitglieder werden"
|
||||||
|
|
||||||
|
#: apps/registration/forms.py:123
|
||||||
|
msgid "Join BDA Club"
|
||||||
|
msgstr "BDA Mitglieder werden"
|
||||||
|
|
||||||
#: apps/registration/templates/registration/email_validation_complete.html:15
|
#: apps/registration/templates/registration/email_validation_complete.html:15
|
||||||
msgid "Your email have successfully been validated."
|
msgid "Your email have successfully been validated."
|
||||||
msgstr "Ihre E-Mail wurde erfolgreich validiert."
|
msgstr "Ihre E-Mail wurde erfolgreich validiert."
|
||||||
@ -2069,14 +2059,14 @@ msgstr "Registrierung löschen"
|
|||||||
msgid "Validate account"
|
msgid "Validate account"
|
||||||
msgstr "Konto validieren"
|
msgstr "Konto validieren"
|
||||||
|
|
||||||
#: apps/registration/templates/registration/future_profile_detail.html:62
|
#: apps/registration/templates/registration/future_profile_detail.html:63
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
#| msgid "You already opened an account in the Société générale."
|
#| msgid "You already opened an account in the Société générale."
|
||||||
msgid ""
|
msgid ""
|
||||||
"The user declared that he/she opened a bank account in the Société générale."
|
"The user declared that he/she opened a bank account in the Société générale."
|
||||||
msgstr "Sie haben bereits ein Konto in der Société générale eröffnet."
|
msgstr "Sie haben bereits ein Konto in der Société générale eröffnet."
|
||||||
|
|
||||||
#: apps/registration/templates/registration/future_profile_detail.html:71
|
#: apps/registration/templates/registration/future_profile_detail.html:73
|
||||||
#: apps/wei/templates/wei/weimembership_form.html:127
|
#: apps/wei/templates/wei/weimembership_form.html:127
|
||||||
#: apps/wei/templates/wei/weimembership_form.html:186
|
#: apps/wei/templates/wei/weimembership_form.html:186
|
||||||
msgid "Validate registration"
|
msgid "Validate registration"
|
||||||
@ -2128,54 +2118,54 @@ msgstr "Danke"
|
|||||||
msgid "The Note Kfet team."
|
msgid "The Note Kfet team."
|
||||||
msgstr "Die NoteKfet Team."
|
msgstr "Die NoteKfet Team."
|
||||||
|
|
||||||
#: apps/registration/views.py:40
|
#: apps/registration/views.py:41
|
||||||
msgid "Register new user"
|
msgid "Register new user"
|
||||||
msgstr "Neuen User registrieren"
|
msgstr "Neuen User registrieren"
|
||||||
|
|
||||||
#: apps/registration/views.py:98
|
#: apps/registration/views.py:99
|
||||||
msgid "Email validation"
|
msgid "Email validation"
|
||||||
msgstr "Email validierung"
|
msgstr "Email validierung"
|
||||||
|
|
||||||
#: apps/registration/views.py:100
|
#: apps/registration/views.py:101
|
||||||
msgid "Validate email"
|
msgid "Validate email"
|
||||||
msgstr "Email validieren"
|
msgstr "Email validieren"
|
||||||
|
|
||||||
#: apps/registration/views.py:144
|
#: apps/registration/views.py:145
|
||||||
msgid "Email validation unsuccessful"
|
msgid "Email validation unsuccessful"
|
||||||
msgstr "Email validierung unerfolgreich"
|
msgstr "Email validierung unerfolgreich"
|
||||||
|
|
||||||
#: apps/registration/views.py:155
|
#: apps/registration/views.py:156
|
||||||
msgid "Email validation email sent"
|
msgid "Email validation email sent"
|
||||||
msgstr "Validierungsemail wurde gesendet"
|
msgstr "Validierungsemail wurde gesendet"
|
||||||
|
|
||||||
#: apps/registration/views.py:163
|
#: apps/registration/views.py:164
|
||||||
msgid "Resend email validation link"
|
msgid "Resend email validation link"
|
||||||
msgstr "E-Mail-Validierungslink erneut senden"
|
msgstr "E-Mail-Validierungslink erneut senden"
|
||||||
|
|
||||||
#: apps/registration/views.py:181
|
#: apps/registration/views.py:182
|
||||||
msgid "Pre-registered users list"
|
msgid "Pre-registered users list"
|
||||||
msgstr "Vorregistrierte Userliste"
|
msgstr "Vorregistrierte Userliste"
|
||||||
|
|
||||||
#: apps/registration/views.py:205
|
#: apps/registration/views.py:206
|
||||||
msgid "Unregistered users"
|
msgid "Unregistered users"
|
||||||
msgstr "Unregistrierte Users"
|
msgstr "Unregistrierte Users"
|
||||||
|
|
||||||
#: apps/registration/views.py:218
|
#: apps/registration/views.py:219
|
||||||
msgid "Registration detail"
|
msgid "Registration detail"
|
||||||
msgstr "Registrierung Detailen"
|
msgstr "Registrierung Detailen"
|
||||||
|
|
||||||
#: apps/registration/views.py:282
|
#: apps/registration/views.py:293
|
||||||
msgid "You must join the BDE."
|
msgid "You must join the BDE."
|
||||||
msgstr "Sie müssen die BDE beitreten."
|
msgstr "Sie müssen die BDE beitreten."
|
||||||
|
|
||||||
#: apps/registration/views.py:306
|
#: apps/registration/views.py:323
|
||||||
msgid ""
|
msgid ""
|
||||||
"The entered amount is not enough for the memberships, should be at least {}"
|
"The entered amount is not enough for the memberships, should be at least {}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Der eingegebene Betrag reicht für die Mitgliedschaft nicht aus, sollte "
|
"Der eingegebene Betrag reicht für die Mitgliedschaft nicht aus, sollte "
|
||||||
"mindestens {} betragen"
|
"mindestens {} betragen"
|
||||||
|
|
||||||
#: apps/registration/views.py:387
|
#: apps/registration/views.py:417
|
||||||
msgid "Invalidate pre-registration"
|
msgid "Invalidate pre-registration"
|
||||||
msgstr "Ungültige Vorregistrierung"
|
msgstr "Ungültige Vorregistrierung"
|
||||||
|
|
||||||
@ -2183,7 +2173,7 @@ msgstr "Ungültige Vorregistrierung"
|
|||||||
msgid "Treasury"
|
msgid "Treasury"
|
||||||
msgstr "Quaestor"
|
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
|
#: apps/treasury/templates/treasury/invoice_form.html:22
|
||||||
msgid "This invoice is locked and can no longer be edited."
|
msgid "This invoice is locked and can no longer be edited."
|
||||||
msgstr "Diese Rechnung ist gesperrt und kann nicht mehr bearbeitet werden."
|
msgstr "Diese Rechnung ist gesperrt und kann nicht mehr bearbeitet werden."
|
||||||
@ -2196,7 +2186,7 @@ msgstr "Überweisung ist bereits geschlossen."
|
|||||||
msgid "You can't change the type of the remittance."
|
msgid "You can't change the type of the remittance."
|
||||||
msgstr "Sie können die Art der Überweisung nicht ändern."
|
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/tables.py:97 apps/treasury/tables.py:105
|
||||||
#: apps/treasury/templates/treasury/invoice_list.html:16
|
#: apps/treasury/templates/treasury/invoice_list.html:16
|
||||||
#: apps/treasury/templates/treasury/remittance_list.html:16
|
#: apps/treasury/templates/treasury/remittance_list.html:16
|
||||||
@ -2212,112 +2202,112 @@ msgstr "Keine beigefügte Überweisung"
|
|||||||
msgid "Invoice identifier"
|
msgid "Invoice identifier"
|
||||||
msgstr "Rechnungskennung"
|
msgstr "Rechnungskennung"
|
||||||
|
|
||||||
#: apps/treasury/models.py:41
|
#: apps/treasury/models.py:42
|
||||||
msgid "BDE"
|
msgid "BDE"
|
||||||
msgstr "BDE"
|
msgstr "BDE"
|
||||||
|
|
||||||
#: apps/treasury/models.py:46
|
#: apps/treasury/models.py:47
|
||||||
msgid "Object"
|
msgid "Object"
|
||||||
msgstr "Objekt"
|
msgstr "Objekt"
|
||||||
|
|
||||||
#: apps/treasury/models.py:50
|
#: apps/treasury/models.py:51
|
||||||
msgid "Description"
|
msgid "Description"
|
||||||
msgstr "Beschreibung"
|
msgstr "Beschreibung"
|
||||||
|
|
||||||
#: apps/treasury/models.py:59
|
#: apps/treasury/models.py:60
|
||||||
msgid "Address"
|
msgid "Address"
|
||||||
msgstr "Adresse"
|
msgstr "Adresse"
|
||||||
|
|
||||||
#: apps/treasury/models.py:64 apps/treasury/models.py:194
|
#: apps/treasury/models.py:65 apps/treasury/models.py:195
|
||||||
msgid "Date"
|
msgid "Date"
|
||||||
msgstr "Datum"
|
msgstr "Datum"
|
||||||
|
|
||||||
#: apps/treasury/models.py:68
|
#: apps/treasury/models.py:69
|
||||||
msgid "Acquitted"
|
msgid "Acquitted"
|
||||||
msgstr "Bezahlt"
|
msgstr "Bezahlt"
|
||||||
|
|
||||||
#: apps/treasury/models.py:73
|
#: apps/treasury/models.py:74
|
||||||
msgid "Locked"
|
msgid "Locked"
|
||||||
msgstr "Gesperrt"
|
msgstr "Gesperrt"
|
||||||
|
|
||||||
#: apps/treasury/models.py:74
|
#: apps/treasury/models.py:75
|
||||||
msgid "An invoice can't be edited when it is locked."
|
msgid "An invoice can't be edited when it is locked."
|
||||||
msgstr "Eine Rechnung kann nicht bearbeitet werden, wenn sie gesperrt ist."
|
msgstr "Eine Rechnung kann nicht bearbeitet werden, wenn sie gesperrt ist."
|
||||||
|
|
||||||
#: apps/treasury/models.py:80
|
#: apps/treasury/models.py:81
|
||||||
msgid "tex source"
|
msgid "tex source"
|
||||||
msgstr "Tex Quelle"
|
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"
|
msgid "invoice"
|
||||||
msgstr "Rechnung"
|
msgstr "Rechnung"
|
||||||
|
|
||||||
#: apps/treasury/models.py:115
|
#: apps/treasury/models.py:116
|
||||||
msgid "invoices"
|
msgid "invoices"
|
||||||
msgstr "Rechnungen"
|
msgstr "Rechnungen"
|
||||||
|
|
||||||
#: apps/treasury/models.py:118
|
#: apps/treasury/models.py:119
|
||||||
#, python-brace-format
|
#, python-brace-format
|
||||||
msgid "Invoice #{id}"
|
msgid "Invoice #{id}"
|
||||||
msgstr "Rechnung #{id}"
|
msgstr "Rechnung #{id}"
|
||||||
|
|
||||||
#: apps/treasury/models.py:135
|
#: apps/treasury/models.py:136
|
||||||
msgid "Designation"
|
msgid "Designation"
|
||||||
msgstr "Bezeichnung"
|
msgstr "Bezeichnung"
|
||||||
|
|
||||||
#: apps/treasury/models.py:141
|
#: apps/treasury/models.py:142
|
||||||
msgid "Quantity"
|
msgid "Quantity"
|
||||||
msgstr "Qualität"
|
msgstr "Qualität"
|
||||||
|
|
||||||
#: apps/treasury/models.py:146
|
#: apps/treasury/models.py:147
|
||||||
msgid "Unit price"
|
msgid "Unit price"
|
||||||
msgstr "Einzelpreis"
|
msgstr "Einzelpreis"
|
||||||
|
|
||||||
#: apps/treasury/models.py:162
|
#: apps/treasury/models.py:163
|
||||||
msgid "product"
|
msgid "product"
|
||||||
msgstr "Produkt"
|
msgstr "Produkt"
|
||||||
|
|
||||||
#: apps/treasury/models.py:163
|
#: apps/treasury/models.py:164
|
||||||
msgid "products"
|
msgid "products"
|
||||||
msgstr "Produkten"
|
msgstr "Produkten"
|
||||||
|
|
||||||
#: apps/treasury/models.py:183
|
#: apps/treasury/models.py:184
|
||||||
msgid "remittance type"
|
msgid "remittance type"
|
||||||
msgstr "Überweisungstyp"
|
msgstr "Überweisungstyp"
|
||||||
|
|
||||||
#: apps/treasury/models.py:184
|
#: apps/treasury/models.py:185
|
||||||
msgid "remittance types"
|
msgid "remittance types"
|
||||||
msgstr "Überweisungstypen"
|
msgstr "Überweisungstypen"
|
||||||
|
|
||||||
#: apps/treasury/models.py:205
|
#: apps/treasury/models.py:206
|
||||||
msgid "Comment"
|
msgid "Comment"
|
||||||
msgstr "Kommentar"
|
msgstr "Kommentar"
|
||||||
|
|
||||||
#: apps/treasury/models.py:210
|
#: apps/treasury/models.py:211
|
||||||
msgid "Closed"
|
msgid "Closed"
|
||||||
msgstr "Geschlossen"
|
msgstr "Geschlossen"
|
||||||
|
|
||||||
#: apps/treasury/models.py:214
|
#: apps/treasury/models.py:215
|
||||||
msgid "remittance"
|
msgid "remittance"
|
||||||
msgstr "Überweisung"
|
msgstr "Überweisung"
|
||||||
|
|
||||||
#: apps/treasury/models.py:215
|
#: apps/treasury/models.py:216
|
||||||
msgid "remittances"
|
msgid "remittances"
|
||||||
msgstr "Überweisungen"
|
msgstr "Überweisungen"
|
||||||
|
|
||||||
#: apps/treasury/models.py:248
|
#: apps/treasury/models.py:249
|
||||||
msgid "Remittance #{:d}: {}"
|
msgid "Remittance #{:d}: {}"
|
||||||
msgstr "Überweisung #{:d}:{}"
|
msgstr "Überweisung #{:d}:{}"
|
||||||
|
|
||||||
#: apps/treasury/models.py:272
|
#: apps/treasury/models.py:273
|
||||||
msgid "special transaction proxy"
|
msgid "special transaction proxy"
|
||||||
msgstr "spezielle Transaktion Proxy"
|
msgstr "spezielle Transaktion Proxy"
|
||||||
|
|
||||||
#: apps/treasury/models.py:273
|
#: apps/treasury/models.py:274
|
||||||
msgid "special transaction proxies"
|
msgid "special transaction proxies"
|
||||||
msgstr "spezielle Transaktion Proxies"
|
msgstr "spezielle Transaktion Proxies"
|
||||||
|
|
||||||
#: apps/treasury/models.py:299
|
#: apps/treasury/models.py:300
|
||||||
msgid "credit transaction"
|
msgid "credit transaction"
|
||||||
msgstr "Kredit Transaktion"
|
msgstr "Kredit Transaktion"
|
||||||
|
|
||||||
@ -2329,16 +2319,16 @@ msgstr ""
|
|||||||
"Dieser Benutzer hat nicht genug Geld, um die Mitgliedschaften mit seiner "
|
"Dieser Benutzer hat nicht genug Geld, um die Mitgliedschaften mit seiner "
|
||||||
"Note zu bezahlen."
|
"Note zu bezahlen."
|
||||||
|
|
||||||
#: apps/treasury/models.py:453
|
#: apps/treasury/models.py:452
|
||||||
#: apps/treasury/templates/treasury/sogecredit_detail.html:10
|
#: apps/treasury/templates/treasury/sogecredit_detail.html:10
|
||||||
msgid "Credit from the Société générale"
|
msgid "Credit from the Société générale"
|
||||||
msgstr "Kredit von der Société générale"
|
msgstr "Kredit von der Société générale"
|
||||||
|
|
||||||
#: apps/treasury/models.py:454
|
#: apps/treasury/models.py:453
|
||||||
msgid "Credits from the Société générale"
|
msgid "Credits from the Société générale"
|
||||||
msgstr "Krediten von der Société générale"
|
msgstr "Krediten von der Société générale"
|
||||||
|
|
||||||
#: apps/treasury/models.py:457
|
#: apps/treasury/models.py:456
|
||||||
#, python-brace-format
|
#, python-brace-format
|
||||||
msgid "Soge credit for {user}"
|
msgid "Soge credit for {user}"
|
||||||
msgstr "Kredit von der Société générale für {user}"
|
msgstr "Kredit von der Société générale für {user}"
|
||||||
@ -2602,7 +2592,7 @@ msgid "The selected user is not validated. Please validate its account first"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: apps/wei/forms/registration.py:59 apps/wei/models.py:126
|
#: apps/wei/forms/registration.py:59 apps/wei/models.py:126
|
||||||
#: apps/wei/models.py:323
|
#: apps/wei/models.py:326
|
||||||
msgid "bus"
|
msgid "bus"
|
||||||
msgstr "Bus"
|
msgstr "Bus"
|
||||||
|
|
||||||
@ -2727,40 +2717,48 @@ msgstr "Nicht binär"
|
|||||||
msgid "gender"
|
msgid "gender"
|
||||||
msgstr "Geschlecht"
|
msgstr "Geschlecht"
|
||||||
|
|
||||||
#: apps/wei/models.py:213 apps/wei/templates/wei/weimembership_form.html:58
|
#: apps/wei/models.py:212
|
||||||
|
msgid "Unisex"
|
||||||
|
msgstr "Unisex"
|
||||||
|
|
||||||
|
#: apps/wei/models.py:215 apps/wei/templates/wei/weimembership_form.html:58
|
||||||
msgid "clothing cut"
|
msgid "clothing cut"
|
||||||
msgstr "Kleidung Schnitt"
|
msgstr "Kleidung Schnitt"
|
||||||
|
|
||||||
#: apps/wei/models.py:226 apps/wei/templates/wei/weimembership_form.html:61
|
#: apps/wei/models.py:228 apps/wei/templates/wei/weimembership_form.html:61
|
||||||
msgid "clothing size"
|
msgid "clothing size"
|
||||||
msgstr "Kleidergröße"
|
msgstr "Kleidergröße"
|
||||||
|
|
||||||
#: apps/wei/models.py:232 apps/wei/templates/wei/attribute_bus_1A.html:28
|
#: apps/wei/models.py:234 apps/wei/templates/wei/attribute_bus_1A.html:28
|
||||||
#: apps/wei/templates/wei/weimembership_form.html:67
|
#: apps/wei/templates/wei/weimembership_form.html:67
|
||||||
msgid "health issues"
|
msgid "health issues"
|
||||||
msgstr "Gesundheitsprobleme"
|
msgstr "Gesundheitsprobleme"
|
||||||
|
|
||||||
#: apps/wei/models.py:237 apps/wei/templates/wei/weimembership_form.html:70
|
#: apps/wei/models.py:239 apps/wei/templates/wei/weimembership_form.html:70
|
||||||
msgid "emergency contact name"
|
msgid "emergency contact name"
|
||||||
msgstr "Notfall-Kontakt"
|
msgstr "Notfall-Kontakt"
|
||||||
|
|
||||||
#: apps/wei/models.py:242 apps/wei/templates/wei/weimembership_form.html:73
|
#: apps/wei/models.py:240
|
||||||
|
msgid "The emergency contact must not be a WEI participant"
|
||||||
|
msgstr "Der Notfallkontakt darf kein WEI-Teilnehmer sein"
|
||||||
|
|
||||||
|
#: apps/wei/models.py:245 apps/wei/templates/wei/weimembership_form.html:73
|
||||||
msgid "emergency contact phone"
|
msgid "emergency contact phone"
|
||||||
msgstr "Notfallkontakttelefon"
|
msgstr "Notfallkontakttelefon"
|
||||||
|
|
||||||
#: apps/wei/models.py:247 apps/wei/templates/wei/weimembership_form.html:52
|
#: apps/wei/models.py:250 apps/wei/templates/wei/weimembership_form.html:52
|
||||||
msgid "first year"
|
msgid "first year"
|
||||||
msgstr "Erste Jahr"
|
msgstr "Erste Jahr"
|
||||||
|
|
||||||
#: apps/wei/models.py:248
|
#: apps/wei/models.py:251
|
||||||
msgid "Tells if the user is new in the school."
|
msgid "Tells if the user is new in the school."
|
||||||
msgstr "Gibt an, ob der USer neu in der Schule ist."
|
msgstr "Gibt an, ob der USer neu in der Schule ist."
|
||||||
|
|
||||||
#: apps/wei/models.py:253
|
#: apps/wei/models.py:256
|
||||||
msgid "registration information"
|
msgid "registration information"
|
||||||
msgstr "Registrierung Detailen"
|
msgstr "Registrierung Detailen"
|
||||||
|
|
||||||
#: apps/wei/models.py:254
|
#: apps/wei/models.py:257
|
||||||
msgid ""
|
msgid ""
|
||||||
"Information about the registration (buses for old members, survey for the "
|
"Information about the registration (buses for old members, survey for the "
|
||||||
"new members), encoded in JSON"
|
"new members), encoded in JSON"
|
||||||
@ -2768,27 +2766,27 @@ msgstr ""
|
|||||||
"Informationen zur Registrierung (Busse für alte Mitglieder, Umfrage für neue "
|
"Informationen zur Registrierung (Busse für alte Mitglieder, Umfrage für neue "
|
||||||
"Mitglieder), verschlüsselt in JSON"
|
"Mitglieder), verschlüsselt in JSON"
|
||||||
|
|
||||||
#: apps/wei/models.py:312
|
#: apps/wei/models.py:315
|
||||||
msgid "WEI User"
|
msgid "WEI User"
|
||||||
msgstr "WEI User"
|
msgstr "WEI User"
|
||||||
|
|
||||||
#: apps/wei/models.py:313
|
#: apps/wei/models.py:316
|
||||||
msgid "WEI Users"
|
msgid "WEI Users"
|
||||||
msgstr "WEI Users"
|
msgstr "WEI Users"
|
||||||
|
|
||||||
#: apps/wei/models.py:333
|
#: apps/wei/models.py:336
|
||||||
msgid "team"
|
msgid "team"
|
||||||
msgstr "Team"
|
msgstr "Team"
|
||||||
|
|
||||||
#: apps/wei/models.py:343
|
#: apps/wei/models.py:346
|
||||||
msgid "WEI registration"
|
msgid "WEI registration"
|
||||||
msgstr "WEI Registrierung"
|
msgstr "WEI Registrierung"
|
||||||
|
|
||||||
#: apps/wei/models.py:347
|
#: apps/wei/models.py:350
|
||||||
msgid "WEI membership"
|
msgid "WEI membership"
|
||||||
msgstr "WEI Mitgliedschaft"
|
msgstr "WEI Mitgliedschaft"
|
||||||
|
|
||||||
#: apps/wei/models.py:348
|
#: apps/wei/models.py:351
|
||||||
msgid "WEI memberships"
|
msgid "WEI memberships"
|
||||||
msgstr "WEI Mitgliedschaften"
|
msgstr "WEI Mitgliedschaften"
|
||||||
|
|
||||||
@ -3612,6 +3610,13 @@ msgstr ""
|
|||||||
"müssen Ihre E-Mail-Adresse auch überprüfen, indem Sie dem Link folgen, den "
|
"müssen Ihre E-Mail-Adresse auch überprüfen, indem Sie dem Link folgen, den "
|
||||||
"Sie erhalten haben."
|
"Sie erhalten haben."
|
||||||
|
|
||||||
|
#, fuzzy
|
||||||
|
#~| msgid "You already opened an account in the Société générale."
|
||||||
|
#~ msgid ""
|
||||||
|
#~ "I declare that I opened or I will open soon a bank account in the Société "
|
||||||
|
#~ "générale with the BDE partnership."
|
||||||
|
#~ msgstr "Sie haben bereits ein Konto in der Société générale eröffnet."
|
||||||
|
|
||||||
#~ msgid "This user didn't give her/his caution check."
|
#~ msgid "This user didn't give her/his caution check."
|
||||||
#~ msgstr "Dieser User hat seine / ihre Vorsicht nicht überprüft."
|
#~ msgstr "Dieser User hat seine / ihre Vorsicht nicht überprüft."
|
||||||
|
|
||||||
|
@ -7,7 +7,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: \n"
|
"Project-Id-Version: \n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2023-03-31 17:08+0200\n"
|
"POT-Creation-Date: 2023-07-09 14:46+0200\n"
|
||||||
"PO-Revision-Date: 2022-04-11 23:12+0200\n"
|
"PO-Revision-Date: 2022-04-11 23:12+0200\n"
|
||||||
"Last-Translator: bleizi <bleizi@crans.org>\n"
|
"Last-Translator: bleizi <bleizi@crans.org>\n"
|
||||||
"Language-Team: \n"
|
"Language-Team: \n"
|
||||||
@ -114,7 +114,7 @@ msgid "type"
|
|||||||
msgstr "tipo"
|
msgstr "tipo"
|
||||||
|
|
||||||
#: apps/activity/models.py:89 apps/logs/models.py:22 apps/member/models.py:307
|
#: 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/models.py:173 apps/wei/templates/wei/attribute_bus_1A.html:13
|
||||||
#: apps/wei/templates/wei/survey.html:15
|
#: apps/wei/templates/wei/survey.html:15
|
||||||
msgid "user"
|
msgid "user"
|
||||||
@ -257,19 +257,19 @@ msgstr "Entrado el "
|
|||||||
msgid "remove"
|
msgid "remove"
|
||||||
msgstr "quitar"
|
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"
|
msgid "Type"
|
||||||
msgstr "Tipo"
|
msgstr "Tipo"
|
||||||
|
|
||||||
#: apps/activity/tables.py:84 apps/member/forms.py:186
|
#: apps/activity/tables.py:84 apps/member/forms.py:186
|
||||||
#: apps/registration/forms.py:91 apps/treasury/forms.py:131
|
#: apps/registration/forms.py:92 apps/treasury/forms.py:131
|
||||||
#: apps/wei/forms/registration.py:104
|
#: apps/wei/forms/registration.py:104
|
||||||
msgid "Last name"
|
msgid "Last name"
|
||||||
msgstr "Apellido"
|
msgstr "Apellido"
|
||||||
|
|
||||||
#: apps/activity/tables.py:86 apps/member/forms.py:191
|
#: apps/activity/tables.py:86 apps/member/forms.py:191
|
||||||
#: apps/note/templates/note/transaction_form.html:138
|
#: apps/note/templates/note/transaction_form.html:138
|
||||||
#: apps/registration/forms.py:96 apps/treasury/forms.py:133
|
#: apps/registration/forms.py:97 apps/treasury/forms.py:133
|
||||||
#: apps/wei/forms/registration.py:109
|
#: apps/wei/forms/registration.py:109
|
||||||
msgid "First name"
|
msgid "First name"
|
||||||
msgstr "Nombre"
|
msgstr "Nombre"
|
||||||
@ -546,24 +546,24 @@ msgid "This image cannot be loaded."
|
|||||||
msgstr "Esta imagen no puede ser cargada."
|
msgstr "Esta imagen no puede ser cargada."
|
||||||
|
|
||||||
#: apps/member/forms.py:141 apps/member/views.py:103
|
#: apps/member/forms.py:141 apps/member/views.py:103
|
||||||
#: apps/registration/forms.py:33 apps/registration/views.py:262
|
#: apps/registration/forms.py:34 apps/registration/views.py:266
|
||||||
msgid "An alias with a similar name already exists."
|
msgid "An alias with a similar name already exists."
|
||||||
msgstr "Un alias similar ya existe."
|
msgstr "Un alias similar ya existe."
|
||||||
|
|
||||||
#: apps/member/forms.py:165 apps/registration/forms.py:71
|
#: apps/member/forms.py:165
|
||||||
msgid "Inscription paid by Société Générale"
|
msgid "Inscription paid by Société Générale"
|
||||||
msgstr "Registración pagadas por Société Générale"
|
msgstr "Registración pagadas por Société Générale"
|
||||||
|
|
||||||
#: apps/member/forms.py:167 apps/registration/forms.py:73
|
#: apps/member/forms.py:167
|
||||||
msgid "Check this case if the Société Générale paid the inscription."
|
msgid "Check this case if the Société Générale paid the inscription."
|
||||||
msgstr "Marcar esta casilla si Société Générale pagó la registración."
|
msgstr "Marcar esta casilla si Société Générale pagó la registración."
|
||||||
|
|
||||||
#: apps/member/forms.py:172 apps/registration/forms.py:78
|
#: apps/member/forms.py:172 apps/registration/forms.py:79
|
||||||
#: apps/wei/forms/registration.py:91
|
#: apps/wei/forms/registration.py:91
|
||||||
msgid "Credit type"
|
msgid "Credit type"
|
||||||
msgstr "Tipo de crédito"
|
msgstr "Tipo de crédito"
|
||||||
|
|
||||||
#: apps/member/forms.py:173 apps/registration/forms.py:79
|
#: apps/member/forms.py:173 apps/registration/forms.py:80
|
||||||
#: apps/wei/forms/registration.py:92
|
#: apps/wei/forms/registration.py:92
|
||||||
msgid "No credit"
|
msgid "No credit"
|
||||||
msgstr "No crédito"
|
msgstr "No crédito"
|
||||||
@ -572,13 +572,13 @@ msgstr "No crédito"
|
|||||||
msgid "You can credit the note of the user."
|
msgid "You can credit the note of the user."
|
||||||
msgstr "Usted puede acreditar la note del usuario."
|
msgstr "Usted puede acreditar la note del usuario."
|
||||||
|
|
||||||
#: apps/member/forms.py:179 apps/registration/forms.py:84
|
#: apps/member/forms.py:179 apps/registration/forms.py:85
|
||||||
#: apps/wei/forms/registration.py:97
|
#: apps/wei/forms/registration.py:97
|
||||||
msgid "Credit amount"
|
msgid "Credit amount"
|
||||||
msgstr "Valor del crédito"
|
msgstr "Valor del crédito"
|
||||||
|
|
||||||
#: apps/member/forms.py:196 apps/note/templates/note/transaction_form.html:144
|
#: apps/member/forms.py:196 apps/note/templates/note/transaction_form.html:144
|
||||||
#: apps/registration/forms.py:101 apps/treasury/forms.py:135
|
#: apps/registration/forms.py:102 apps/treasury/forms.py:135
|
||||||
#: apps/wei/forms/registration.py:114
|
#: apps/wei/forms/registration.py:114
|
||||||
msgid "Bank"
|
msgid "Bank"
|
||||||
msgstr "Banco"
|
msgstr "Banco"
|
||||||
@ -1180,7 +1180,7 @@ msgstr "Guardar cambios"
|
|||||||
msgid "Registrations"
|
msgid "Registrations"
|
||||||
msgstr "Registraciones"
|
msgstr "Registraciones"
|
||||||
|
|
||||||
#: apps/member/views.py:73 apps/registration/forms.py:23
|
#: apps/member/views.py:73 apps/registration/forms.py:24
|
||||||
msgid "This address must be valid."
|
msgid "This address must be valid."
|
||||||
msgstr "Este correo tiene que ser valido."
|
msgstr "Este correo tiene que ser valido."
|
||||||
|
|
||||||
@ -1236,11 +1236,11 @@ msgstr "La afiliación tiene que empezar después del {:%d-%m-%Y}."
|
|||||||
msgid "The membership must begin before {:%m-%d-%Y}."
|
msgid "The membership must begin before {:%m-%d-%Y}."
|
||||||
msgstr "La afiliación tiene que empezar antes del {:%d-%m-%Y}."
|
msgstr "La afiliación tiene que empezar antes del {:%d-%m-%Y}."
|
||||||
|
|
||||||
#: apps/member/views.py:876
|
#: apps/member/views.py:880
|
||||||
msgid "Manage roles of an user in the club"
|
msgid "Manage roles of an user in the club"
|
||||||
msgstr "Gestionar los papeles de un usuario en el club"
|
msgstr "Gestionar los papeles de un usuario en el club"
|
||||||
|
|
||||||
#: apps/member/views.py:901
|
#: apps/member/views.py:905
|
||||||
msgid "Members of the club"
|
msgid "Members of the club"
|
||||||
msgstr "Miembros del club"
|
msgstr "Miembros del club"
|
||||||
|
|
||||||
@ -1557,7 +1557,7 @@ msgstr "Transacciones especiales"
|
|||||||
msgid "membership transaction"
|
msgid "membership transaction"
|
||||||
msgstr "transacción de afiliación"
|
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"
|
msgid "membership transactions"
|
||||||
msgstr "transacciones de afiliación"
|
msgstr "transacciones de afiliación"
|
||||||
|
|
||||||
@ -1676,7 +1676,7 @@ msgid "Amount"
|
|||||||
msgstr "Monto"
|
msgstr "Monto"
|
||||||
|
|
||||||
#: apps/note/templates/note/transaction_form.html:132
|
#: apps/note/templates/note/transaction_form.html:132
|
||||||
#: apps/treasury/models.py:55
|
#: apps/treasury/models.py:56
|
||||||
msgid "Name"
|
msgid "Name"
|
||||||
msgstr "Nombre"
|
msgstr "Nombre"
|
||||||
|
|
||||||
@ -1963,31 +1963,15 @@ msgstr "Todos los permisos"
|
|||||||
msgid "registration"
|
msgid "registration"
|
||||||
msgstr "afiliación"
|
msgstr "afiliación"
|
||||||
|
|
||||||
#: apps/registration/forms.py:39
|
#: apps/registration/forms.py:40
|
||||||
msgid "This email address is already used."
|
msgid "This email address is already used."
|
||||||
msgstr "Este correo electrónico ya esta utilizado."
|
msgstr "Este correo electrónico ya esta utilizado."
|
||||||
|
|
||||||
#: apps/registration/forms.py:49
|
#: apps/registration/forms.py:60
|
||||||
msgid ""
|
|
||||||
"I declare that I opened or I will open soon a bank account in the Société "
|
|
||||||
"générale with the BDE partnership."
|
|
||||||
msgstr ""
|
|
||||||
"Declaro que ya abrió una cuenta a la Société Générale en colaboración con el "
|
|
||||||
"BDE."
|
|
||||||
|
|
||||||
#: apps/registration/forms.py:51
|
|
||||||
msgid ""
|
|
||||||
"Warning: this engages you to open your bank account. If you finally decides "
|
|
||||||
"to don't open your account, you will have to pay the BDE membership."
|
|
||||||
msgstr ""
|
|
||||||
"Cuidado : esto le obliga abrir su cuenta bancaria. Si cambia de idea y no "
|
|
||||||
"abre su cuenta bancaria, tendrá que pagar su afiliación al BDE."
|
|
||||||
|
|
||||||
#: apps/registration/forms.py:59
|
|
||||||
msgid "Register to the WEI"
|
msgid "Register to the WEI"
|
||||||
msgstr "Registrarse en el WEI"
|
msgstr "Registrarse en el WEI"
|
||||||
|
|
||||||
#: apps/registration/forms.py:61
|
#: apps/registration/forms.py:62
|
||||||
msgid ""
|
msgid ""
|
||||||
"Check this case if you want to register to the WEI. If you hesitate, you "
|
"Check this case if you want to register to the WEI. If you hesitate, you "
|
||||||
"will be able to register later, after validating your account in the Kfet."
|
"will be able to register later, after validating your account in the Kfet."
|
||||||
@ -1995,14 +1979,18 @@ msgstr ""
|
|||||||
"Marcar esta casilla si usted quiere registrarse en el WEI. Si duda, podrá "
|
"Marcar esta casilla si usted quiere registrarse en el WEI. Si duda, podrá "
|
||||||
"registrarse más tarde, después de validar su cuenta Note Kfet."
|
"registrarse más tarde, después de validar su cuenta Note Kfet."
|
||||||
|
|
||||||
#: apps/registration/forms.py:106
|
#: apps/registration/forms.py:107
|
||||||
msgid "Join BDE Club"
|
msgid "Join BDE Club"
|
||||||
msgstr "Afiliarse al club BDE"
|
msgstr "Afiliarse al club BDE"
|
||||||
|
|
||||||
#: apps/registration/forms.py:113
|
#: apps/registration/forms.py:114
|
||||||
msgid "Join Kfet Club"
|
msgid "Join Kfet Club"
|
||||||
msgstr "Afiliarse al club Kfet"
|
msgstr "Afiliarse al club Kfet"
|
||||||
|
|
||||||
|
#: apps/registration/forms.py:123
|
||||||
|
msgid "Join BDA Club"
|
||||||
|
msgstr "Afiliarse al club BDA"
|
||||||
|
|
||||||
#: apps/registration/templates/registration/email_validation_complete.html:15
|
#: apps/registration/templates/registration/email_validation_complete.html:15
|
||||||
msgid "Your email have successfully been validated."
|
msgid "Your email have successfully been validated."
|
||||||
msgstr "Su correo electrónico fue validado con éxito."
|
msgstr "Su correo electrónico fue validado con éxito."
|
||||||
@ -2051,12 +2039,12 @@ msgstr "Suprimir afiliación"
|
|||||||
msgid "Validate account"
|
msgid "Validate account"
|
||||||
msgstr "Validar la cuenta"
|
msgstr "Validar la cuenta"
|
||||||
|
|
||||||
#: apps/registration/templates/registration/future_profile_detail.html:62
|
#: apps/registration/templates/registration/future_profile_detail.html:63
|
||||||
msgid ""
|
msgid ""
|
||||||
"The user declared that he/she opened a bank account in the Société générale."
|
"The user declared that he/she opened a bank account in the Société générale."
|
||||||
msgstr "El usuario declara que ya abrió una cuenta a la Société Générale."
|
msgstr "El usuario declara que ya abrió una cuenta a la Société Générale."
|
||||||
|
|
||||||
#: apps/registration/templates/registration/future_profile_detail.html:71
|
#: apps/registration/templates/registration/future_profile_detail.html:73
|
||||||
#: apps/wei/templates/wei/weimembership_form.html:127
|
#: apps/wei/templates/wei/weimembership_form.html:127
|
||||||
#: apps/wei/templates/wei/weimembership_form.html:186
|
#: apps/wei/templates/wei/weimembership_form.html:186
|
||||||
msgid "Validate registration"
|
msgid "Validate registration"
|
||||||
@ -2108,54 +2096,54 @@ msgstr "Gracias"
|
|||||||
msgid "The Note Kfet team."
|
msgid "The Note Kfet team."
|
||||||
msgstr "El equipo Note Kfet."
|
msgstr "El equipo Note Kfet."
|
||||||
|
|
||||||
#: apps/registration/views.py:40
|
#: apps/registration/views.py:41
|
||||||
msgid "Register new user"
|
msgid "Register new user"
|
||||||
msgstr "Registrar un nuevo usuario"
|
msgstr "Registrar un nuevo usuario"
|
||||||
|
|
||||||
#: apps/registration/views.py:98
|
#: apps/registration/views.py:99
|
||||||
msgid "Email validation"
|
msgid "Email validation"
|
||||||
msgstr "Validación del correo electrónico"
|
msgstr "Validación del correo electrónico"
|
||||||
|
|
||||||
#: apps/registration/views.py:100
|
#: apps/registration/views.py:101
|
||||||
msgid "Validate email"
|
msgid "Validate email"
|
||||||
msgstr "Validar el correo electrónico"
|
msgstr "Validar el correo electrónico"
|
||||||
|
|
||||||
#: apps/registration/views.py:144
|
#: apps/registration/views.py:145
|
||||||
msgid "Email validation unsuccessful"
|
msgid "Email validation unsuccessful"
|
||||||
msgstr "La validación del correo electrónico fracasó"
|
msgstr "La validación del correo electrónico fracasó"
|
||||||
|
|
||||||
#: apps/registration/views.py:155
|
#: apps/registration/views.py:156
|
||||||
msgid "Email validation email sent"
|
msgid "Email validation email sent"
|
||||||
msgstr "Correo de validación enviado"
|
msgstr "Correo de validación enviado"
|
||||||
|
|
||||||
#: apps/registration/views.py:163
|
#: apps/registration/views.py:164
|
||||||
msgid "Resend email validation link"
|
msgid "Resend email validation link"
|
||||||
msgstr "Reenviar el enlace de validación"
|
msgstr "Reenviar el enlace de validación"
|
||||||
|
|
||||||
#: apps/registration/views.py:181
|
#: apps/registration/views.py:182
|
||||||
msgid "Pre-registered users list"
|
msgid "Pre-registered users list"
|
||||||
msgstr "Lista de los usuarios con afiliación pendiente"
|
msgstr "Lista de los usuarios con afiliación pendiente"
|
||||||
|
|
||||||
#: apps/registration/views.py:205
|
#: apps/registration/views.py:206
|
||||||
msgid "Unregistered users"
|
msgid "Unregistered users"
|
||||||
msgstr "Usuarios con afiliación pendiente"
|
msgstr "Usuarios con afiliación pendiente"
|
||||||
|
|
||||||
#: apps/registration/views.py:218
|
#: apps/registration/views.py:219
|
||||||
msgid "Registration detail"
|
msgid "Registration detail"
|
||||||
msgstr "Detalles de la afiliación"
|
msgstr "Detalles de la afiliación"
|
||||||
|
|
||||||
#: apps/registration/views.py:282
|
#: apps/registration/views.py:293
|
||||||
msgid "You must join the BDE."
|
msgid "You must join the BDE."
|
||||||
msgstr "Usted tiene que afiliarse al BDE."
|
msgstr "Usted tiene que afiliarse al BDE."
|
||||||
|
|
||||||
#: apps/registration/views.py:306
|
#: apps/registration/views.py:323
|
||||||
msgid ""
|
msgid ""
|
||||||
"The entered amount is not enough for the memberships, should be at least {}"
|
"The entered amount is not enough for the memberships, should be at least {}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"El monto dado no es suficiente para las afiliaciones, tiene que ser al menos "
|
"El monto dado no es suficiente para las afiliaciones, tiene que ser al menos "
|
||||||
"{}"
|
"{}"
|
||||||
|
|
||||||
#: apps/registration/views.py:387
|
#: apps/registration/views.py:417
|
||||||
msgid "Invalidate pre-registration"
|
msgid "Invalidate pre-registration"
|
||||||
msgstr "Invalidar la afiliación"
|
msgstr "Invalidar la afiliación"
|
||||||
|
|
||||||
@ -2163,7 +2151,7 @@ msgstr "Invalidar la afiliación"
|
|||||||
msgid "Treasury"
|
msgid "Treasury"
|
||||||
msgstr "Tesorería"
|
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
|
#: apps/treasury/templates/treasury/invoice_form.html:22
|
||||||
msgid "This invoice is locked and can no longer be edited."
|
msgid "This invoice is locked and can no longer be edited."
|
||||||
msgstr "Esta factura esta bloqueada y no puede ser modificada."
|
msgstr "Esta factura esta bloqueada y no puede ser modificada."
|
||||||
@ -2176,7 +2164,7 @@ msgstr "El descuento ya esta cerrado."
|
|||||||
msgid "You can't change the type of the remittance."
|
msgid "You can't change the type of the remittance."
|
||||||
msgstr "No puede cambiar el tipo de descuento."
|
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/tables.py:97 apps/treasury/tables.py:105
|
||||||
#: apps/treasury/templates/treasury/invoice_list.html:16
|
#: apps/treasury/templates/treasury/invoice_list.html:16
|
||||||
#: apps/treasury/templates/treasury/remittance_list.html:16
|
#: apps/treasury/templates/treasury/remittance_list.html:16
|
||||||
@ -2192,112 +2180,112 @@ msgstr "No hay descuento relacionado"
|
|||||||
msgid "Invoice identifier"
|
msgid "Invoice identifier"
|
||||||
msgstr "Numero de factura"
|
msgstr "Numero de factura"
|
||||||
|
|
||||||
#: apps/treasury/models.py:41
|
#: apps/treasury/models.py:42
|
||||||
msgid "BDE"
|
msgid "BDE"
|
||||||
msgstr "BDE"
|
msgstr "BDE"
|
||||||
|
|
||||||
#: apps/treasury/models.py:46
|
#: apps/treasury/models.py:47
|
||||||
msgid "Object"
|
msgid "Object"
|
||||||
msgstr "Asunto"
|
msgstr "Asunto"
|
||||||
|
|
||||||
#: apps/treasury/models.py:50
|
#: apps/treasury/models.py:51
|
||||||
msgid "Description"
|
msgid "Description"
|
||||||
msgstr "Descripción"
|
msgstr "Descripción"
|
||||||
|
|
||||||
#: apps/treasury/models.py:59
|
#: apps/treasury/models.py:60
|
||||||
msgid "Address"
|
msgid "Address"
|
||||||
msgstr "Dirección"
|
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"
|
msgid "Date"
|
||||||
msgstr "Fecha"
|
msgstr "Fecha"
|
||||||
|
|
||||||
#: apps/treasury/models.py:68
|
#: apps/treasury/models.py:69
|
||||||
msgid "Acquitted"
|
msgid "Acquitted"
|
||||||
msgstr "Pagada"
|
msgstr "Pagada"
|
||||||
|
|
||||||
#: apps/treasury/models.py:73
|
#: apps/treasury/models.py:74
|
||||||
msgid "Locked"
|
msgid "Locked"
|
||||||
msgstr "Bloqueada"
|
msgstr "Bloqueada"
|
||||||
|
|
||||||
#: apps/treasury/models.py:74
|
#: apps/treasury/models.py:75
|
||||||
msgid "An invoice can't be edited when it is locked."
|
msgid "An invoice can't be edited when it is locked."
|
||||||
msgstr "Une factura no puede ser modificada cuando esta bloqueada."
|
msgstr "Une factura no puede ser modificada cuando esta bloqueada."
|
||||||
|
|
||||||
#: apps/treasury/models.py:80
|
#: apps/treasury/models.py:81
|
||||||
msgid "tex source"
|
msgid "tex source"
|
||||||
msgstr "código fuente TeX"
|
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"
|
msgid "invoice"
|
||||||
msgstr "factura"
|
msgstr "factura"
|
||||||
|
|
||||||
#: apps/treasury/models.py:115
|
#: apps/treasury/models.py:116
|
||||||
msgid "invoices"
|
msgid "invoices"
|
||||||
msgstr "facturas"
|
msgstr "facturas"
|
||||||
|
|
||||||
#: apps/treasury/models.py:118
|
#: apps/treasury/models.py:119
|
||||||
#, python-brace-format
|
#, python-brace-format
|
||||||
msgid "Invoice #{id}"
|
msgid "Invoice #{id}"
|
||||||
msgstr "Factura n°{id}"
|
msgstr "Factura n°{id}"
|
||||||
|
|
||||||
#: apps/treasury/models.py:135
|
#: apps/treasury/models.py:136
|
||||||
msgid "Designation"
|
msgid "Designation"
|
||||||
msgstr "Designación"
|
msgstr "Designación"
|
||||||
|
|
||||||
#: apps/treasury/models.py:141
|
#: apps/treasury/models.py:142
|
||||||
msgid "Quantity"
|
msgid "Quantity"
|
||||||
msgstr "Cantidad"
|
msgstr "Cantidad"
|
||||||
|
|
||||||
#: apps/treasury/models.py:146
|
#: apps/treasury/models.py:147
|
||||||
msgid "Unit price"
|
msgid "Unit price"
|
||||||
msgstr "Precio unitario"
|
msgstr "Precio unitario"
|
||||||
|
|
||||||
#: apps/treasury/models.py:162
|
#: apps/treasury/models.py:163
|
||||||
msgid "product"
|
msgid "product"
|
||||||
msgstr "producto"
|
msgstr "producto"
|
||||||
|
|
||||||
#: apps/treasury/models.py:163
|
#: apps/treasury/models.py:164
|
||||||
msgid "products"
|
msgid "products"
|
||||||
msgstr "productos"
|
msgstr "productos"
|
||||||
|
|
||||||
#: apps/treasury/models.py:183
|
#: apps/treasury/models.py:184
|
||||||
msgid "remittance type"
|
msgid "remittance type"
|
||||||
msgstr "tipo de descuento"
|
msgstr "tipo de descuento"
|
||||||
|
|
||||||
#: apps/treasury/models.py:184
|
#: apps/treasury/models.py:185
|
||||||
msgid "remittance types"
|
msgid "remittance types"
|
||||||
msgstr "tipos de descuentos"
|
msgstr "tipos de descuentos"
|
||||||
|
|
||||||
#: apps/treasury/models.py:205
|
#: apps/treasury/models.py:206
|
||||||
msgid "Comment"
|
msgid "Comment"
|
||||||
msgstr "Comentario"
|
msgstr "Comentario"
|
||||||
|
|
||||||
#: apps/treasury/models.py:210
|
#: apps/treasury/models.py:211
|
||||||
msgid "Closed"
|
msgid "Closed"
|
||||||
msgstr "Cerrada"
|
msgstr "Cerrada"
|
||||||
|
|
||||||
#: apps/treasury/models.py:214
|
#: apps/treasury/models.py:215
|
||||||
msgid "remittance"
|
msgid "remittance"
|
||||||
msgstr "descuento"
|
msgstr "descuento"
|
||||||
|
|
||||||
#: apps/treasury/models.py:215
|
#: apps/treasury/models.py:216
|
||||||
msgid "remittances"
|
msgid "remittances"
|
||||||
msgstr "descuentos"
|
msgstr "descuentos"
|
||||||
|
|
||||||
#: apps/treasury/models.py:248
|
#: apps/treasury/models.py:249
|
||||||
msgid "Remittance #{:d}: {}"
|
msgid "Remittance #{:d}: {}"
|
||||||
msgstr "Descuento n°{:d} : {}"
|
msgstr "Descuento n°{:d} : {}"
|
||||||
|
|
||||||
#: apps/treasury/models.py:272
|
#: apps/treasury/models.py:273
|
||||||
msgid "special transaction proxy"
|
msgid "special transaction proxy"
|
||||||
msgstr "proxy de transacción especial"
|
msgstr "proxy de transacción especial"
|
||||||
|
|
||||||
#: apps/treasury/models.py:273
|
#: apps/treasury/models.py:274
|
||||||
msgid "special transaction proxies"
|
msgid "special transaction proxies"
|
||||||
msgstr "proxys de transacciones especiales"
|
msgstr "proxys de transacciones especiales"
|
||||||
|
|
||||||
#: apps/treasury/models.py:299
|
#: apps/treasury/models.py:300
|
||||||
msgid "credit transaction"
|
msgid "credit transaction"
|
||||||
msgstr "transacción de crédito"
|
msgstr "transacción de crédito"
|
||||||
|
|
||||||
@ -2310,16 +2298,16 @@ msgstr ""
|
|||||||
"afiliaciones. Por favor pídelo acreditar su note antes de invalidar este "
|
"afiliaciones. Por favor pídelo acreditar su note antes de invalidar este "
|
||||||
"crédito."
|
"crédito."
|
||||||
|
|
||||||
#: apps/treasury/models.py:453
|
#: apps/treasury/models.py:452
|
||||||
#: apps/treasury/templates/treasury/sogecredit_detail.html:10
|
#: apps/treasury/templates/treasury/sogecredit_detail.html:10
|
||||||
msgid "Credit from the Société générale"
|
msgid "Credit from the Société générale"
|
||||||
msgstr "Crédito de la Société Générale"
|
msgstr "Crédito de la Société Générale"
|
||||||
|
|
||||||
#: apps/treasury/models.py:454
|
#: apps/treasury/models.py:453
|
||||||
msgid "Credits from the Société générale"
|
msgid "Credits from the Société générale"
|
||||||
msgstr "Créditos de la Société Générale"
|
msgstr "Créditos de la Société Générale"
|
||||||
|
|
||||||
#: apps/treasury/models.py:457
|
#: apps/treasury/models.py:456
|
||||||
#, python-brace-format
|
#, python-brace-format
|
||||||
msgid "Soge credit for {user}"
|
msgid "Soge credit for {user}"
|
||||||
msgstr "Crédito de la Société Générale para {user}"
|
msgstr "Crédito de la Société Générale para {user}"
|
||||||
@ -2574,7 +2562,7 @@ msgstr ""
|
|||||||
"El usuario seleccionado no ha sido validado. Validar esta cuenta primero"
|
"El usuario seleccionado no ha sido validado. Validar esta cuenta primero"
|
||||||
|
|
||||||
#: apps/wei/forms/registration.py:59 apps/wei/models.py:126
|
#: apps/wei/forms/registration.py:59 apps/wei/models.py:126
|
||||||
#: apps/wei/models.py:323
|
#: apps/wei/models.py:326
|
||||||
msgid "bus"
|
msgid "bus"
|
||||||
msgstr "bus"
|
msgstr "bus"
|
||||||
|
|
||||||
@ -2699,40 +2687,48 @@ msgstr "No binari@"
|
|||||||
msgid "gender"
|
msgid "gender"
|
||||||
msgstr "género"
|
msgstr "género"
|
||||||
|
|
||||||
#: apps/wei/models.py:213 apps/wei/templates/wei/weimembership_form.html:58
|
#: apps/wei/models.py:212
|
||||||
|
msgid "Unisex"
|
||||||
|
msgstr "Unisex"
|
||||||
|
|
||||||
|
#: apps/wei/models.py:215 apps/wei/templates/wei/weimembership_form.html:58
|
||||||
msgid "clothing cut"
|
msgid "clothing cut"
|
||||||
msgstr "forma de ropa"
|
msgstr "forma de ropa"
|
||||||
|
|
||||||
#: apps/wei/models.py:226 apps/wei/templates/wei/weimembership_form.html:61
|
#: apps/wei/models.py:228 apps/wei/templates/wei/weimembership_form.html:61
|
||||||
msgid "clothing size"
|
msgid "clothing size"
|
||||||
msgstr "medida de ropa"
|
msgstr "medida de ropa"
|
||||||
|
|
||||||
#: apps/wei/models.py:232 apps/wei/templates/wei/attribute_bus_1A.html:28
|
#: apps/wei/models.py:234 apps/wei/templates/wei/attribute_bus_1A.html:28
|
||||||
#: apps/wei/templates/wei/weimembership_form.html:67
|
#: apps/wei/templates/wei/weimembership_form.html:67
|
||||||
msgid "health issues"
|
msgid "health issues"
|
||||||
msgstr "problemas de salud"
|
msgstr "problemas de salud"
|
||||||
|
|
||||||
#: apps/wei/models.py:237 apps/wei/templates/wei/weimembership_form.html:70
|
#: apps/wei/models.py:239 apps/wei/templates/wei/weimembership_form.html:70
|
||||||
msgid "emergency contact name"
|
msgid "emergency contact name"
|
||||||
msgstr "nombre del contacto de emergencia"
|
msgstr "nombre del contacto de emergencia"
|
||||||
|
|
||||||
#: apps/wei/models.py:242 apps/wei/templates/wei/weimembership_form.html:73
|
#: apps/wei/models.py:240
|
||||||
|
msgid "The emergency contact must not be a WEI participant"
|
||||||
|
msgstr "El contacto de emergencia no debe ser un participante de WEI"
|
||||||
|
|
||||||
|
#: apps/wei/models.py:245 apps/wei/templates/wei/weimembership_form.html:73
|
||||||
msgid "emergency contact phone"
|
msgid "emergency contact phone"
|
||||||
msgstr "teléfono del contacto de emergencia"
|
msgstr "teléfono del contacto de emergencia"
|
||||||
|
|
||||||
#: apps/wei/models.py:247 apps/wei/templates/wei/weimembership_form.html:52
|
#: apps/wei/models.py:250 apps/wei/templates/wei/weimembership_form.html:52
|
||||||
msgid "first year"
|
msgid "first year"
|
||||||
msgstr "primer año"
|
msgstr "primer año"
|
||||||
|
|
||||||
#: apps/wei/models.py:248
|
#: apps/wei/models.py:251
|
||||||
msgid "Tells if the user is new in the school."
|
msgid "Tells if the user is new in the school."
|
||||||
msgstr "Indica si el usuario es nuevo en la escuela."
|
msgstr "Indica si el usuario es nuevo en la escuela."
|
||||||
|
|
||||||
#: apps/wei/models.py:253
|
#: apps/wei/models.py:256
|
||||||
msgid "registration information"
|
msgid "registration information"
|
||||||
msgstr "informaciones sobre la afiliación"
|
msgstr "informaciones sobre la afiliación"
|
||||||
|
|
||||||
#: apps/wei/models.py:254
|
#: apps/wei/models.py:257
|
||||||
msgid ""
|
msgid ""
|
||||||
"Information about the registration (buses for old members, survey for the "
|
"Information about the registration (buses for old members, survey for the "
|
||||||
"new members), encoded in JSON"
|
"new members), encoded in JSON"
|
||||||
@ -2740,27 +2736,27 @@ msgstr ""
|
|||||||
"Informaciones sobre la afiliacion (bus para miembros ancianos, cuestionario "
|
"Informaciones sobre la afiliacion (bus para miembros ancianos, cuestionario "
|
||||||
"para los nuevos miembros), registrado en JSON"
|
"para los nuevos miembros), registrado en JSON"
|
||||||
|
|
||||||
#: apps/wei/models.py:312
|
#: apps/wei/models.py:315
|
||||||
msgid "WEI User"
|
msgid "WEI User"
|
||||||
msgstr "Participante WEI"
|
msgstr "Participante WEI"
|
||||||
|
|
||||||
#: apps/wei/models.py:313
|
#: apps/wei/models.py:316
|
||||||
msgid "WEI Users"
|
msgid "WEI Users"
|
||||||
msgstr "Participantes WEI"
|
msgstr "Participantes WEI"
|
||||||
|
|
||||||
#: apps/wei/models.py:333
|
#: apps/wei/models.py:336
|
||||||
msgid "team"
|
msgid "team"
|
||||||
msgstr "equipo"
|
msgstr "equipo"
|
||||||
|
|
||||||
#: apps/wei/models.py:343
|
#: apps/wei/models.py:346
|
||||||
msgid "WEI registration"
|
msgid "WEI registration"
|
||||||
msgstr "Apuntación al WEI"
|
msgstr "Apuntación al WEI"
|
||||||
|
|
||||||
#: apps/wei/models.py:347
|
#: apps/wei/models.py:350
|
||||||
msgid "WEI membership"
|
msgid "WEI membership"
|
||||||
msgstr "Afiliación al WEI"
|
msgstr "Afiliación al WEI"
|
||||||
|
|
||||||
#: apps/wei/models.py:348
|
#: apps/wei/models.py:351
|
||||||
msgid "WEI memberships"
|
msgid "WEI memberships"
|
||||||
msgstr "Afiliaciones al WEI"
|
msgstr "Afiliaciones al WEI"
|
||||||
|
|
||||||
@ -3541,6 +3537,21 @@ msgstr ""
|
|||||||
"pagar su afiliación. Tambien tiene que validar su correo electronico con el "
|
"pagar su afiliación. Tambien tiene que validar su correo electronico con el "
|
||||||
"enlace que recibió."
|
"enlace que recibió."
|
||||||
|
|
||||||
|
#~ msgid ""
|
||||||
|
#~ "I declare that I opened or I will open soon a bank account in the Société "
|
||||||
|
#~ "générale with the BDE partnership."
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ "Declaro que ya abrió una cuenta a la Société Générale en colaboración con "
|
||||||
|
#~ "el BDE."
|
||||||
|
|
||||||
|
#~ msgid ""
|
||||||
|
#~ "Warning: this engages you to open your bank account. If you finally "
|
||||||
|
#~ "decides to don't open your account, you will have to pay the BDE "
|
||||||
|
#~ "membership."
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ "Cuidado : esto le obliga abrir su cuenta bancaria. Si cambia de idea y no "
|
||||||
|
#~ "abre su cuenta bancaria, tendrá que pagar su afiliación al BDE."
|
||||||
|
|
||||||
#~ msgid "You are not a Kfet member, so you can't use your note account."
|
#~ 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."
|
#~ msgstr "Usted no es un miembro de la Kfet, no puede usar su cuenta note."
|
||||||
|
|
||||||
|
@ -7,7 +7,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: \n"
|
"Project-Id-Version: \n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2023-03-31 17:08+0200\n"
|
"POT-Creation-Date: 2023-07-09 14:46+0200\n"
|
||||||
"PO-Revision-Date: 2022-04-11 22:05+0200\n"
|
"PO-Revision-Date: 2022-04-11 22:05+0200\n"
|
||||||
"Last-Translator: bleizi <bleizi@crans.org>\n"
|
"Last-Translator: bleizi <bleizi@crans.org>\n"
|
||||||
"Language-Team: French <http://translate.ynerant.fr/projects/nk20/nk20/fr/>\n"
|
"Language-Team: French <http://translate.ynerant.fr/projects/nk20/nk20/fr/>\n"
|
||||||
@ -115,7 +115,7 @@ msgid "type"
|
|||||||
msgstr "type"
|
msgstr "type"
|
||||||
|
|
||||||
#: apps/activity/models.py:89 apps/logs/models.py:22 apps/member/models.py:307
|
#: 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/models.py:173 apps/wei/templates/wei/attribute_bus_1A.html:13
|
||||||
#: apps/wei/templates/wei/survey.html:15
|
#: apps/wei/templates/wei/survey.html:15
|
||||||
msgid "user"
|
msgid "user"
|
||||||
@ -258,19 +258,19 @@ msgstr "Entré le "
|
|||||||
msgid "remove"
|
msgid "remove"
|
||||||
msgstr "supprimer"
|
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"
|
msgid "Type"
|
||||||
msgstr "Type"
|
msgstr "Type"
|
||||||
|
|
||||||
#: apps/activity/tables.py:84 apps/member/forms.py:186
|
#: apps/activity/tables.py:84 apps/member/forms.py:186
|
||||||
#: apps/registration/forms.py:91 apps/treasury/forms.py:131
|
#: apps/registration/forms.py:92 apps/treasury/forms.py:131
|
||||||
#: apps/wei/forms/registration.py:104
|
#: apps/wei/forms/registration.py:104
|
||||||
msgid "Last name"
|
msgid "Last name"
|
||||||
msgstr "Nom de famille"
|
msgstr "Nom de famille"
|
||||||
|
|
||||||
#: apps/activity/tables.py:86 apps/member/forms.py:191
|
#: apps/activity/tables.py:86 apps/member/forms.py:191
|
||||||
#: apps/note/templates/note/transaction_form.html:138
|
#: apps/note/templates/note/transaction_form.html:138
|
||||||
#: apps/registration/forms.py:96 apps/treasury/forms.py:133
|
#: apps/registration/forms.py:97 apps/treasury/forms.py:133
|
||||||
#: apps/wei/forms/registration.py:109
|
#: apps/wei/forms/registration.py:109
|
||||||
msgid "First name"
|
msgid "First name"
|
||||||
msgstr "Prénom"
|
msgstr "Prénom"
|
||||||
@ -548,24 +548,24 @@ msgid "This image cannot be loaded."
|
|||||||
msgstr "Cette image ne peut pas être chargée."
|
msgstr "Cette image ne peut pas être chargée."
|
||||||
|
|
||||||
#: apps/member/forms.py:141 apps/member/views.py:103
|
#: apps/member/forms.py:141 apps/member/views.py:103
|
||||||
#: apps/registration/forms.py:33 apps/registration/views.py:262
|
#: apps/registration/forms.py:34 apps/registration/views.py:266
|
||||||
msgid "An alias with a similar name already exists."
|
msgid "An alias with a similar name already exists."
|
||||||
msgstr "Un alias avec un nom similaire existe déjà."
|
msgstr "Un alias avec un nom similaire existe déjà."
|
||||||
|
|
||||||
#: apps/member/forms.py:165 apps/registration/forms.py:71
|
#: apps/member/forms.py:165
|
||||||
msgid "Inscription paid by Société Générale"
|
msgid "Inscription paid by Société Générale"
|
||||||
msgstr "Inscription payée par la Société générale"
|
msgstr "Inscription payée par la Société générale"
|
||||||
|
|
||||||
#: apps/member/forms.py:167 apps/registration/forms.py:73
|
#: apps/member/forms.py:167
|
||||||
msgid "Check this case if the Société Générale paid the inscription."
|
msgid "Check this case if the Société Générale paid the inscription."
|
||||||
msgstr "Cochez cette case si la Société Générale a payé l'inscription."
|
msgstr "Cochez cette case si la Société Générale a payé l'inscription."
|
||||||
|
|
||||||
#: apps/member/forms.py:172 apps/registration/forms.py:78
|
#: apps/member/forms.py:172 apps/registration/forms.py:79
|
||||||
#: apps/wei/forms/registration.py:91
|
#: apps/wei/forms/registration.py:91
|
||||||
msgid "Credit type"
|
msgid "Credit type"
|
||||||
msgstr "Type de rechargement"
|
msgstr "Type de rechargement"
|
||||||
|
|
||||||
#: apps/member/forms.py:173 apps/registration/forms.py:79
|
#: apps/member/forms.py:173 apps/registration/forms.py:80
|
||||||
#: apps/wei/forms/registration.py:92
|
#: apps/wei/forms/registration.py:92
|
||||||
msgid "No credit"
|
msgid "No credit"
|
||||||
msgstr "Pas de rechargement"
|
msgstr "Pas de rechargement"
|
||||||
@ -574,13 +574,13 @@ msgstr "Pas de rechargement"
|
|||||||
msgid "You can credit the note of the user."
|
msgid "You can credit the note of the user."
|
||||||
msgstr "Vous pouvez créditer la note de l'utilisateur avant l'adhésion."
|
msgstr "Vous pouvez créditer la note de l'utilisateur avant l'adhésion."
|
||||||
|
|
||||||
#: apps/member/forms.py:179 apps/registration/forms.py:84
|
#: apps/member/forms.py:179 apps/registration/forms.py:85
|
||||||
#: apps/wei/forms/registration.py:97
|
#: apps/wei/forms/registration.py:97
|
||||||
msgid "Credit amount"
|
msgid "Credit amount"
|
||||||
msgstr "Montant à créditer"
|
msgstr "Montant à créditer"
|
||||||
|
|
||||||
#: apps/member/forms.py:196 apps/note/templates/note/transaction_form.html:144
|
#: apps/member/forms.py:196 apps/note/templates/note/transaction_form.html:144
|
||||||
#: apps/registration/forms.py:101 apps/treasury/forms.py:135
|
#: apps/registration/forms.py:102 apps/treasury/forms.py:135
|
||||||
#: apps/wei/forms/registration.py:114
|
#: apps/wei/forms/registration.py:114
|
||||||
msgid "Bank"
|
msgid "Bank"
|
||||||
msgstr "Banque"
|
msgstr "Banque"
|
||||||
@ -1183,7 +1183,7 @@ msgstr "Sauvegarder les changements"
|
|||||||
msgid "Registrations"
|
msgid "Registrations"
|
||||||
msgstr "Inscriptions"
|
msgstr "Inscriptions"
|
||||||
|
|
||||||
#: apps/member/views.py:73 apps/registration/forms.py:23
|
#: apps/member/views.py:73 apps/registration/forms.py:24
|
||||||
msgid "This address must be valid."
|
msgid "This address must be valid."
|
||||||
msgstr "Cette adresse doit être valide."
|
msgstr "Cette adresse doit être valide."
|
||||||
|
|
||||||
@ -1239,11 +1239,11 @@ msgstr "L'adhésion doit commencer après le {:%d/%m/%Y}."
|
|||||||
msgid "The membership must begin before {:%m-%d-%Y}."
|
msgid "The membership must begin before {:%m-%d-%Y}."
|
||||||
msgstr "L'adhésion doit commencer avant le {:%d/%m/%Y}."
|
msgstr "L'adhésion doit commencer avant le {:%d/%m/%Y}."
|
||||||
|
|
||||||
#: apps/member/views.py:876
|
#: apps/member/views.py:880
|
||||||
msgid "Manage roles of an user in the club"
|
msgid "Manage roles of an user in the club"
|
||||||
msgstr "Gérer les rôles d'un utilisateur dans le club"
|
msgstr "Gérer les rôles d'un utilisateur dans le club"
|
||||||
|
|
||||||
#: apps/member/views.py:901
|
#: apps/member/views.py:905
|
||||||
msgid "Members of the club"
|
msgid "Members of the club"
|
||||||
msgstr "Membres du club"
|
msgstr "Membres du club"
|
||||||
|
|
||||||
@ -1563,7 +1563,7 @@ msgstr "Transactions de crédit/retrait"
|
|||||||
msgid "membership transaction"
|
msgid "membership transaction"
|
||||||
msgstr "transaction d'adhésion"
|
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"
|
msgid "membership transactions"
|
||||||
msgstr "transactions d'adhésion"
|
msgstr "transactions d'adhésion"
|
||||||
|
|
||||||
@ -1682,7 +1682,7 @@ msgid "Amount"
|
|||||||
msgstr "Montant"
|
msgstr "Montant"
|
||||||
|
|
||||||
#: apps/note/templates/note/transaction_form.html:132
|
#: apps/note/templates/note/transaction_form.html:132
|
||||||
#: apps/treasury/models.py:55
|
#: apps/treasury/models.py:56
|
||||||
msgid "Name"
|
msgid "Name"
|
||||||
msgstr "Nom"
|
msgstr "Nom"
|
||||||
|
|
||||||
@ -1972,31 +1972,15 @@ msgstr "Tous les droits"
|
|||||||
msgid "registration"
|
msgid "registration"
|
||||||
msgstr "inscription"
|
msgstr "inscription"
|
||||||
|
|
||||||
#: apps/registration/forms.py:39
|
#: apps/registration/forms.py:40
|
||||||
msgid "This email address is already used."
|
msgid "This email address is already used."
|
||||||
msgstr "Cet email est déjà pris."
|
msgstr "Cet email est déjà pris."
|
||||||
|
|
||||||
#: apps/registration/forms.py:49
|
#: apps/registration/forms.py:60
|
||||||
msgid ""
|
|
||||||
"I declare that I opened or I will open soon a bank account in the Société "
|
|
||||||
"générale with the BDE partnership."
|
|
||||||
msgstr ""
|
|
||||||
"Je déclare avoir ouvert ou ouvrir prochainement un compte à la société "
|
|
||||||
"générale avec le partenariat du BDE."
|
|
||||||
|
|
||||||
#: apps/registration/forms.py:51
|
|
||||||
msgid ""
|
|
||||||
"Warning: this engages you to open your bank account. If you finally decides "
|
|
||||||
"to don't open your account, you will have to pay the BDE membership."
|
|
||||||
msgstr ""
|
|
||||||
"Attention : cocher cette case vous engage à ouvrir votre compte. Si vous "
|
|
||||||
"décidez de ne pas le faire, vous devrez payer l'adhésion au BDE."
|
|
||||||
|
|
||||||
#: apps/registration/forms.py:59
|
|
||||||
msgid "Register to the WEI"
|
msgid "Register to the WEI"
|
||||||
msgstr "S'inscrire au WEI"
|
msgstr "S'inscrire au WEI"
|
||||||
|
|
||||||
#: apps/registration/forms.py:61
|
#: apps/registration/forms.py:62
|
||||||
msgid ""
|
msgid ""
|
||||||
"Check this case if you want to register to the WEI. If you hesitate, you "
|
"Check this case if you want to register to the WEI. If you hesitate, you "
|
||||||
"will be able to register later, after validating your account in the Kfet."
|
"will be able to register later, after validating your account in the Kfet."
|
||||||
@ -2005,14 +1989,18 @@ msgstr ""
|
|||||||
"pourrez toujours vous inscrire plus tard, après avoir validé votre compte à "
|
"pourrez toujours vous inscrire plus tard, après avoir validé votre compte à "
|
||||||
"la Kfet."
|
"la Kfet."
|
||||||
|
|
||||||
#: apps/registration/forms.py:106
|
#: apps/registration/forms.py:107
|
||||||
msgid "Join BDE Club"
|
msgid "Join BDE Club"
|
||||||
msgstr "Adhérer au club BDE"
|
msgstr "Adhérer au club BDE"
|
||||||
|
|
||||||
#: apps/registration/forms.py:113
|
#: apps/registration/forms.py:114
|
||||||
msgid "Join Kfet Club"
|
msgid "Join Kfet Club"
|
||||||
msgstr "Adhérer au club Kfet"
|
msgstr "Adhérer au club Kfet"
|
||||||
|
|
||||||
|
#: apps/registration/forms.py:123
|
||||||
|
msgid "Join BDA Club"
|
||||||
|
msgstr "Adhérer au club BDA"
|
||||||
|
|
||||||
#: apps/registration/templates/registration/email_validation_complete.html:15
|
#: apps/registration/templates/registration/email_validation_complete.html:15
|
||||||
msgid "Your email have successfully been validated."
|
msgid "Your email have successfully been validated."
|
||||||
msgstr "Votre adresse e-mail a bien été validée."
|
msgstr "Votre adresse e-mail a bien été validée."
|
||||||
@ -2061,12 +2049,12 @@ msgstr "Supprimer l'inscription"
|
|||||||
msgid "Validate account"
|
msgid "Validate account"
|
||||||
msgstr "Valider le compte"
|
msgstr "Valider le compte"
|
||||||
|
|
||||||
#: apps/registration/templates/registration/future_profile_detail.html:62
|
#: apps/registration/templates/registration/future_profile_detail.html:63
|
||||||
msgid ""
|
msgid ""
|
||||||
"The user declared that he/she opened a bank account in the Société générale."
|
"The user declared that he/she opened a bank account in the Société générale."
|
||||||
msgstr "L'utilisateur a déclaré avoir ouvert un compte à la société générale."
|
msgstr "L'utilisateur a déclaré avoir ouvert un compte à la société générale."
|
||||||
|
|
||||||
#: apps/registration/templates/registration/future_profile_detail.html:71
|
#: apps/registration/templates/registration/future_profile_detail.html:73
|
||||||
#: apps/wei/templates/wei/weimembership_form.html:127
|
#: apps/wei/templates/wei/weimembership_form.html:127
|
||||||
#: apps/wei/templates/wei/weimembership_form.html:186
|
#: apps/wei/templates/wei/weimembership_form.html:186
|
||||||
msgid "Validate registration"
|
msgid "Validate registration"
|
||||||
@ -2116,54 +2104,54 @@ msgstr "Merci"
|
|||||||
msgid "The Note Kfet team."
|
msgid "The Note Kfet team."
|
||||||
msgstr "L'équipe de la Note Kfet."
|
msgstr "L'équipe de la Note Kfet."
|
||||||
|
|
||||||
#: apps/registration/views.py:40
|
#: apps/registration/views.py:41
|
||||||
msgid "Register new user"
|
msgid "Register new user"
|
||||||
msgstr "Enregistrer un nouvel utilisateur"
|
msgstr "Enregistrer un nouvel utilisateur"
|
||||||
|
|
||||||
#: apps/registration/views.py:98
|
#: apps/registration/views.py:99
|
||||||
msgid "Email validation"
|
msgid "Email validation"
|
||||||
msgstr "Validation de l'adresse mail"
|
msgstr "Validation de l'adresse mail"
|
||||||
|
|
||||||
#: apps/registration/views.py:100
|
#: apps/registration/views.py:101
|
||||||
msgid "Validate email"
|
msgid "Validate email"
|
||||||
msgstr "Valider l'adresse e-mail"
|
msgstr "Valider l'adresse e-mail"
|
||||||
|
|
||||||
#: apps/registration/views.py:144
|
#: apps/registration/views.py:145
|
||||||
msgid "Email validation unsuccessful"
|
msgid "Email validation unsuccessful"
|
||||||
msgstr "La validation de l'adresse mail a échoué"
|
msgstr "La validation de l'adresse mail a échoué"
|
||||||
|
|
||||||
#: apps/registration/views.py:155
|
#: apps/registration/views.py:156
|
||||||
msgid "Email validation email sent"
|
msgid "Email validation email sent"
|
||||||
msgstr "L'email de vérification de l'adresse email a bien été envoyé"
|
msgstr "L'email de vérification de l'adresse email a bien été envoyé"
|
||||||
|
|
||||||
#: apps/registration/views.py:163
|
#: apps/registration/views.py:164
|
||||||
msgid "Resend email validation link"
|
msgid "Resend email validation link"
|
||||||
msgstr "Renvoyer le lien de validation"
|
msgstr "Renvoyer le lien de validation"
|
||||||
|
|
||||||
#: apps/registration/views.py:181
|
#: apps/registration/views.py:182
|
||||||
msgid "Pre-registered users list"
|
msgid "Pre-registered users list"
|
||||||
msgstr "Liste des utilisateurs en attente d'inscription"
|
msgstr "Liste des utilisateurs en attente d'inscription"
|
||||||
|
|
||||||
#: apps/registration/views.py:205
|
#: apps/registration/views.py:206
|
||||||
msgid "Unregistered users"
|
msgid "Unregistered users"
|
||||||
msgstr "Utilisateurs en attente d'inscription"
|
msgstr "Utilisateurs en attente d'inscription"
|
||||||
|
|
||||||
#: apps/registration/views.py:218
|
#: apps/registration/views.py:219
|
||||||
msgid "Registration detail"
|
msgid "Registration detail"
|
||||||
msgstr "Détails de l'inscription"
|
msgstr "Détails de l'inscription"
|
||||||
|
|
||||||
#: apps/registration/views.py:282
|
#: apps/registration/views.py:293
|
||||||
msgid "You must join the BDE."
|
msgid "You must join the BDE."
|
||||||
msgstr "Vous devez adhérer au BDE."
|
msgstr "Vous devez adhérer au BDE."
|
||||||
|
|
||||||
#: apps/registration/views.py:306
|
#: apps/registration/views.py:323
|
||||||
msgid ""
|
msgid ""
|
||||||
"The entered amount is not enough for the memberships, should be at least {}"
|
"The entered amount is not enough for the memberships, should be at least {}"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Le montant crédité est trop faible pour adhérer, il doit être au minimum de "
|
"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:417
|
||||||
msgid "Invalidate pre-registration"
|
msgid "Invalidate pre-registration"
|
||||||
msgstr "Invalider l'inscription"
|
msgstr "Invalider l'inscription"
|
||||||
|
|
||||||
@ -2171,7 +2159,7 @@ msgstr "Invalider l'inscription"
|
|||||||
msgid "Treasury"
|
msgid "Treasury"
|
||||||
msgstr "Trésorerie"
|
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
|
#: apps/treasury/templates/treasury/invoice_form.html:22
|
||||||
msgid "This invoice is locked and can no longer be edited."
|
msgid "This invoice is locked and can no longer be edited."
|
||||||
msgstr "Cette facture est verrouillée et ne peut plus être éditée."
|
msgstr "Cette facture est verrouillée et ne peut plus être éditée."
|
||||||
@ -2184,7 +2172,7 @@ msgstr "La remise est déjà fermée."
|
|||||||
msgid "You can't change the type of the remittance."
|
msgid "You can't change the type of the remittance."
|
||||||
msgstr "Vous ne pouvez pas changer le type de la remise."
|
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/tables.py:97 apps/treasury/tables.py:105
|
||||||
#: apps/treasury/templates/treasury/invoice_list.html:16
|
#: apps/treasury/templates/treasury/invoice_list.html:16
|
||||||
#: apps/treasury/templates/treasury/remittance_list.html:16
|
#: apps/treasury/templates/treasury/remittance_list.html:16
|
||||||
@ -2200,112 +2188,112 @@ msgstr "Pas de remise associée"
|
|||||||
msgid "Invoice identifier"
|
msgid "Invoice identifier"
|
||||||
msgstr "Numéro de facture"
|
msgstr "Numéro de facture"
|
||||||
|
|
||||||
#: apps/treasury/models.py:41
|
#: apps/treasury/models.py:42
|
||||||
msgid "BDE"
|
msgid "BDE"
|
||||||
msgstr "BDE"
|
msgstr "BDE"
|
||||||
|
|
||||||
#: apps/treasury/models.py:46
|
#: apps/treasury/models.py:47
|
||||||
msgid "Object"
|
msgid "Object"
|
||||||
msgstr "Objet"
|
msgstr "Objet"
|
||||||
|
|
||||||
#: apps/treasury/models.py:50
|
#: apps/treasury/models.py:51
|
||||||
msgid "Description"
|
msgid "Description"
|
||||||
msgstr "Description"
|
msgstr "Description"
|
||||||
|
|
||||||
#: apps/treasury/models.py:59
|
#: apps/treasury/models.py:60
|
||||||
msgid "Address"
|
msgid "Address"
|
||||||
msgstr "Adresse"
|
msgstr "Adresse"
|
||||||
|
|
||||||
#: apps/treasury/models.py:64 apps/treasury/models.py:194
|
#: apps/treasury/models.py:65 apps/treasury/models.py:195
|
||||||
msgid "Date"
|
msgid "Date"
|
||||||
msgstr "Date"
|
msgstr "Date"
|
||||||
|
|
||||||
#: apps/treasury/models.py:68
|
#: apps/treasury/models.py:69
|
||||||
msgid "Acquitted"
|
msgid "Acquitted"
|
||||||
msgstr "Acquittée"
|
msgstr "Acquittée"
|
||||||
|
|
||||||
#: apps/treasury/models.py:73
|
#: apps/treasury/models.py:74
|
||||||
msgid "Locked"
|
msgid "Locked"
|
||||||
msgstr "Verrouillée"
|
msgstr "Verrouillée"
|
||||||
|
|
||||||
#: apps/treasury/models.py:74
|
#: apps/treasury/models.py:75
|
||||||
msgid "An invoice can't be edited when it is locked."
|
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."
|
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"
|
msgid "tex source"
|
||||||
msgstr "fichier 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"
|
msgid "invoice"
|
||||||
msgstr "facture"
|
msgstr "facture"
|
||||||
|
|
||||||
#: apps/treasury/models.py:115
|
#: apps/treasury/models.py:116
|
||||||
msgid "invoices"
|
msgid "invoices"
|
||||||
msgstr "factures"
|
msgstr "factures"
|
||||||
|
|
||||||
#: apps/treasury/models.py:118
|
#: apps/treasury/models.py:119
|
||||||
#, python-brace-format
|
#, python-brace-format
|
||||||
msgid "Invoice #{id}"
|
msgid "Invoice #{id}"
|
||||||
msgstr "Facture n°{id}"
|
msgstr "Facture n°{id}"
|
||||||
|
|
||||||
#: apps/treasury/models.py:135
|
#: apps/treasury/models.py:136
|
||||||
msgid "Designation"
|
msgid "Designation"
|
||||||
msgstr "Désignation"
|
msgstr "Désignation"
|
||||||
|
|
||||||
#: apps/treasury/models.py:141
|
#: apps/treasury/models.py:142
|
||||||
msgid "Quantity"
|
msgid "Quantity"
|
||||||
msgstr "Quantité"
|
msgstr "Quantité"
|
||||||
|
|
||||||
#: apps/treasury/models.py:146
|
#: apps/treasury/models.py:147
|
||||||
msgid "Unit price"
|
msgid "Unit price"
|
||||||
msgstr "Prix unitaire"
|
msgstr "Prix unitaire"
|
||||||
|
|
||||||
#: apps/treasury/models.py:162
|
#: apps/treasury/models.py:163
|
||||||
msgid "product"
|
msgid "product"
|
||||||
msgstr "produit"
|
msgstr "produit"
|
||||||
|
|
||||||
#: apps/treasury/models.py:163
|
#: apps/treasury/models.py:164
|
||||||
msgid "products"
|
msgid "products"
|
||||||
msgstr "produits"
|
msgstr "produits"
|
||||||
|
|
||||||
#: apps/treasury/models.py:183
|
#: apps/treasury/models.py:184
|
||||||
msgid "remittance type"
|
msgid "remittance type"
|
||||||
msgstr "type de remise"
|
msgstr "type de remise"
|
||||||
|
|
||||||
#: apps/treasury/models.py:184
|
#: apps/treasury/models.py:185
|
||||||
msgid "remittance types"
|
msgid "remittance types"
|
||||||
msgstr "types de remises"
|
msgstr "types de remises"
|
||||||
|
|
||||||
#: apps/treasury/models.py:205
|
#: apps/treasury/models.py:206
|
||||||
msgid "Comment"
|
msgid "Comment"
|
||||||
msgstr "Commentaire"
|
msgstr "Commentaire"
|
||||||
|
|
||||||
#: apps/treasury/models.py:210
|
#: apps/treasury/models.py:211
|
||||||
msgid "Closed"
|
msgid "Closed"
|
||||||
msgstr "Fermée"
|
msgstr "Fermée"
|
||||||
|
|
||||||
#: apps/treasury/models.py:214
|
#: apps/treasury/models.py:215
|
||||||
msgid "remittance"
|
msgid "remittance"
|
||||||
msgstr "remise"
|
msgstr "remise"
|
||||||
|
|
||||||
#: apps/treasury/models.py:215
|
#: apps/treasury/models.py:216
|
||||||
msgid "remittances"
|
msgid "remittances"
|
||||||
msgstr "remises"
|
msgstr "remises"
|
||||||
|
|
||||||
#: apps/treasury/models.py:248
|
#: apps/treasury/models.py:249
|
||||||
msgid "Remittance #{:d}: {}"
|
msgid "Remittance #{:d}: {}"
|
||||||
msgstr "Remise n°{:d} : {}"
|
msgstr "Remise n°{:d} : {}"
|
||||||
|
|
||||||
#: apps/treasury/models.py:272
|
#: apps/treasury/models.py:273
|
||||||
msgid "special transaction proxy"
|
msgid "special transaction proxy"
|
||||||
msgstr "proxy de transaction spéciale"
|
msgstr "proxy de transaction spéciale"
|
||||||
|
|
||||||
#: apps/treasury/models.py:273
|
#: apps/treasury/models.py:274
|
||||||
msgid "special transaction proxies"
|
msgid "special transaction proxies"
|
||||||
msgstr "proxys de transactions spéciales"
|
msgstr "proxys de transactions spéciales"
|
||||||
|
|
||||||
#: apps/treasury/models.py:299
|
#: apps/treasury/models.py:300
|
||||||
msgid "credit transaction"
|
msgid "credit transaction"
|
||||||
msgstr "transaction de crédit"
|
msgstr "transaction de crédit"
|
||||||
|
|
||||||
@ -2317,16 +2305,16 @@ msgstr ""
|
|||||||
"Cet utilisateur n'a pas assez d'argent pour payer les adhésions avec sa "
|
"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."
|
"note. Merci de lui demander de recharger sa note avant d'invalider ce crédit."
|
||||||
|
|
||||||
#: apps/treasury/models.py:453
|
#: apps/treasury/models.py:452
|
||||||
#: apps/treasury/templates/treasury/sogecredit_detail.html:10
|
#: apps/treasury/templates/treasury/sogecredit_detail.html:10
|
||||||
msgid "Credit from the Société générale"
|
msgid "Credit from the Société générale"
|
||||||
msgstr "Crédit de la Société générale"
|
msgstr "Crédit de la Société générale"
|
||||||
|
|
||||||
#: apps/treasury/models.py:454
|
#: apps/treasury/models.py:453
|
||||||
msgid "Credits from the Société générale"
|
msgid "Credits from the Société générale"
|
||||||
msgstr "Crédits de la Société générale"
|
msgstr "Crédits de la Société générale"
|
||||||
|
|
||||||
#: apps/treasury/models.py:457
|
#: apps/treasury/models.py:456
|
||||||
#, python-brace-format
|
#, python-brace-format
|
||||||
msgid "Soge credit for {user}"
|
msgid "Soge credit for {user}"
|
||||||
msgstr "Crédit de la société générale pour l'utilisateur {user}"
|
msgstr "Crédit de la société générale pour l'utilisateur {user}"
|
||||||
@ -2586,7 +2574,7 @@ msgstr ""
|
|||||||
"compte"
|
"compte"
|
||||||
|
|
||||||
#: apps/wei/forms/registration.py:59 apps/wei/models.py:126
|
#: apps/wei/forms/registration.py:59 apps/wei/models.py:126
|
||||||
#: apps/wei/models.py:323
|
#: apps/wei/models.py:326
|
||||||
msgid "bus"
|
msgid "bus"
|
||||||
msgstr "bus"
|
msgstr "bus"
|
||||||
|
|
||||||
@ -2711,40 +2699,48 @@ msgstr "Non-binaire"
|
|||||||
msgid "gender"
|
msgid "gender"
|
||||||
msgstr "genre"
|
msgstr "genre"
|
||||||
|
|
||||||
#: apps/wei/models.py:213 apps/wei/templates/wei/weimembership_form.html:58
|
#: apps/wei/models.py:212
|
||||||
|
msgid "Unisex"
|
||||||
|
msgstr "Unisexe"
|
||||||
|
|
||||||
|
#: apps/wei/models.py:215 apps/wei/templates/wei/weimembership_form.html:58
|
||||||
msgid "clothing cut"
|
msgid "clothing cut"
|
||||||
msgstr "coupe de vêtement"
|
msgstr "coupe de vêtement"
|
||||||
|
|
||||||
#: apps/wei/models.py:226 apps/wei/templates/wei/weimembership_form.html:61
|
#: apps/wei/models.py:228 apps/wei/templates/wei/weimembership_form.html:61
|
||||||
msgid "clothing size"
|
msgid "clothing size"
|
||||||
msgstr "taille de vêtement"
|
msgstr "taille de vêtement"
|
||||||
|
|
||||||
#: apps/wei/models.py:232 apps/wei/templates/wei/attribute_bus_1A.html:28
|
#: apps/wei/models.py:234 apps/wei/templates/wei/attribute_bus_1A.html:28
|
||||||
#: apps/wei/templates/wei/weimembership_form.html:67
|
#: apps/wei/templates/wei/weimembership_form.html:67
|
||||||
msgid "health issues"
|
msgid "health issues"
|
||||||
msgstr "problèmes de santé"
|
msgstr "problèmes de santé"
|
||||||
|
|
||||||
#: apps/wei/models.py:237 apps/wei/templates/wei/weimembership_form.html:70
|
#: apps/wei/models.py:239 apps/wei/templates/wei/weimembership_form.html:70
|
||||||
msgid "emergency contact name"
|
msgid "emergency contact name"
|
||||||
msgstr "nom du contact en cas d'urgence"
|
msgstr "nom du contact en cas d'urgence"
|
||||||
|
|
||||||
#: apps/wei/models.py:242 apps/wei/templates/wei/weimembership_form.html:73
|
#: apps/wei/models.py:240
|
||||||
|
msgid "The emergency contact must not be a WEI participant"
|
||||||
|
msgstr "Le contact en cas d'urgence ne doit pas être une personne qui participe au WEI"
|
||||||
|
|
||||||
|
#: apps/wei/models.py:245 apps/wei/templates/wei/weimembership_form.html:73
|
||||||
msgid "emergency contact phone"
|
msgid "emergency contact phone"
|
||||||
msgstr "téléphone du contact en cas d'urgence"
|
msgstr "téléphone du contact en cas d'urgence"
|
||||||
|
|
||||||
#: apps/wei/models.py:247 apps/wei/templates/wei/weimembership_form.html:52
|
#: apps/wei/models.py:250 apps/wei/templates/wei/weimembership_form.html:52
|
||||||
msgid "first year"
|
msgid "first year"
|
||||||
msgstr "première année"
|
msgstr "première année"
|
||||||
|
|
||||||
#: apps/wei/models.py:248
|
#: apps/wei/models.py:251
|
||||||
msgid "Tells if the user is new in the school."
|
msgid "Tells if the user is new in the school."
|
||||||
msgstr "Indique si l'utilisateur est nouveau dans l'école."
|
msgstr "Indique si l'utilisateur est nouveau dans l'école."
|
||||||
|
|
||||||
#: apps/wei/models.py:253
|
#: apps/wei/models.py:256
|
||||||
msgid "registration information"
|
msgid "registration information"
|
||||||
msgstr "informations sur l'inscription"
|
msgstr "informations sur l'inscription"
|
||||||
|
|
||||||
#: apps/wei/models.py:254
|
#: apps/wei/models.py:257
|
||||||
msgid ""
|
msgid ""
|
||||||
"Information about the registration (buses for old members, survey for the "
|
"Information about the registration (buses for old members, survey for the "
|
||||||
"new members), encoded in JSON"
|
"new members), encoded in JSON"
|
||||||
@ -2752,27 +2748,27 @@ msgstr ""
|
|||||||
"Informations sur l'inscription (bus pour les 2A+, questionnaire pour les "
|
"Informations sur l'inscription (bus pour les 2A+, questionnaire pour les "
|
||||||
"1A), encodées en JSON"
|
"1A), encodées en JSON"
|
||||||
|
|
||||||
#: apps/wei/models.py:312
|
#: apps/wei/models.py:315
|
||||||
msgid "WEI User"
|
msgid "WEI User"
|
||||||
msgstr "Participant au WEI"
|
msgstr "Participant au WEI"
|
||||||
|
|
||||||
#: apps/wei/models.py:313
|
#: apps/wei/models.py:316
|
||||||
msgid "WEI Users"
|
msgid "WEI Users"
|
||||||
msgstr "Participants au WEI"
|
msgstr "Participants au WEI"
|
||||||
|
|
||||||
#: apps/wei/models.py:333
|
#: apps/wei/models.py:336
|
||||||
msgid "team"
|
msgid "team"
|
||||||
msgstr "équipe"
|
msgstr "équipe"
|
||||||
|
|
||||||
#: apps/wei/models.py:343
|
#: apps/wei/models.py:346
|
||||||
msgid "WEI registration"
|
msgid "WEI registration"
|
||||||
msgstr "Inscription au WEI"
|
msgstr "Inscription au WEI"
|
||||||
|
|
||||||
#: apps/wei/models.py:347
|
#: apps/wei/models.py:350
|
||||||
msgid "WEI membership"
|
msgid "WEI membership"
|
||||||
msgstr "Adhésion au WEI"
|
msgstr "Adhésion au WEI"
|
||||||
|
|
||||||
#: apps/wei/models.py:348
|
#: apps/wei/models.py:351
|
||||||
msgid "WEI memberships"
|
msgid "WEI memberships"
|
||||||
msgstr "Adhésions au WEI"
|
msgstr "Adhésions au WEI"
|
||||||
|
|
||||||
@ -3566,3 +3562,18 @@ msgstr ""
|
|||||||
"vous connecter. Vous devez vous rendre à la Kfet et payer les frais "
|
"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 "
|
"d'adhésion. Vous devez également valider votre adresse email en suivant le "
|
||||||
"lien que vous avez reçu."
|
"lien que vous avez reçu."
|
||||||
|
|
||||||
|
#~ msgid ""
|
||||||
|
#~ "I declare that I opened or I will open soon a bank account in the Société "
|
||||||
|
#~ "générale with the BDE partnership."
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ "Je déclare avoir ouvert ou ouvrir prochainement un compte à la société "
|
||||||
|
#~ "générale avec le partenariat du BDE."
|
||||||
|
|
||||||
|
#~ msgid ""
|
||||||
|
#~ "Warning: this engages you to open your bank account. If you finally "
|
||||||
|
#~ "decides to don't open your account, you will have to pay the BDE "
|
||||||
|
#~ "membership."
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ "Attention : cocher cette case vous engage à ouvrir votre compte. Si vous "
|
||||||
|
#~ "décidez de ne pas le faire, vous devrez payer l'adhésion au BDE."
|
||||||
|
Loading…
Reference in New Issue
Block a user