mirror of
				https://gitlab.crans.org/bde/nk20
				synced 2025-10-31 15:50:03 +01:00 
			
		
		
		
	Merge branch 'parent-club' into 'master'
Resolve "Club Parent" Closes #42 See merge request bde/nk20!65
This commit is contained in:
		| @@ -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 _ | ||||
| @@ -67,6 +68,13 @@ class Club(models.Model): | ||||
|     email = models.EmailField( | ||||
|         verbose_name=_('email'), | ||||
|     ) | ||||
|     parent_club = models.ForeignKey( | ||||
|         'self', | ||||
|         null=True, | ||||
|         blank=True, | ||||
|         on_delete=models.PROTECT, | ||||
|         verbose_name=_('parent club'), | ||||
|     ) | ||||
|  | ||||
|     # Memberships | ||||
|     membership_fee = models.PositiveIntegerField( | ||||
| @@ -158,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') | ||||
|   | ||||
		Reference in New Issue
	
	Block a user