diff --git a/website/events/api/serializers.py b/website/events/api/serializers.py index 3603529ecaa1860257cf8aaa956c9c8b9eaa3e16..98816baf4889ba3459f48cdda0e3cda8f2068d07 100644 --- a/website/events/api/serializers.py +++ b/website/events/api/serializers.py @@ -181,7 +181,8 @@ class EventListSerializer(serializers.ModelSerializer): class Meta: model = Event fields = ('pk', 'title', 'description', 'start', 'end', - 'location', 'price', 'registered', 'pizza') + 'location', 'price', 'registered', 'pizza', + 'registration_allowed') description = serializers.SerializerMethodField('_description') registered = serializers.SerializerMethodField('_registered') @@ -192,10 +193,15 @@ class EventListSerializer(serializers.ModelSerializer): def _registered(self, instance): try: - return services.is_user_registered(self.context['request'].user, - instance) + registered = services.is_user_registered( + self.context['request'].user, + instance, + ) + if registered is None: + return False + return registered except AttributeError: - return None + return False def _pizza(self, instance): pizza_events = PizzaEvent.objects.filter(event=instance) diff --git a/website/events/models.py b/website/events/models.py index 35d8fa263a2a527cf2f5407ff1575ca4c13e46f1..1181fc5f76872ab7febf1e163569249ffa8f38e0 100644 --- a/website/events/models.py +++ b/website/events/models.py @@ -224,13 +224,13 @@ class Event(models.Model, metaclass=ModelTranslateMeta): @property def registration_allowed(self): now = timezone.now() - return ((self.registration_start or self.registration_end) and - self.registration_end > now >= self.registration_start) + return (bool(self.registration_start or self.registration_end) + and self.registration_end > now >= self.registration_start) @property def cancellation_allowed(self): now = timezone.now() - return ((self.registration_start or self.registration_end) + return (bool(self.registration_start or self.registration_end) and self.registration_start <= now < self.start) def is_pizza_event(self):