From c86ddf17adac96e83367acbc722be29e07395639 Mon Sep 17 00:00:00 2001 From: Benjamin Graillot Date: Wed, 25 Mar 2020 17:54:28 +0100 Subject: [PATCH] [member] Check membership of parent club --- apps/member/models.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/apps/member/models.py b/apps/member/models.py index 41f5bdf3..e5304bdd 100644 --- a/apps/member/models.py +++ b/apps/member/models.py @@ -4,6 +4,7 @@ import datetime from django.conf import settings +from django.core.exceptions import ValidationError from django.db import models from django.urls import reverse, reverse_lazy from django.utils.translation import gettext_lazy as _ @@ -165,6 +166,12 @@ class Membership(models.Model): else: return self.date_start.toordinal() <= datetime.datetime.now().toordinal() + def save(self, *args, **kwargs): + if self.club.parent_club is not None: + if not Membership.objects.filter(user=self.user, club=self.club.parent_club): + raise ValidationError(_('User is not a member of the parent club')) + super().save(*args, **kwargs) + class Meta: verbose_name = _('membership') verbose_name_plural = _('memberships')