create menu item for establishment
This commit is contained in:
parent
831b043a48
commit
b1b3e923b7
|
|
@ -38,6 +38,7 @@ urlpatterns = [
|
||||||
path('menus/dishes/<int:pk>/gallery/<int:image_id>/', views.MenuGalleryCreateDestroyView.as_view(),
|
path('menus/dishes/<int:pk>/gallery/<int:image_id>/', views.MenuGalleryCreateDestroyView.as_view(),
|
||||||
name='menu-dishes-gallery-create-destroy'),
|
name='menu-dishes-gallery-create-destroy'),
|
||||||
path('menus/', views.MenuListCreateView.as_view(), name='menu-list'),
|
path('menus/', views.MenuListCreateView.as_view(), name='menu-list'),
|
||||||
|
path('menus/create/<int:establishment_id>/', views.CreateMenuForCertainEstablishmentView.as_view(), name='menu-list'),
|
||||||
path('card_and_wines/<int:establishment_id>/', views.CardAndWinesListView.as_view(), name='card-and-wines-get'),
|
path('card_and_wines/<int:establishment_id>/', views.CardAndWinesListView.as_view(), name='card-and-wines-get'),
|
||||||
path('menus/<int:pk>/', views.MenuRUDView.as_view(), name='menu-rud'),
|
path('menus/<int:pk>/', views.MenuRUDView.as_view(), name='menu-rud'),
|
||||||
path('menus/dish/<int:establishment_id>/', views.DishCreateView.as_view(), name='create-dish'),
|
path('menus/dish/<int:establishment_id>/', views.DishCreateView.as_view(), name='create-dish'),
|
||||||
|
|
|
||||||
|
|
@ -178,6 +178,29 @@ class CardAndWinesListView(generics.RetrieveAPIView):
|
||||||
return establishment
|
return establishment
|
||||||
|
|
||||||
|
|
||||||
|
class CreateMenuForCertainEstablishmentView(generics.CreateAPIView):
|
||||||
|
"""Creates formulas menu for certain establishment"""
|
||||||
|
permission_classes = get_permission_classes(
|
||||||
|
IsEstablishmentManager,
|
||||||
|
IsEstablishmentAdministrator,
|
||||||
|
)
|
||||||
|
# from rest_framework.permissions import AllowAny
|
||||||
|
# permission_classes = (AllowAny, )
|
||||||
|
queryset = models.Menu.objects.with_base_related().by_type(menu_type=models.Menu.FORMULAS)
|
||||||
|
serializer_class = serializers.MenuBackOfficeSerializer
|
||||||
|
|
||||||
|
def create(self, request, *args, **kwargs):
|
||||||
|
data = request.data.copy()
|
||||||
|
data['establishment_id'] = kwargs['establishment_id']
|
||||||
|
data['type'] = models.Menu.FORMULAS
|
||||||
|
serializer = self.get_serializer(data=data)
|
||||||
|
serializer.is_valid(raise_exception=True)
|
||||||
|
with transaction.atomic():
|
||||||
|
self.perform_create(serializer)
|
||||||
|
headers = self.get_success_headers(serializer.data)
|
||||||
|
return Response(serializer.data, status=status.HTTP_201_CREATED, headers=headers)
|
||||||
|
|
||||||
|
|
||||||
class MenuListCreateView(generics.ListCreateAPIView):
|
class MenuListCreateView(generics.ListCreateAPIView):
|
||||||
"""Menu list create view. This view works only with menu formulas type"""
|
"""Menu list create view. This view works only with menu formulas type"""
|
||||||
serializer_class = serializers.MenuBackOfficeSerializer
|
serializer_class = serializers.MenuBackOfficeSerializer
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user