from django.contrib.auth.models import User from rest_framework import serializers, viewsets from rest_framework_gis import serializers as gis_serializers from apps.files.models import File from apps.map.models import CaseStudy, PointOfInterest class UserSerializer(serializers.HyperlinkedModelSerializer): class Meta: model = User fields = ("url", "username", "email", "is_staff") class UserViewSet(viewsets.ModelViewSet): queryset = User.objects.all() serializer_class = UserSerializer class FileSerializer(serializers.HyperlinkedModelSerializer): class Meta: model = File fields = ("file",) class CaseStudySerializer(gis_serializers.GeoFeatureModelSerializer): sector_of_economy = serializers.CharField(source="get_sector_of_economy_display") country_name = serializers.CharField(source="get_country_display") positive_or_negative_display = serializers.CharField( source="get_positive_or_negative_display" ) images = FileSerializer(many=True) class Meta: model = CaseStudy geo_field = "location" fields = ( "country", "country_name", "entry_name", "images", "location", "positive_or_negative", "positive_or_negative_display", "sector_of_economy", "slug", ) class CaseStudyViewSet(viewsets.ModelViewSet): queryset = CaseStudy.objects.approved() serializer_class = CaseStudySerializer class PointOfInterestSerializer(gis_serializers.GeoFeatureModelSerializer): class Meta: model = PointOfInterest geo_field = "location" fields = ("title", "synopsis", "link", "slug") class PointOfInterestViewSet(viewsets.ModelViewSet): queryset = PointOfInterest.objects.approved() serializer_class = PointOfInterestSerializer