diff --git a/apps/activity/admin.py b/apps/activity/admin.py index 705ac2064b7ee6c4b4f1d0be2be02c7a637c5708..4cf5925d4ef7594294b1c50163f2deab0e131d33 100644 --- a/apps/activity/admin.py +++ b/apps/activity/admin.py @@ -3,6 +3,7 @@ from django.contrib import admin from note_kfet.admin import admin_site +from .forms import GuestForm from .models import Activity, ActivityType, Entry, Guest @@ -35,6 +36,7 @@ class GuestAdmin(admin.ModelAdmin): Admin customisation for Guest """ list_display = ('last_name', 'first_name', 'activity', 'inviter') + form = GuestForm @admin.register(Entry, site=admin_site) diff --git a/apps/activity/forms.py b/apps/activity/forms.py index c05330aed46127ae7032a625e035325686707489..f5d98fb0517cb7355b415fc6c433a09fc6a07226 100644 --- a/apps/activity/forms.py +++ b/apps/activity/forms.py @@ -55,9 +55,8 @@ class GuestForm(forms.ModelForm): first_name__iexact=cleaned_data["first_name"], last_name__iexact=cleaned_data["last_name"], activity__date_start__gte=self.activity.date_start - one_year, - entry__isnull=False, ) - if qs.count() >= 5: + if qs.filter(entry__isnull=False).count() >= 5: self.add_error("last_name", _("This person has been already invited 5 times this year.")) qs = qs.filter(activity=self.activity) diff --git a/apps/activity/models.py b/apps/activity/models.py index 89a51d733adfffab4ce5a86530444854523fb845..c4090f859186558a1024c0a6bbae7007aee820cc 100644 --- a/apps/activity/models.py +++ b/apps/activity/models.py @@ -257,7 +257,7 @@ class Guest(models.Model): last_name__iexact=self.last_name, activity__date_start__gte=self.activity.date_start - one_year, ) - if qs.count() >= 5: + if qs.filter(entry__isnull=False).count() >= 5: raise ValidationError(_("This person has been already invited 5 times this year.")) qs = qs.filter(activity=self.activity)