From 3bbd76a4f8fc3896102a56061ba30ff9e72abe38 Mon Sep 17 00:00:00 2001 From: Anatoly Date: Tue, 10 Dec 2019 18:50:12 +0300 Subject: [PATCH] added endpoints --- apps/collection/serializers/common.py | 21 ++++++++++----------- apps/collection/views/back.py | 9 ++++++++- apps/location/serializers/common.py | 1 + 3 files changed, 19 insertions(+), 12 deletions(-) diff --git a/apps/collection/serializers/common.py b/apps/collection/serializers/common.py index d3d58a92..9ed4edce 100644 --- a/apps/collection/serializers/common.py +++ b/apps/collection/serializers/common.py @@ -65,15 +65,10 @@ class GuideBaseSerializer(serializers.ModelSerializer): """Guide serializer""" state_display = serializers.CharField(source='get_state_display', read_only=True) - guide_type = GuideTypeBaseSerializer(allow_null=True, - read_only=True) - guide_type_id = serializers.PrimaryKeyRelatedField( - queryset=models.GuideType.objects.all(), - write_only=True) - site = SiteShortSerializer(read_only=True) - site_id = serializers.PrimaryKeyRelatedField( - queryset=SiteSettings.objects.all(), - write_only=True) + guide_type_detail = GuideTypeBaseSerializer(read_only=True, + source='guide_type') + site_detail = SiteShortSerializer(read_only=True, + source='site') entities = serializers.DictField(read_only=True) class Meta: @@ -86,15 +81,19 @@ class GuideBaseSerializer(serializers.ModelSerializer): 'vintage', 'slug', 'guide_type', - 'guide_type_id', + 'guide_type_detail', 'site', - 'site_id', + 'site_detail', 'state', 'state_display', 'entities', ] extra_kwargs = { + 'guide_type': {'write_only': True}, + 'site': {'write_only': True}, 'state': {'write_only': True}, + 'start': {'required': True}, + 'slug': {'required': True}, } diff --git a/apps/collection/views/back.py b/apps/collection/views/back.py index 05d09f20..9f6e3ac3 100644 --- a/apps/collection/views/back.py +++ b/apps/collection/views/back.py @@ -1,4 +1,5 @@ -from rest_framework import permissions +from rest_framework import permissions, status +from rest_framework.response import Response from rest_framework import viewsets, mixins, generics from collection import models, serializers @@ -65,8 +66,14 @@ class CollectionBackOfficeViewSet(mixins.CreateModelMixin, class GuideListCreateView(GuideBaseView, generics.ListCreateAPIView): """ViewSet for Guide model for BackOffice users.""" + def post(self, request, *args, **kwargs): + super().create(request, *args, **kwargs) + return Response(status=status.HTTP_200_OK) class GuideFilterCreateView(GuideFilterBaseView, generics.CreateAPIView): """ViewSet for GuideFilter model for BackOffice users.""" + def post(self, request, *args, **kwargs): + super().create(request, *args, **kwargs) + return Response(status=status.HTTP_200_OK) diff --git a/apps/location/serializers/common.py b/apps/location/serializers/common.py index 6255e67f..758bacdc 100644 --- a/apps/location/serializers/common.py +++ b/apps/location/serializers/common.py @@ -54,6 +54,7 @@ class RegionSerializer(serializers.ModelSerializer): 'country_id' ] + class CityShortSerializer(serializers.ModelSerializer): """Short city serializer""" country = CountrySerializer(read_only=True)