Parcourir la source

Set self-registered members to « pending » status.

They should not considered as members until a manual action from admin has been
taken (validation and membership fee reception).
Jocelyn Delalande il y a 6 ans
Parent
commit
af72eadafb
2 fichiers modifiés avec 13 ajouts et 3 suppressions
  1. 8 3
      coin/members/models.py
  2. 5 0
      coin/members/registration_views.py

+ 8 - 3
coin/members/models.py

@@ -45,10 +45,15 @@ class Member(CoinLdapSyncMixin, AbstractUser):
         ('natural_person', 'Personne physique'),
         ('legal_entity', 'Personne morale'),
     )
+
+    MEMBER_STATUS_MEMBER = 'member'
+    MEMBER_STATUS_NOT_MEMBER = 'not_member'
+    MEMBER_STATUS_PENDING = 'pending'
+
     MEMBER_STATUS_CHOICES = (
-        ('member', 'Adhérent'),
-        ('not_member', 'Non adhérent'),
-        ('pending', "Demande d'adhésion"),
+        (MEMBER_STATUS_MEMBER, 'Adhérent'),
+        (MEMBER_STATUS_NOT_MEMBER, 'Non adhérent'),
+        (MEMBER_STATUS_PENDING, "Demande d'adhésion"),
     )
 
     status = models.CharField(max_length=50, choices=MEMBER_STATUS_CHOICES,

+ 5 - 0
coin/members/registration_views.py

@@ -12,5 +12,10 @@ class MemberRegistrationView(RegistrationView):
     email_body_template = 'members/registration/activation_email.txt'
     template_name = 'members/registration/registration_form.html'
 
+    def register(self, form):
+        new_user = super(MemberRegistrationView, self).register(form)
+        new_user.status = new_user.MEMBER_STATUS_PENDING
+        return new_user.save()
+
     def get_success_url(self, user):
         return ('members:registration_complete', (), {})