From 9f89deb23b27f4a60f633739d8fc5bdf13663d70 Mon Sep 17 00:00:00 2001 From: littlewolf Date: Mon, 23 Sep 2019 11:16:22 +0300 Subject: [PATCH] Fix establishment RUD serializer --- apps/establishment/serializers/back.py | 30 ++++++++++++++++++++++++++ apps/establishment/urls/back.py | 2 +- apps/establishment/views/back.py | 5 +++++ 3 files changed, 36 insertions(+), 1 deletion(-) diff --git a/apps/establishment/serializers/back.py b/apps/establishment/serializers/back.py index e20cc087..7199eb54 100644 --- a/apps/establishment/serializers/back.py +++ b/apps/establishment/serializers/back.py @@ -40,6 +40,36 @@ class EstablishmentListCreateSerializer(EstablishmentBaseSerializer): ] +class EstablishmentRUDSerializer(EstablishmentBaseSerializer): + """Establishment create serializer""" + + type_id = serializers.PrimaryKeyRelatedField( + source='establishment_type', + queryset=models.EstablishmentType.objects.all(), write_only=True + ) + phones = ContactPhonesSerializer(read_only=False, many=True, ) + emails = ContactEmailsSerializer(read_only=False, many=True, ) + socials = SocialNetworkRelatedSerializers(read_only=False, many=True, ) + + class Meta: + model = models.Establishment + fields = [ + 'id', + 'name', + 'website', + 'phones', + 'emails', + 'price_level', + 'toque_number', + 'type_id', + 'type', + 'socials', + 'image_url', + # TODO: check in admin filters + 'is_publish' + ] + + class SocialNetworkSerializers(serializers.ModelSerializer): """Social network serializers.""" class Meta: diff --git a/apps/establishment/urls/back.py b/apps/establishment/urls/back.py index 0983efa4..dca5fb55 100644 --- a/apps/establishment/urls/back.py +++ b/apps/establishment/urls/back.py @@ -9,7 +9,7 @@ app_name = 'establishment' urlpatterns = [ path('', views.EstablishmentListCreateView.as_view(), name='list'), - path('/', views.EstablishmentRetrieveView.as_view(), name='detail'), + path('/', views.EstablishmentRUDView.as_view(), name='detail'), path('/schedule//', views.EstablishmentScheduleRUDView.as_view(), name='schedule-rud'), path('/schedule/', views.EstablishmentScheduleCreateView.as_view(), diff --git a/apps/establishment/views/back.py b/apps/establishment/views/back.py index c8915e91..974fca8a 100644 --- a/apps/establishment/views/back.py +++ b/apps/establishment/views/back.py @@ -13,6 +13,11 @@ class EstablishmentListCreateView(EstablishmentMixin, generics.ListCreateAPIView serializer_class = serializers.EstablishmentListCreateSerializer +class EstablishmentRUDView(generics.RetrieveUpdateDestroyAPIView): + queryset = models.Establishment.objects.all() + serializer_class = serializers.EstablishmentRUDSerializer + + class MenuListCreateView(generics.ListCreateAPIView): """Menu list create view.""" serializer_class = serializers.MenuSerializers