From a195ed3a5374c60b5c6a626d831c6bcbec2164d4 Mon Sep 17 00:00:00 2001 From: alex Date: Fri, 24 Jan 2020 10:35:55 +0300 Subject: [PATCH] menu dishes rud --- apps/establishment/serializers/back.py | 16 ++++++++++++++++ apps/establishment/urls/back.py | 1 + apps/establishment/views/back.py | 7 +++++++ 3 files changed, 24 insertions(+) diff --git a/apps/establishment/serializers/back.py b/apps/establishment/serializers/back.py index 509d2557..7cbc1279 100644 --- a/apps/establishment/serializers/back.py +++ b/apps/establishment/serializers/back.py @@ -547,3 +547,19 @@ class MenuDishesSerializer(ProjectModelSerializer): 'plates', 'last_update', ] + + +class MenuDishesRUDSerializers(ProjectModelSerializer): + """for dessert, main_course and starter category""" + + plates = _PlateSerializer(read_only=True, many=True, source='plate_set') + + class Meta: + model = models.Menu + fields = [ + 'id', + 'category', + 'plates', + 'establishment', + 'is_drinks_included', + ] diff --git a/apps/establishment/urls/back.py b/apps/establishment/urls/back.py index 6899d1f0..3129a060 100644 --- a/apps/establishment/urls/back.py +++ b/apps/establishment/urls/back.py @@ -31,6 +31,7 @@ urlpatterns = [ path('slug//admin/', views.EstablishmentAdminView.as_view(), name='establishment-admin-list'), path('menus/dishes/', views.MenuDishesListCreateView.as_view(), name='menu-dishes-list'), + path('menus/dishes//', views.MenuDishesRUDView.as_view(), name='menu-dishes-rud'), path('menus/', views.MenuListCreateView.as_view(), name='menu-list'), path('menus//', views.MenuRUDView.as_view(), name='menu-rud'), path('plates/', views.PlateListCreateView.as_view(), name='plates'), diff --git a/apps/establishment/views/back.py b/apps/establishment/views/back.py index 2610d967..65aacbb2 100644 --- a/apps/establishment/views/back.py +++ b/apps/establishment/views/back.py @@ -423,3 +423,10 @@ class MenuDishesListCreateView(generics.ListCreateAPIView): queryset = models.Menu.objects.with_schedule_plates_establishment().dishes().distinct() permission_classes = [IsWineryReviewer | IsEstablishmentManager] filter_class = filters.MenuDishesBackFilter + + +class MenuDishesRUDView(generics.RetrieveUpdateDestroyAPIView): + """Menu (dessert, main_course, starter) RUD view.""" + serializer_class = serializers.MenuDishesRUDSerializers + queryset = models.Menu.objects.dishes().distinct() + permission_classes = [IsWineryReviewer | IsEstablishmentManager]