mirror of
				https://gitlab.crans.org/bde/nk20
				synced 2025-11-04 01:12:08 +01:00 
			
		
		
		
	Fix #126 (join_bda)
This commit is contained in:
		@@ -151,7 +151,7 @@ class ClubForm(forms.ModelForm):
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    class Meta:
 | 
					    class Meta:
 | 
				
			||||||
        model = Club
 | 
					        model = Club
 | 
				
			||||||
        fields = '__all__'
 | 
					        exclude = ("add_registration_form",)
 | 
				
			||||||
        widgets = {
 | 
					        widgets = {
 | 
				
			||||||
            "membership_fee_paid": AmountInput(),
 | 
					            "membership_fee_paid": AmountInput(),
 | 
				
			||||||
            "membership_fee_unpaid": AmountInput(),
 | 
					            "membership_fee_unpaid": AmountInput(),
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										18
									
								
								apps/member/migrations/0012_club_add_registration_form.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								apps/member/migrations/0012_club_add_registration_form.py
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,18 @@
 | 
				
			|||||||
 | 
					# Generated by Django 2.2.28 on 2024-07-15 09:24
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					from django.db import migrations, models
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					class Migration(migrations.Migration):
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    dependencies = [
 | 
				
			||||||
 | 
					        ('member', '0011_profile_vss_charter_read'),
 | 
				
			||||||
 | 
					    ]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    operations = [
 | 
				
			||||||
 | 
					        migrations.AddField(
 | 
				
			||||||
 | 
					            model_name='club',
 | 
				
			||||||
 | 
					            name='add_registration_form',
 | 
				
			||||||
 | 
					            field=models.BooleanField(default=False, verbose_name='add to registration form'),
 | 
				
			||||||
 | 
					        ),
 | 
				
			||||||
 | 
					    ]
 | 
				
			||||||
@@ -259,6 +259,11 @@ class Club(models.Model):
 | 
				
			|||||||
        help_text=_('Maximal date of a membership, after which members must renew it.'),
 | 
					        help_text=_('Maximal date of a membership, after which members must renew it.'),
 | 
				
			||||||
    )
 | 
					    )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    add_registration_form = models.BooleanField(
 | 
				
			||||||
 | 
					        verbose_name=_("add to registration form"),
 | 
				
			||||||
 | 
					        default=False,
 | 
				
			||||||
 | 
					    )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    class Meta:
 | 
					    class Meta:
 | 
				
			||||||
        verbose_name = _("club")
 | 
					        verbose_name = _("club")
 | 
				
			||||||
        verbose_name_plural = _("clubs")
 | 
					        verbose_name_plural = _("clubs")
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -5,7 +5,6 @@ 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
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -115,12 +114,3 @@ 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=True,
 | 
					 | 
				
			||||||
#         )
 | 
					 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,6 +1,7 @@
 | 
				
			|||||||
# Copyright (C) 2018-2024 by BDE ENS Paris-Saclay
 | 
					# Copyright (C) 2018-2024 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.conf import settings
 | 
					from django.conf import settings
 | 
				
			||||||
from django.contrib.auth.mixins import LoginRequiredMixin
 | 
					from django.contrib.auth.mixins import LoginRequiredMixin
 | 
				
			||||||
from django.contrib.auth.models import User
 | 
					from django.contrib.auth.models import User
 | 
				
			||||||
@@ -238,9 +239,8 @@ 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():
 | 
					        for club in Club.objects.filter(add_registration_form=True):
 | 
				
			||||||
            bda = Club.objects.get(name__iexact="BDA")
 | 
					            fee += club.membership_fee_paid if user.profile.paid else club.membership_fee_unpaid
 | 
				
			||||||
            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()
 | 
				
			||||||
@@ -249,6 +249,16 @@ class FutureUserDetailView(ProtectQuerysetMixin, LoginRequiredMixin, FormMixin,
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    def get_form(self, form_class=None):
 | 
					    def get_form(self, form_class=None):
 | 
				
			||||||
        form = super().get_form(form_class)
 | 
					        form = super().get_form(form_class)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        # add clubs that are in registration form
 | 
				
			||||||
 | 
					        for club in Club.objects.filter(add_registration_form=True).order_by("name"):
 | 
				
			||||||
 | 
					            form_join_club = forms.BooleanField(
 | 
				
			||||||
 | 
					                label=_("Join %(club)s Club") % {'club': club.name},
 | 
				
			||||||
 | 
					                required=False,
 | 
				
			||||||
 | 
					                initial=False,
 | 
				
			||||||
 | 
					            )
 | 
				
			||||||
 | 
					            form.fields.update({f"join_{club.id}": form_join_club})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        user = self.get_object()
 | 
					        user = self.get_object()
 | 
				
			||||||
        form.fields["last_name"].initial = user.last_name
 | 
					        form.fields["last_name"].initial = user.last_name
 | 
				
			||||||
        form.fields["first_name"].initial = user.first_name
 | 
					        form.fields["first_name"].initial = user.first_name
 | 
				
			||||||
@@ -266,11 +276,6 @@ 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"]
 | 
				
			||||||
@@ -280,8 +285,9 @@ 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"]
 | 
					        clubs_registration = Club.objects.filter(add_registration_form=True).order_by("name")
 | 
				
			||||||
 | 
					        join_clubs = [(club, form.cleaned_data[f"join_{club.id}"]) for club in clubs_registration]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#        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.
 | 
				
			||||||
@@ -303,11 +309,12 @@ 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:
 | 
					        clubs_fee = dict()
 | 
				
			||||||
            bda = Club.objects.get(name__iexact="BDA")
 | 
					        for club, join_club in join_clubs:
 | 
				
			||||||
            bda_fee = bda.membership_fee_paid if user.profile.paid else bda.membership_fee_unpaid
 | 
					            club_fee = club.membership_fee_paid if user.profile.paid else club.membership_fee_unpaid
 | 
				
			||||||
            # Add extra fee for the bda membership
 | 
					            # Add extra fee for the club membership
 | 
				
			||||||
            fee += bda_fee if join_bda else 0
 | 
					            clubs_fee[club] = club_fee
 | 
				
			||||||
 | 
					            fee += club_fee if join_club 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.
 | 
				
			||||||
@@ -387,17 +394,18 @@ class FutureUserDetailView(ProtectQuerysetMixin, LoginRequiredMixin, FormMixin,
 | 
				
			|||||||
            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 bda_exists and join_bda:
 | 
					        for club, join_club in join_clubs:
 | 
				
			||||||
            # Create membership for the user to the BDA starting today
 | 
					            if join_club:
 | 
				
			||||||
            membership = Membership(
 | 
					                # Create membership for the user to the BDA starting today
 | 
				
			||||||
                club=bda,
 | 
					                membership = Membership(
 | 
				
			||||||
                user=user,
 | 
					                    club=club,
 | 
				
			||||||
                fee=bda_fee,
 | 
					                    user=user,
 | 
				
			||||||
            )
 | 
					                    fee=clubs_fee[club],
 | 
				
			||||||
            membership.save()
 | 
					                )
 | 
				
			||||||
            membership.refresh_from_db()
 | 
					                membership.save()
 | 
				
			||||||
            membership.roles.add(Role.objects.get(name="Membre de club"))
 | 
					                membership.refresh_from_db()
 | 
				
			||||||
            membership.save()
 | 
					                membership.roles.add(Role.objects.get(name="Membre de club"))
 | 
				
			||||||
 | 
					                membership.save()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#        if soge:
 | 
					#        if soge:
 | 
				
			||||||
#            soge_credit = SogeCredit.objects.get(user=user)
 | 
					#            soge_credit = SogeCredit.objects.get(user=user)
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -114,7 +114,7 @@ msgstr "Lieu où l'activité est organisée, par exemple la Kfet."
 | 
				
			|||||||
msgid "type"
 | 
					msgid "type"
 | 
				
			||||||
msgstr "type"
 | 
					msgstr "type"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#: apps/activity/models.py:89 apps/logs/models.py:22 apps/member/models.py:313
 | 
					#: apps/activity/models.py:89 apps/logs/models.py:22 apps/member/models.py:318
 | 
				
			||||||
#: apps/note/models/notes.py:148 apps/treasury/models.py:293
 | 
					#: apps/note/models/notes.py:148 apps/treasury/models.py:293
 | 
				
			||||||
#: apps/wei/models.py:171 apps/wei/templates/wei/attribute_bus_1A.html:13
 | 
					#: apps/wei/models.py:171 apps/wei/templates/wei/attribute_bus_1A.html:13
 | 
				
			||||||
#: apps/wei/templates/wei/survey.html:15
 | 
					#: apps/wei/templates/wei/survey.html:15
 | 
				
			||||||
@@ -507,11 +507,11 @@ msgstr "cotisation pour adhérer (normalien·ne élève)"
 | 
				
			|||||||
msgid "membership fee (unpaid students)"
 | 
					msgid "membership fee (unpaid students)"
 | 
				
			||||||
msgstr "cotisation pour adhérer (normalien·ne étudiant·e)"
 | 
					msgstr "cotisation pour adhérer (normalien·ne étudiant·e)"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#: apps/member/admin.py:65 apps/member/models.py:325
 | 
					#: apps/member/admin.py:65 apps/member/models.py:330
 | 
				
			||||||
msgid "roles"
 | 
					msgid "roles"
 | 
				
			||||||
msgstr "rôles"
 | 
					msgstr "rôles"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#: apps/member/admin.py:66 apps/member/models.py:339
 | 
					#: apps/member/admin.py:66 apps/member/models.py:344
 | 
				
			||||||
msgid "fee"
 | 
					msgid "fee"
 | 
				
			||||||
msgstr "cotisation"
 | 
					msgstr "cotisation"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -563,7 +563,7 @@ 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:148 apps/member/views.py:102
 | 
					#: apps/member/forms.py:148 apps/member/views.py:102
 | 
				
			||||||
#: apps/registration/forms.py:34 apps/registration/views.py:266
 | 
					#: apps/registration/forms.py:34 apps/registration/views.py:276
 | 
				
			||||||
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à."
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -852,46 +852,50 @@ msgstr ""
 | 
				
			|||||||
"Date maximale d'une fin d'adhésion, après laquelle les adhérent·e·s doivent la "
 | 
					"Date maximale d'une fin d'adhésion, après laquelle les adhérent·e·s doivent la "
 | 
				
			||||||
"renouveler."
 | 
					"renouveler."
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#: apps/member/models.py:263 apps/member/models.py:319
 | 
					#: apps/member/models.py:263
 | 
				
			||||||
 | 
					msgid "add to registration form"
 | 
				
			||||||
 | 
					msgstr "ajouter au formulaire d'inscription"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: apps/member/models.py:268 apps/member/models.py:324
 | 
				
			||||||
#: apps/note/models/notes.py:176
 | 
					#: apps/note/models/notes.py:176
 | 
				
			||||||
msgid "club"
 | 
					msgid "club"
 | 
				
			||||||
msgstr "club"
 | 
					msgstr "club"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#: apps/member/models.py:264
 | 
					#: apps/member/models.py:269
 | 
				
			||||||
msgid "clubs"
 | 
					msgid "clubs"
 | 
				
			||||||
msgstr "clubs"
 | 
					msgstr "clubs"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#: apps/member/models.py:330
 | 
					#: apps/member/models.py:335
 | 
				
			||||||
msgid "membership starts on"
 | 
					msgid "membership starts on"
 | 
				
			||||||
msgstr "l'adhésion commence le"
 | 
					msgstr "l'adhésion commence le"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#: apps/member/models.py:334
 | 
					#: apps/member/models.py:339
 | 
				
			||||||
msgid "membership ends on"
 | 
					msgid "membership ends on"
 | 
				
			||||||
msgstr "l'adhésion finit le"
 | 
					msgstr "l'adhésion finit le"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#: apps/member/models.py:343 apps/note/models/transactions.py:385
 | 
					#: apps/member/models.py:348 apps/note/models/transactions.py:385
 | 
				
			||||||
msgid "membership"
 | 
					msgid "membership"
 | 
				
			||||||
msgstr "adhésion"
 | 
					msgstr "adhésion"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#: apps/member/models.py:344
 | 
					#: apps/member/models.py:349
 | 
				
			||||||
msgid "memberships"
 | 
					msgid "memberships"
 | 
				
			||||||
msgstr "adhésions"
 | 
					msgstr "adhésions"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#: apps/member/models.py:348
 | 
					#: apps/member/models.py:353
 | 
				
			||||||
#, python-brace-format
 | 
					#, python-brace-format
 | 
				
			||||||
msgid "Membership of {user} for the club {club}"
 | 
					msgid "Membership of {user} for the club {club}"
 | 
				
			||||||
msgstr "Adhésion de {user} pour le club {club}"
 | 
					msgstr "Adhésion de {user} pour le club {club}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#: apps/member/models.py:367
 | 
					#: apps/member/models.py:372
 | 
				
			||||||
#, python-brace-format
 | 
					#, python-brace-format
 | 
				
			||||||
msgid "The role {role} does not apply to the club {club}."
 | 
					msgid "The role {role} does not apply to the club {club}."
 | 
				
			||||||
msgstr "Le rôle {role} ne s'applique pas au club {club}."
 | 
					msgstr "Le rôle {role} ne s'applique pas au club {club}."
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#: apps/member/models.py:376 apps/member/views.py:712
 | 
					#: apps/member/models.py:381 apps/member/views.py:712
 | 
				
			||||||
msgid "User is already a member of the club"
 | 
					msgid "User is already a member of the club"
 | 
				
			||||||
msgstr "L'utilisateur·ice est déjà membre du club"
 | 
					msgstr "L'utilisateur·ice est déjà membre du club"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#: apps/member/models.py:388 apps/member/views.py:721
 | 
					#: apps/member/models.py:393 apps/member/views.py:721
 | 
				
			||||||
msgid "User is not a member of the parent club"
 | 
					msgid "User is not a member of the parent club"
 | 
				
			||||||
msgstr "L'utilisateur·ice n'est pas membre du club parent"
 | 
					msgstr "L'utilisateur·ice n'est pas membre du club parent"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -2183,18 +2187,23 @@ msgstr "Utilisateur·ice·s en attente d'inscription"
 | 
				
			|||||||
msgid "Registration detail"
 | 
					msgid "Registration detail"
 | 
				
			||||||
msgstr "Détails de l'inscription"
 | 
					msgstr "Détails de l'inscription"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#: apps/registration/views.py:293
 | 
					#: apps/registration/views.py:256
 | 
				
			||||||
 | 
					#, python-format
 | 
				
			||||||
 | 
					msgid "Join %(club)s Club"
 | 
				
			||||||
 | 
					msgstr "Adhérer au club %(club)s"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#: apps/registration/views.py:299
 | 
				
			||||||
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:323
 | 
					#: apps/registration/views.py:330
 | 
				
			||||||
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:417
 | 
					#: apps/registration/views.py:425
 | 
				
			||||||
msgid "Invalidate pre-registration"
 | 
					msgid "Invalidate pre-registration"
 | 
				
			||||||
msgstr "Invalider l'inscription"
 | 
					msgstr "Invalider l'inscription"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -3620,9 +3629,6 @@ msgstr ""
 | 
				
			|||||||
"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 "Join BDA Club"
 | 
					 | 
				
			||||||
#~ msgstr "Adhérer au club BDA"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#, fuzzy
 | 
					#, fuzzy
 | 
				
			||||||
#~| msgid "People having you as a friend"
 | 
					#~| msgid "People having you as a friend"
 | 
				
			||||||
#~ msgid "You already have that person as a friend"
 | 
					#~ msgid "You already have that person as a friend"
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user