mirror of https://gitlab.crans.org/bde/nk20
add VSS checkbox on registration
This commit is contained in:
parent
ba0d64f0d4
commit
b3353b563c
|
@ -47,6 +47,12 @@ class ProfileForm(forms.ModelForm):
|
||||||
|
|
||||||
last_report = forms.DateTimeField(required=False, disabled=True, label=_("Last report date"))
|
last_report = forms.DateTimeField(required=False, disabled=True, label=_("Last report date"))
|
||||||
|
|
||||||
|
VSS_charter_read = forms.BooleanField(
|
||||||
|
required=True,
|
||||||
|
label=_("Anti-VSS charter read and approved"),
|
||||||
|
help_text=_("Tick after having read and accepted the anti-VSS charter <a href=https://perso.crans.org/club-bde/Charte-anti-VSS.pdf target=_blank> available in pdf</a>")
|
||||||
|
)
|
||||||
|
|
||||||
def clean_promotion(self):
|
def clean_promotion(self):
|
||||||
promotion = self.cleaned_data["promotion"]
|
promotion = self.cleaned_data["promotion"]
|
||||||
if promotion > timezone.now().year:
|
if promotion > timezone.now().year:
|
||||||
|
|
|
@ -0,0 +1,18 @@
|
||||||
|
# Generated by Django 2.2.28 on 2023-08-31 09:50
|
||||||
|
|
||||||
|
from django.db import migrations, models
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('member', '0010_new_default_year'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.AddField(
|
||||||
|
model_name='profile',
|
||||||
|
name='VSS_charter_read',
|
||||||
|
field=models.BooleanField(default=False, verbose_name='VSS charter read'),
|
||||||
|
),
|
||||||
|
]
|
|
@ -134,6 +134,11 @@ class Profile(models.Model):
|
||||||
default=False,
|
default=False,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
VSS_charter_read = models.BooleanField(
|
||||||
|
verbose_name=_("VSS charter read"),
|
||||||
|
default=False
|
||||||
|
)
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def ens_year(self):
|
def ens_year(self):
|
||||||
"""
|
"""
|
||||||
|
|
|
@ -335,6 +335,7 @@ class TestMemberships(TestCase):
|
||||||
ml_sports_registration=True,
|
ml_sports_registration=True,
|
||||||
ml_art_registration=True,
|
ml_art_registration=True,
|
||||||
report_frequency=7,
|
report_frequency=7,
|
||||||
|
VSS_charter_read=True
|
||||||
))
|
))
|
||||||
self.assertRedirects(response, self.user.profile.get_absolute_url(), 302, 200)
|
self.assertRedirects(response, self.user.profile.get_absolute_url(), 302, 200)
|
||||||
self.assertTrue(User.objects.filter(username="toto changed").exists())
|
self.assertTrue(User.objects.filter(username="toto changed").exists())
|
||||||
|
|
|
@ -22,6 +22,7 @@ class SignUpForm(UserCreationForm):
|
||||||
self.fields['last_name'].required = True
|
self.fields['last_name'].required = True
|
||||||
self.fields['email'].required = True
|
self.fields['email'].required = True
|
||||||
self.fields['email'].help_text = _("This address must be valid.")
|
self.fields['email'].help_text = _("This address must be valid.")
|
||||||
|
# self.fields['VSS_charter_read'].required = True
|
||||||
|
|
||||||
# Give some example
|
# Give some example
|
||||||
self.fields['first_name'].widget.attrs.update({"placeholder": "Sacha"})
|
self.fields['first_name'].widget.attrs.update({"placeholder": "Sacha"})
|
||||||
|
|
|
@ -48,6 +48,7 @@ class TestSignup(TestCase):
|
||||||
ml_events_registration="en",
|
ml_events_registration="en",
|
||||||
ml_sport_registration=True,
|
ml_sport_registration=True,
|
||||||
ml_art_registration=True,
|
ml_art_registration=True,
|
||||||
|
VSS_charter_read=True
|
||||||
))
|
))
|
||||||
self.assertRedirects(response, reverse("registration:email_validation_sent"), 302, 200)
|
self.assertRedirects(response, reverse("registration:email_validation_sent"), 302, 200)
|
||||||
self.assertTrue(User.objects.filter(username="toto").exists())
|
self.assertTrue(User.objects.filter(username="toto").exists())
|
||||||
|
@ -105,6 +106,7 @@ class TestSignup(TestCase):
|
||||||
ml_events_registration="en",
|
ml_events_registration="en",
|
||||||
ml_sport_registration=True,
|
ml_sport_registration=True,
|
||||||
ml_art_registration=True,
|
ml_art_registration=True,
|
||||||
|
VSS_charter_read=True
|
||||||
))
|
))
|
||||||
self.assertTrue(response.status_code, 200)
|
self.assertTrue(response.status_code, 200)
|
||||||
|
|
||||||
|
@ -124,6 +126,7 @@ class TestSignup(TestCase):
|
||||||
ml_events_registration="en",
|
ml_events_registration="en",
|
||||||
ml_sport_registration=True,
|
ml_sport_registration=True,
|
||||||
ml_art_registration=True,
|
ml_art_registration=True,
|
||||||
|
VSS_charter_read=True
|
||||||
))
|
))
|
||||||
self.assertTrue(response.status_code, 200)
|
self.assertTrue(response.status_code, 200)
|
||||||
|
|
||||||
|
@ -143,6 +146,27 @@ class TestSignup(TestCase):
|
||||||
ml_events_registration="en",
|
ml_events_registration="en",
|
||||||
ml_sport_registration=True,
|
ml_sport_registration=True,
|
||||||
ml_art_registration=True,
|
ml_art_registration=True,
|
||||||
|
VSS_charter_read=True
|
||||||
|
))
|
||||||
|
self.assertTrue(response.status_code, 200)
|
||||||
|
|
||||||
|
# The VSS charter is not read
|
||||||
|
response = self.client.post(reverse("registration:signup"), dict(
|
||||||
|
first_name="Toto",
|
||||||
|
last_name="TOTO",
|
||||||
|
username="Ihaveanotherusername",
|
||||||
|
email="othertoto@example.com",
|
||||||
|
password1="toto1234",
|
||||||
|
password2="toto1234",
|
||||||
|
phone_number="+33123456789",
|
||||||
|
department="EXT",
|
||||||
|
promotion=Club.objects.get(name="BDE").membership_start.year,
|
||||||
|
address="Earth",
|
||||||
|
paid=False,
|
||||||
|
ml_events_registration="en",
|
||||||
|
ml_sport_registration=True,
|
||||||
|
ml_art_registration=True,
|
||||||
|
VSS_charter_read=False
|
||||||
))
|
))
|
||||||
self.assertTrue(response.status_code, 200)
|
self.assertTrue(response.status_code, 200)
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue