Source code for events.api.serializers.events.list
from html import unescape
from django.utils.html import strip_tags
from rest_framework import serializers
from events import services
from events.models import Event
from pizzas.models import PizzaEvent
[docs]class EventListSerializer(serializers.ModelSerializer):
"""Custom list serializer for events"""
description = serializers.SerializerMethodField("_description")
registered = serializers.SerializerMethodField("_registered")
pizza = serializers.SerializerMethodField("_pizza")
def _description(self, instance):
return unescape(strip_tags(instance.description))
def _registered(self, instance):
try:
registered = services.is_user_registered(
self.context["request"].user, instance,
)
if registered is None:
return False
return registered
except AttributeError:
return False
def _pizza(self, instance):
pizza_events = PizzaEvent.objects.filter(event=instance)
return pizza_events.exists()