diff --git a/apps/member/views.py b/apps/member/views.py
index 349195973c7f986c8bcba6e24c6d13ba4288d0b4..879b103c61d1af5641287ef23d8869d415bacd16 100644
--- a/apps/member/views.py
+++ b/apps/member/views.py
@@ -165,7 +165,7 @@ class UserListView(ProtectQuerysetMixin, LoginRequiredMixin, SingleTableView):
                 Q(first_name__iregex=pattern)
                 | Q(last_name__iregex=pattern)
                 | Q(profile__section__iregex=pattern)
-                | Q(profile__username__iregex="^" + pattern)
+                | Q(username__iregex="^" + pattern)
                 | Q(note__alias__name__iregex="^" + pattern)
                 | Q(note__alias__normalized_name__iregex=Alias.normalize("^" + pattern))
             )
diff --git a/apps/registration/forms.py b/apps/registration/forms.py
index cba5c2ae118e8980ae6c8f2aedd17d8fb8e58661..46559487df84c20d51d89a25812ddd484356f3a7 100644
--- a/apps/registration/forms.py
+++ b/apps/registration/forms.py
@@ -27,6 +27,15 @@ class SignUpForm(UserCreationForm):
         fields = ('first_name', 'last_name', 'username', 'email', )
 
 
+class WEISignupForm(forms.Form):
+    wei_registration = forms.BooleanField(
+        label=_("Register to the WEI"),
+        required=False,
+        help_text=_("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."),
+    )
+
+
 class ValidationForm(forms.Form):
     """
     Validate the inscription of the new users and pay memberships.
diff --git a/apps/registration/views.py b/apps/registration/views.py
index 35391b05364871fddafbe673922b3b0ca85b844d..31163524ae0d7be62d35d9775a20131cd446469d 100644
--- a/apps/registration/views.py
+++ b/apps/registration/views.py
@@ -5,13 +5,13 @@ from django.conf import settings
 from django.contrib.auth.mixins import LoginRequiredMixin
 from django.contrib.auth.models import User
 from django.core.exceptions import ValidationError
-from django.db.models import Q
+from django.db.models import Q, BooleanField
 from django.shortcuts import resolve_url, redirect
 from django.urls import reverse_lazy
 from django.utils.http import urlsafe_base64_decode
 from django.utils.translation import gettext_lazy as _
 from django.views import View
-from django.views.generic import CreateView, TemplateView, DetailView, FormView
+from django.views.generic import CreateView, TemplateView, DetailView
 from django.views.generic.edit import FormMixin
 from django_tables2 import SingleTableView
 from member.forms import ProfileForm
@@ -20,8 +20,9 @@ from note.models import SpecialTransaction, NoteSpecial
 from note.templatetags.pretty_money import pretty_money
 from permission.backends import PermissionBackend
 from permission.views import ProtectQuerysetMixin
+from wei.models import WEIClub
 
-from .forms import SignUpForm, ValidationForm
+from .forms import SignUpForm, ValidationForm, WEISignupForm
 from .tables import FutureUserTable
 from .tokens import email_validation_token
 
@@ -40,6 +41,14 @@ class UserCreateView(CreateView):
         context = super().get_context_data(**kwargs)
         context["profile_form"] = self.second_form()
 
+        if "wei" in settings.INSTALLED_APPS:
+            from wei.forms import WEIRegistrationForm
+            wei_form = WEIRegistrationForm()
+            del wei_form.fields["user"]
+            del wei_form.fields["caution_check"]
+            context["wei_form"] = wei_form
+            context["wei_registration_form"] = WEISignupForm()
+
         return context
 
     def form_valid(self, form):
@@ -52,6 +61,19 @@ class UserCreateView(CreateView):
         if not profile_form.is_valid():
             return self.form_invalid(form)
 
+        wei_form = None
+
+        if "wei" in settings.INSTALLED_APPS:
+            wei_signup_form = WEISignupForm(self.request.POST)
+            if wei_signup_form.is_valid() and wei_signup_form.cleaned_data["wei_registration"]:
+                from wei.forms import WEIRegistrationForm
+                wei_form = WEIRegistrationForm(self.request.POST)
+                del wei_form.fields["user"]
+                del wei_form.fields["caution_check"]
+
+                if not wei_form.is_valid():
+                    return self.form_invalid(wei_form)
+
         # Save the user and the profile
         user = form.save(commit=False)
         user.is_active = False
@@ -65,6 +87,13 @@ class UserCreateView(CreateView):
 
         user.profile.send_email_validation_link()
 
+        if wei_form is not None:
+            wei_registration = wei_form.instance
+            wei_registration.user = user
+            wei_registration.wei = WEIClub.objects.order_by('date_start').last()
+            wei_registration.caution_check = False
+            wei_registration.save()
+
         return super().form_valid(form)
 
 
@@ -112,7 +141,7 @@ class UserValidateView(TemplateView):
 
     def get_context_data(self, **kwargs):
         context = super().get_context_data(**kwargs)
-        context['user'] = self.get_user(self.kwargs["uidb64"])
+        context['user_object'] = self.get_user(self.kwargs["uidb64"])
         context['login_url'] = resolve_url(settings.LOGIN_URL)
         if self.validlink:
             context['validlink'] = True
diff --git a/apps/wei/forms.py b/apps/wei/forms.py
index 976284f214133bede675917b560feee3aca53a53..df403ffc6788e157017f4c321d88ff1241abb3ab 100644
--- a/apps/wei/forms.py
+++ b/apps/wei/forms.py
@@ -24,11 +24,6 @@ class WEIForm(forms.ModelForm):
 
 
 class WEIRegistrationForm(forms.ModelForm):
-    def __init__(self, *args, **kwargs):
-        super().__init__(*args, **kwargs)
-
-        self.fields["payment_method"].empty_label = _("No credit, directly pay with note balance")
-
     class Meta:
         model = WEIRegistration
         exclude = ('wei', 'information_json', )
diff --git a/apps/wei/models.py b/apps/wei/models.py
index 2a351cee9b2a2a82f9884b8685df2d6c677a3c9d..4c32af4d17450e2840298ac486651fc00b2d3a08 100644
--- a/apps/wei/models.py
+++ b/apps/wei/models.py
@@ -133,16 +133,6 @@ class WEIRegistration(models.Model):
         verbose_name=_("WEI"),
     )
 
-    payment_method = models.ForeignKey(
-        NoteSpecial,
-        on_delete=models.PROTECT,
-        null=True,  # null = no credit, paid with note
-        blank=True,
-        default=None,
-        related_name="+",
-        verbose_name=_("payment method"),
-    )
-
     soge_credit = models.BooleanField(
         default=False,
         verbose_name=_("Credit from Société générale"),
diff --git a/apps/wei/views.py b/apps/wei/views.py
index d84b6d626684c8ed45e126a28a7d8847a8466e5a..93d89913a6b57fa92437e197aa4bbd92541c42b8 100644
--- a/apps/wei/views.py
+++ b/apps/wei/views.py
@@ -258,7 +258,6 @@ class WEIRegisterView(ProtectQuerysetMixin, LoginRequiredMixin, CreateView):
     def get_form(self, form_class=None):
         form = super().get_form(form_class)
         form.fields["user"].initial = self.request.user
-        del form.fields["payment_method"]
         return form
 
     def form_valid(self, form):
@@ -280,7 +279,6 @@ class WEIUpdateRegistrationView(ProtectQuerysetMixin, LoginRequiredMixin, Update
     def get_form(self, form_class=None):
         form = super().get_form(form_class)
         del form.fields["user"]
-        del form.fields["payment_method"]
         return form
 
     def get_success_url(self):
diff --git a/templates/member/user_list.html b/templates/member/user_list.html
index 0bcd7e89c2dd9e2db54b72e2fd69ccdb70a0d6a4..018c479d32b5bb7ba6b243d4a7c9637c56938f41 100644
--- a/templates/member/user_list.html
+++ b/templates/member/user_list.html
@@ -1,6 +1,8 @@
 {% extends "base.html" %}
 {% load render_table from django_tables2 %}
-{% load crispy_forms_tags%}
+{% load crispy_forms_tags %}
+{% load i18n %}
+
 {% block content %}
     <input id="searchbar" type="text" class="form-control" placeholder="Nom/prénom/note/section ...">
 
@@ -11,7 +13,7 @@
             {% render_table table %}
         {% else %}
             <div class="alert alert-warning">
-                {% trans "There is no pending user with this pattern." %}
+                {% trans "There is no user with this pattern." %}
             </div>
         {% endif %}
     </div>
diff --git a/templates/registration/email_validation_complete.html b/templates/registration/email_validation_complete.html
index 4835cfa16f2ee9c0fd5bcda1d121487171339400..b54432f36220215ae04a059d4ddfddc898090dec 100644
--- a/templates/registration/email_validation_complete.html
+++ b/templates/registration/email_validation_complete.html
@@ -4,7 +4,7 @@
 {% block content %}
     {% if validlink %}
         {% trans "Your email have successfully been validated." %}
-        {% if user.profile.registration_valid %}
+        {% if user_object.profile.registration_valid %}
             {% blocktrans %}You can now <a href="{{ login_url }}">log in</a>.{% endblocktrans %}
         {% else %}
             {% trans "You must pay now your membership in the Kfet to complete your registration." %}
diff --git a/templates/registration/signup.html b/templates/registration/signup.html
index d7b3c23ef8bb0fba2baebc04e178ecf1bc59ab78..d07187af1c3b68125291cf3d1329a713c1a29b86 100644
--- a/templates/registration/signup.html
+++ b/templates/registration/signup.html
@@ -5,13 +5,47 @@
 {% block title %}{% trans "Sign up" %}{% endblock %}
 
 {% block content %}
-  <h2>{% trans "Sign up" %}</h2>
-  <form method="post">
-      {% csrf_token %}
-      {{ form|crispy }}
-      {{ profile_form|crispy }}
-      <button class="btn btn-success" type="submit">
-          {% trans "Sign up" %}
-      </button>
-  </form>
+    <h2>{% trans "Sign up" %}</h2>
+
+    <div class="alert alert-warning">
+        {% blocktrans %}
+            If you already signed up, your registration is taken into account. The BDE must validate your account before
+            your can log in. You have to go to the Kfet and pay the registration fee. You must also validate your email
+            address by following the link you received. If you forgot to register to the WEI, then you can pre-register
+            to the WEI after your account get validated, so please go to the Kfet.
+        {% endblocktrans %}
+    </div>
+
+    <form method="post">
+        {% csrf_token %}
+        {{ form|crispy }}
+        {{ profile_form|crispy }}
+        {{ wei_registration_form|crispy }}
+        <div id="wei_form_div" class="d-none">
+            {{ wei_form|crispy }}
+        </div>
+        <button class="btn btn-success" type="submit">
+            {% trans "Sign up" %}
+        </button>
+    </form>
+{% endblock %}
+
+{% block extrajavascript %}
+    <script>
+        $("#id_wei_registration").change(function () {
+            if ($(this).is(":checked")) {
+                $("#wei_form_div").removeClass('d-none');
+                $("#wei_form_div .form-control").removeAttr('disabled');
+            }
+            else {
+                $("#wei_form_div").addClass('d-none');
+                $("#wei_form_div .form-control").attr('disabled', true);
+            }
+        });
+
+        if ($("#id_wei_registration").is(":checked")) {
+            $("#wei_form_div").removeClass('d-none');
+            $("#wei_form_div .form-control").removeAttr('disabled');
+        }
+    </script>
 {% endblock %}