diff --git a/apps/wei/forms/surveys/base.py b/apps/wei/forms/surveys/base.py
index 173d1758..e8b0cbba 100644
--- a/apps/wei/forms/surveys/base.py
+++ b/apps/wei/forms/surveys/base.py
@@ -25,9 +25,7 @@ class WEISurveyInformation:
If the algorithm ran, return the prefered bus according to the survey.
In the other case, return None.
"""
- if not self.valid:
- return None
- return Bus.objects.get(pk=self.selected_bus_pk)
+ return Bus.objects.get(pk=self.selected_bus_pk) if self.valid else None
def save(self, registration) -> None:
"""
diff --git a/apps/wei/tables.py b/apps/wei/tables.py
index a963ba0e..6ddfcf39 100644
--- a/apps/wei/tables.py
+++ b/apps/wei/tables.py
@@ -85,21 +85,21 @@ class WEIRegistrationTable(tables.Table):
)
def render_validate(self, record):
- if PermissionBackend.check_perm(get_current_authenticated_user(), "wei.add_weimembership", WEIMembership(
+ hasperm = PermissionBackend.check_perm(
+ get_current_authenticated_user(), "wei.add_weimembership", WEIMembership(
club=record.wei,
user=record.user,
date_start=timezone.now().date(),
date_end=timezone.now().date(),
fee=0,
registration=record,
- )):
- return _("Validate")
- return format_html("")
+ )
+ )
+ return _("Validate") if hasperm else format_html("")
def render_delete(self, record):
- if PermissionBackend.check_perm(get_current_authenticated_user(), "wei.delete_weimembership", record):
- return _("Delete")
- return format_html("")
+ hasperm = PermissionBackend.check_perm(get_current_authenticated_user(), "wei.delete_weimembership", record)
+ return _("Delete") if hasperm else format_html("")
class Meta:
attrs = {
diff --git a/apps/wei/tests/test_wei_registration.py b/apps/wei/tests/test_wei_registration.py
index c055baeb..f09ae604 100644
--- a/apps/wei/tests/test_wei_registration.py
+++ b/apps/wei/tests/test_wei_registration.py
@@ -2,7 +2,7 @@
# SPDX-License-Identifier: GPL-3.0-or-later
import subprocess
-from datetime import timedelta
+from datetime import timedelta, date
from django.conf import settings
from django.contrib.auth.models import User
@@ -11,9 +11,10 @@ from django.test import TestCase
from django.urls import reverse
from django.utils import timezone
from member.models import Membership
-from note.models import NoteClub
+from note.models import NoteClub, SpecialTransaction
+from treasury.models import SogeCredit
-from ..forms import CurrentSurvey
+from ..forms import CurrentSurvey, WEISurveyAlgorithm, WEISurvey
from ..models import WEIClub, Bus, BusTeam, WEIRole, WEIRegistration, WEIMembership
@@ -38,6 +39,7 @@ class TestWEIList(TestCase):
response = self.client.get(reverse("wei:current_wei_detail"))
self.assertRedirects(response, reverse("wei:wei_list"), 302, 200)
+
class TestWEIRegistration(TestCase):
"""
Test the whole WEI app
@@ -54,6 +56,7 @@ class TestWEIRegistration(TestCase):
password="admin",
email="admin@example.com",
)
+ self.user.save()
self.client.force_login(self.user)
sess = self.client.session
sess["permission_mask"] = 42
@@ -66,11 +69,11 @@ class TestWEIRegistration(TestCase):
parent_club_id=2,
membership_fee_paid=12500,
membership_fee_unpaid=5500,
- membership_start=str(self.year) + "-01-01",
- membership_end=str(self.year) + "-12-31",
+ membership_start=date(self.year, 1, 1),
+ membership_end=date(self.year, 12, 31),
year=self.year,
date_start=timezone.now().date() + timedelta(days=2),
- date_end=str(self.year) + "-12-31",
+ date_end=date(self.year, 12, 31),
)
NoteClub.objects.create(club=self.wei)
self.bus = Bus.objects.create(
@@ -89,7 +92,7 @@ class TestWEIRegistration(TestCase):
wei_id=self.wei.id,
soge_credit=True,
caution_check=True,
- birth_date="2000-01-01",
+ birth_date=date(2000, 1, 1),
gender="nonbinary",
clothing_cut="male",
clothing_size="XL",
@@ -99,7 +102,7 @@ class TestWEIRegistration(TestCase):
ml_events_registration=True,
ml_sport_registration=True,
ml_art_registration=True,
- first_year=True,
+ first_year=False,
)
def test_create_wei(self):
@@ -156,7 +159,7 @@ class TestWEIRegistration(TestCase):
self.assertTrue(qs.exists())
# Check that if the WEI is started, we can't update a wei
- self.wei.date_start = '2000-01-01'
+ self.wei.date_start = date(2000, 1, 1)
self.wei.save()
response = self.client.get(reverse("wei:wei_update", kwargs=dict(pk=self.wei.pk)))
self.assertRedirects(response, reverse("wei:wei_closed", kwargs=dict(pk=self.wei.pk)), 302, 200)
@@ -190,10 +193,11 @@ class TestWEIRegistration(TestCase):
qs = Bus.objects.filter(name="Create Bus Test")
self.assertTrue(qs.exists())
bus = qs.get()
+ CurrentSurvey.get_algorithm_class().get_bus_information(bus).save()
self.assertRedirects(response, reverse("wei:manage_bus", kwargs=dict(pk=bus.pk)), 302, 200)
# Check that if the WEI is started, we can't create a bus
- self.wei.date_start = '2000-01-01'
+ self.wei.date_start = date(2000, 1, 1)
self.wei.save()
response = self.client.get(reverse("wei:add_bus", kwargs=dict(pk=self.wei.pk)))
self.assertRedirects(response, reverse("wei:wei_closed", kwargs=dict(pk=self.wei.pk)), 302, 200)
@@ -221,7 +225,7 @@ class TestWEIRegistration(TestCase):
self.assertTrue(qs.exists())
# Check that if the WEI is started, we can't update a bus
- self.wei.date_start = '2000-01-01'
+ self.wei.date_start = date(2000, 1, 1)
self.wei.save()
response = self.client.get(reverse("wei:update_bus", kwargs=dict(pk=self.bus.pk)))
self.assertRedirects(response, reverse("wei:wei_closed", kwargs=dict(pk=self.wei.pk)), 302, 200)
@@ -245,7 +249,7 @@ class TestWEIRegistration(TestCase):
self.assertRedirects(response, reverse("wei:manage_bus_team", kwargs=dict(pk=team.pk)), 302, 200)
# Check that if the WEI is started, we can't create a team
- self.wei.date_start = '2000-01-01'
+ self.wei.date_start = date(2000, 1, 1)
self.wei.save()
response = self.client.get(reverse("wei:add_team", kwargs=dict(pk=self.bus.pk)))
self.assertRedirects(response, reverse("wei:wei_closed", kwargs=dict(pk=self.wei.pk)), 302, 200)
@@ -274,7 +278,7 @@ class TestWEIRegistration(TestCase):
self.assertTrue(qs.exists())
# Check that if the WEI is started, we can't update a team
- self.wei.date_start = '2000-01-01'
+ self.wei.date_start = date(2000, 1, 1)
self.wei.save()
response = self.client.get(reverse("wei:update_bus_team", kwargs=dict(pk=self.team.pk)))
self.assertRedirects(response, reverse("wei:wei_closed", kwargs=dict(pk=self.wei.pk)), 302, 200)
@@ -286,16 +290,13 @@ class TestWEIRegistration(TestCase):
response = self.client.get(reverse("wei:wei_register_2A", kwargs=dict(wei_pk=self.wei.pk)))
self.assertEqual(response.status_code, 200)
- response = self.client.get(reverse("wei:wei_register_2A_myself", kwargs=dict(wei_pk=self.wei.pk)))
- self.assertEqual(response.status_code, 200)
-
user = User.objects.create(username="toto", email="toto@example.com")
# Try with an invalid form
response = self.client.post(reverse("wei:wei_register_2A", kwargs=dict(wei_pk=self.wei.pk)), dict(
user=user.id,
soge_credit=True,
- birth_date='2000-01-01',
+ birth_date=date(2000, 1, 1),
gender='nonbinary',
clothing_cut='female',
clothing_size='XS',
@@ -312,7 +313,7 @@ class TestWEIRegistration(TestCase):
response = self.client.post(reverse("wei:wei_register_2A", kwargs=dict(wei_pk=self.wei.pk)), dict(
user=user.id,
soge_credit=True,
- birth_date='2000-01-01',
+ birth_date=date(2000, 1, 1),
gender='nonbinary',
clothing_cut='female',
clothing_size='XS',
@@ -331,7 +332,7 @@ class TestWEIRegistration(TestCase):
response = self.client.post(reverse("wei:wei_register_2A", kwargs=dict(wei_pk=self.wei.pk)), dict(
user=user.id,
soge_credit=True,
- birth_date='2000-01-01',
+ birth_date=date(2000, 1, 1),
gender='nonbinary',
clothing_cut='female',
clothing_size='XS',
@@ -345,8 +346,22 @@ class TestWEIRegistration(TestCase):
self.assertEqual(response.status_code, 200)
self.assertTrue("This user is already registered to this WEI." in str(response.context["form"].errors))
+ # Test the render of the page to register ourself if we have already opened a Société générale account
+ SogeCredit.objects.create(user=self.user, credit_transaction=SpecialTransaction.objects.create(
+ source_id=4, # Bank transfer
+ destination=self.user.note,
+ quantity=1,
+ amount=0,
+ reason="Test",
+ first_name="toto",
+ last_name="toto",
+ bank="Société générale",
+ ))
+ response = self.client.get(reverse("wei:wei_register_2A_myself", kwargs=dict(wei_pk=self.wei.pk)))
+ self.assertEqual(response.status_code, 200)
+
# Check that if the WEI is started, we can't register anyone
- self.wei.date_start = '2000-01-01'
+ self.wei.date_start = date(2000, 1, 1)
self.wei.save()
response = self.client.get(reverse("wei:wei_register_2A", kwargs=dict(wei_pk=self.wei.pk)))
self.assertRedirects(response, reverse("wei:wei_closed", kwargs=dict(pk=self.wei.pk)), 302, 200)
@@ -365,7 +380,7 @@ class TestWEIRegistration(TestCase):
response = self.client.post(reverse("wei:wei_register_1A", kwargs=dict(wei_pk=self.wei.pk)), dict(
user=user.id,
soge_credit=True,
- birth_date='2000-01-01',
+ birth_date=date(2000, 1, 1),
gender='nonbinary',
clothing_cut='female',
clothing_size='XS',
@@ -392,12 +407,15 @@ class TestWEIRegistration(TestCase):
self.assertIsNotNone(getattr(survey.information, "word" + str(i)), "Survey page #" + str(i) + " failed")
survey = CurrentSurvey(registration)
self.assertTrue(survey.is_complete())
+ survey.select_bus(self.bus)
+ survey.save()
+ self.assertIsNotNone(survey.information.get_selected_bus())
# Check that the user can't be registered twice
response = self.client.post(reverse("wei:wei_register_1A", kwargs=dict(wei_pk=self.wei.pk)), dict(
user=user.id,
soge_credit=True,
- birth_date='2000-01-01',
+ birth_date=date(2000, 1, 1),
gender='nonbinary',
clothing_cut='female',
clothing_size='XS',
@@ -423,7 +441,7 @@ class TestWEIRegistration(TestCase):
response = self.client.post(reverse("wei:wei_register_1A", kwargs=dict(wei_pk=second_wei.pk)), dict(
user=user.id,
soge_credit=True,
- birth_date='2000-01-01',
+ birth_date=date(2000, 1, 1),
gender='nonbinary',
clothing_cut='female',
clothing_size='XS',
@@ -439,11 +457,14 @@ class TestWEIRegistration(TestCase):
in str(response.context["form"].errors))
# Check that if the WEI is started, we can't register anyone
- self.wei.date_start = '2000-01-01'
+ self.wei.date_start = date(2000, 1, 1)
self.wei.save()
response = self.client.get(reverse("wei:wei_register_1A", kwargs=dict(wei_pk=self.wei.pk)))
self.assertRedirects(response, reverse("wei:wei_closed", kwargs=dict(pk=self.wei.pk)), 302, 200)
+ response = self.client.get(reverse("wei:wei_survey", kwargs=dict(pk=registration.pk)))
+ self.assertRedirects(response, reverse("wei:wei_closed", kwargs=dict(pk=self.wei.pk)), 302, 200)
+
def test_wei_survey_ended(self):
"""
Test display the end page of a survey.
@@ -455,9 +476,6 @@ class TestWEIRegistration(TestCase):
"""
Test update a registration.
"""
- response = self.client.get(reverse("wei:wei_update_registration", kwargs=dict(pk=self.registration.pk)))
- self.assertEqual(response.status_code, 200)
-
self.registration.information = dict(
preferred_bus_pk=[],
preferred_team_pk=[],
@@ -465,6 +483,9 @@ class TestWEIRegistration(TestCase):
)
self.registration.save()
+ response = self.client.get(reverse("wei:wei_update_registration", kwargs=dict(pk=self.registration.pk)))
+ self.assertEqual(response.status_code, 200)
+
response = self.client.post(
reverse("wei:wei_update_registration", kwargs=dict(pk=self.registration.pk)),
dict(
@@ -487,16 +508,95 @@ class TestWEIRegistration(TestCase):
self.assertTrue(qs.exists())
self.assertRedirects(response, reverse("wei:validate_registration", kwargs=dict(pk=qs.get().pk)), 302, 200)
+ # Check the page when the registration is already validated
+ membership = WEIMembership(
+ user=self.user,
+ club=self.wei,
+ registration=self.registration,
+ bus=self.bus,
+ team=self.team,
+ )
+ membership._soge = True
+ membership._force_renew_parent = True
+ membership.save()
+ soge_credit = SogeCredit.objects.get(user=self.user)
+ soge_credit.credit_transaction = SpecialTransaction.objects.create(
+ source_id=4, # Bank transfer
+ destination=self.user.note,
+ quantity=1,
+ amount=0,
+ reason="Test",
+ first_name="toto",
+ last_name="toto",
+ bank="Société générale",
+ )
+ soge_credit.save()
+
+ sess = self.client.session
+ sess["permission_mask"] = 0
+ sess.save()
+ response = self.client.get(reverse("wei:wei_update_registration", kwargs=dict(pk=self.registration.pk)))
+ self.assertEqual(response.status_code, 200)
+ sess["permission_mask"] = 42
+ sess.save()
+
+ response = self.client.post(
+ reverse("wei:wei_update_registration", kwargs=dict(pk=self.registration.pk)),
+ dict(
+ user=self.user.id,
+ soge_credit=False,
+ birth_date='2015-01-01',
+ gender='male',
+ clothing_cut='female',
+ clothing_size='L',
+ health_issues='I am really a bot',
+ emergency_contact_name='Note Kfet 2020',
+ emergency_contact_phone='+33600000000',
+ bus=[self.bus.id],
+ team=[self.team.id],
+ roles=[role.id for role in WEIRole.objects.filter(name="Adhérent WEI").all()],
+ information_json=self.registration.information_json,
+ )
+ )
+ qs = WEIRegistration.objects.filter(user_id=self.user.id, clothing_size="L")
+ self.assertTrue(qs.exists())
+ self.assertRedirects(response, reverse("wei:validate_registration", kwargs=dict(pk=qs.get().pk)), 302, 200)
+
+ # Test invalid form
+ response = self.client.post(
+ reverse("wei:wei_update_registration", kwargs=dict(pk=self.registration.pk)),
+ dict(
+ user=self.user.id,
+ soge_credit=False,
+ birth_date='2015-01-01',
+ gender='male',
+ clothing_cut='female',
+ clothing_size='L',
+ health_issues='I am really a bot',
+ emergency_contact_name='Note Kfet 2020',
+ emergency_contact_phone='+33600000000',
+ bus=[],
+ team=[],
+ roles=[],
+ information_json=self.registration.information_json,
+ )
+ )
+ self.assertFalse(response.context["membership_form"].is_valid())
+
# Check that if the WEI is started, we can't update a registration
- self.wei.date_start = '2000-01-01'
+ self.wei.date_start = date(2000, 1, 1)
+ self.wei.update_membership_dates()
self.wei.save()
- response = self.client.get(reverse("wei:validate_registration", kwargs=dict(pk=self.registration.pk)))
+ response = self.client.get(reverse("wei:wei_update_registration", kwargs=dict(pk=self.registration.pk)))
self.assertRedirects(response, reverse("wei:wei_closed", kwargs=dict(pk=self.wei.pk)), 302, 200)
def test_delete_registration(self):
"""
Test delete a WEI registration.
"""
+ response = self.client.get(reverse("wei:wei_delete_registration", kwargs=dict(pk=self.registration.pk)))
+ self.assertEqual(response.status_code, 200)
+
response = self.client.delete(reverse("wei:wei_delete_registration", kwargs=dict(pk=self.registration.pk)))
self.assertRedirects(response, reverse("wei:wei_detail", kwargs=dict(pk=self.wei.pk)), 302, 200)
@@ -507,6 +607,32 @@ class TestWEIRegistration(TestCase):
response = self.client.get(reverse("wei:validate_registration", kwargs=dict(pk=self.registration.pk)))
self.assertEqual(response.status_code, 200)
+ self.registration.first_year = True
+ self.registration.save()
+
+ response = self.client.get(reverse("wei:validate_registration", kwargs=dict(pk=self.registration.pk)))
+ self.assertEqual(response.status_code, 200)
+
+ self.registration.first_year = False
+ self.registration.save()
+
+ # Check that a team must belong to the bus
+ second_bus = Bus.objects.create(wei=self.wei, name="Second bus")
+ second_team = BusTeam.objects.create(bus=second_bus, name="Second team", color=42)
+ response = self.client.post(reverse("wei:validate_registration", kwargs=dict(pk=self.registration.pk)), dict(
+ roles=[WEIRole.objects.get(name="GC WEI").id],
+ bus=self.bus.pk,
+ team=second_team.pk,
+ credit_type=4, # Bank transfer
+ credit_amount=420,
+ last_name="admin",
+ first_name="admin",
+ bank="Société générale",
+ ))
+ self.assertEqual(response.status_code, 200)
+ self.assertFalse(response.context["form"].is_valid())
+ self.assertTrue("This team doesn't belong to the given bus." in str(response.context["form"].errors))
+
response = self.client.post(reverse("wei:validate_registration", kwargs=dict(pk=self.registration.pk)), dict(
roles=[WEIRole.objects.get(name="GC WEI").id],
bus=self.bus.pk,
@@ -543,6 +669,12 @@ class TestWEIRegistration(TestCase):
self.assertFalse(kfet_membership.transaction.valid)
self.assertFalse(bde_membership.transaction.valid)
+ # Check that if the WEI is started, we can't update a wei
+ self.wei.date_start = date(2000, 1, 1)
+ self.wei.save()
+ response = self.client.get(reverse("wei:validate_registration", kwargs=dict(pk=self.registration.pk)))
+ self.assertRedirects(response, reverse("wei:wei_closed", kwargs=dict(pk=self.wei.pk)), 302, 200)
+
def test_registrations_list(self):
"""
Test display the registration list, with or without a research
@@ -579,34 +711,114 @@ class TestWEIRegistration(TestCase):
"""
Test display the membership list as a PDF file
"""
- if not self.is_latex_installed():
- return
-
- response = self.client.get(reverse("wei:wei_memberships_pdf", kwargs=dict(wei_pk=self.wei.pk)))
- self.assertEqual(response.status_code, 200)
- self.assertEqual(response["content-type"], "application/pdf")
+ if self.is_latex_installed():
+ response = self.client.get(reverse("wei:wei_memberships_pdf", kwargs=dict(wei_pk=self.wei.pk)))
+ self.assertEqual(response.status_code, 200)
+ self.assertEqual(response["content-type"], "application/pdf")
def test_bus_memberships_pdf_list(self):
"""
Test display the membership list of a bus as a PDF file
"""
- if not self.is_latex_installed():
- return
-
- response = self.client.get(reverse("wei:wei_memberships_bus_pdf", kwargs=dict(wei_pk=self.wei.pk,
- bus_pk=self.bus.pk)))
- self.assertEqual(response.status_code, 200)
- self.assertEqual(response["content-type"], "application/pdf")
+ if self.is_latex_installed():
+ response = self.client.get(reverse("wei:wei_memberships_bus_pdf", kwargs=dict(wei_pk=self.wei.pk,
+ bus_pk=self.bus.pk)))
+ self.assertEqual(response.status_code, 200)
+ self.assertEqual(response["content-type"], "application/pdf")
def test_team_memberships_pdf_list(self):
"""
Test display the membership list of a bus team as a PDF file
"""
- if not self.is_latex_installed():
- return
+ if self.is_latex_installed():
+ response = self.client.get(reverse("wei:wei_memberships_team_pdf", kwargs=dict(wei_pk=self.wei.pk,
+ bus_pk=self.bus.pk,
+ team_pk=self.team.pk)))
+ self.assertEqual(response.status_code, 200)
+ self.assertEqual(response["content-type"], "application/pdf")
- response = self.client.get(reverse("wei:wei_memberships_team_pdf", kwargs=dict(wei_pk=self.wei.pk,
- bus_pk=self.bus.pk,
- team_pk=self.team.pk)))
- self.assertEqual(response.status_code, 200)
- self.assertEqual(response["content-type"], "application/pdf")
+
+class TestDefaultWEISurvey(TestCase):
+ """
+ Doesn't test anything, just cover the default Survey classes.
+ """
+ def check_not_implemented(self, fun: callable, *args, **kwargs):
+ self.assertRaises(NotImplementedError, fun, *args, **kwargs)
+
+ def test_survey_classes(self):
+ WEISurveyAlgorithm.get_bus_information_class()
+ self.check_not_implemented(WEISurveyAlgorithm.get_survey_class)
+ self.check_not_implemented(WEISurveyAlgorithm.get_registrations)
+ self.check_not_implemented(WEISurveyAlgorithm.get_buses)
+ self.check_not_implemented(WEISurveyAlgorithm().run_algorithm)
+
+ self.check_not_implemented(WEISurvey, registration=None)
+ self.check_not_implemented(WEISurvey.get_wei)
+ self.check_not_implemented(WEISurvey.get_survey_information_class)
+ self.check_not_implemented(WEISurvey.get_algorithm_class)
+ self.check_not_implemented(WEISurvey.get_form_class, None)
+ self.check_not_implemented(WEISurvey.form_valid, None, None)
+ self.check_not_implemented(WEISurvey.is_complete, None)
+ # noinspection PyTypeChecker
+ WEISurvey.update_form(None, None)
+
+ self.assertEqual(CurrentSurvey.get_algorithm_class().get_survey_class(), CurrentSurvey)
+ self.assertEqual(CurrentSurvey.get_year(), 2020)
+
+
+class TestWEISurveyAlgorithm(TestCase):
+ """
+ Run the WEI Algorithm.
+ TODO: Improve this test with some test data once the algorithm will be implemented.
+ """
+ fixtures = ("initial",)
+
+ def setUp(self) -> None:
+ self.year = timezone.now().year
+ self.wei = WEIClub.objects.create(
+ name="Test WEI",
+ email="gc.wei@example.com",
+ parent_club_id=2,
+ membership_fee_paid=12500,
+ membership_fee_unpaid=5500,
+ membership_start=date(self.year, 1, 1),
+ membership_end=date(self.year, 12, 31),
+ year=self.year,
+ date_start=timezone.now().date() + timedelta(days=2),
+ date_end=date(self.year, 12, 31),
+ )
+ NoteClub.objects.create(club=self.wei)
+ self.bus = Bus.objects.create(
+ name="Test Bus",
+ wei=self.wei,
+ description="Test Bus",
+ )
+ self.team = BusTeam.objects.create(
+ name="Test Team",
+ bus=self.bus,
+ color=0xFFFFFF,
+ description="Test Team",
+ )
+
+ self.user = User.objects.create(username="toto")
+ self.registration = WEIRegistration.objects.create(
+ user_id=self.user.id,
+ wei_id=self.wei.id,
+ soge_credit=True,
+ caution_check=True,
+ birth_date=date(2000, 1, 1),
+ gender="nonbinary",
+ clothing_cut="male",
+ clothing_size="XL",
+ health_issues="I am a bot",
+ emergency_contact_name="Pikachu",
+ emergency_contact_phone="+33123456789",
+ ml_events_registration=True,
+ ml_sport_registration=True,
+ ml_art_registration=True,
+ first_year=True,
+ )
+ CurrentSurvey(self.registration).save()
+
+ def test_survey_algorithm(self):
+ CurrentSurvey.get_algorithm_class()().run_algorithm()
diff --git a/apps/wei/views.py b/apps/wei/views.py
index ca63aa9c..696fece9 100644
--- a/apps/wei/views.py
+++ b/apps/wei/views.py
@@ -824,10 +824,7 @@ class WEIValidateRegistrationView(ProtectQuerysetMixin, LoginRequiredMixin, Crea
# Force the membership of the clubs BDE and Kfet
membership._force_renew_parent = True
- if user.profile.paid:
- fee = club.membership_fee_paid
- else:
- fee = club.membership_fee_unpaid
+ fee = club.membership_fee_paid if user.profile.paid else club.membership_fee_unpaid
kfet = club.parent_club
bde = kfet.parent_club