diff --git a/apps/member/migrations/0003_create_bde_and_kfet.py b/apps/member/migrations/0003_create_bde_and_kfet.py index d2f80c2d..2dbcd9dc 100644 --- a/apps/member/migrations/0003_create_bde_and_kfet.py +++ b/apps/member/migrations/0003_create_bde_and_kfet.py @@ -19,8 +19,8 @@ def create_bde_and_kfet(apps, schema_editor): membership_fee_paid=500, membership_fee_unpaid=500, membership_duration=396, - membership_start="2020-08-01", - membership_end="2021-09-30", + membership_start="2021-08-01", + membership_end="2022-09-30", ) Club.objects.get_or_create( id=2, @@ -31,8 +31,8 @@ def create_bde_and_kfet(apps, schema_editor): membership_fee_paid=3500, membership_fee_unpaid=3500, membership_duration=396, - membership_start="2020-08-01", - membership_end="2021-09-30", + membership_start="2021-08-01", + membership_end="2022-09-30", ) NoteClub.objects.get_or_create( diff --git a/apps/member/models.py b/apps/member/models.py index 9bb4ecf0..9cb0cbde 100644 --- a/apps/member/models.py +++ b/apps/member/models.py @@ -413,6 +413,12 @@ class Membership(models.Model): """ Calculate fee and end date before saving the membership and creating the transaction if needed. """ + # Ensure that club membership dates are valid + old_membership_start = self.club.membership_start + self.club.update_membership_dates() + if self.club.membership_start != old_membership_start: + self.club.save() + created = not self.pk if not created: for role in self.roles.all():