from django.conf.urls import include, url from django.urls import reverse from django.conf.urls.i18n import i18n_patterns from django.contrib import admin from django.contrib.auth.models import User from rest_framework import routers, 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