Added MenuFiles serializer
This commit is contained in:
parent
fbed631f40
commit
a0408204a1
|
|
@ -1,15 +1,16 @@
|
|||
from functools import lru_cache
|
||||
|
||||
from account.serializers.common import UserShortSerializer
|
||||
from django.db.models import F
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
from rest_framework import serializers
|
||||
|
||||
from account.serializers.common import UserShortSerializer
|
||||
from establishment import models, serializers as model_serializers
|
||||
from establishment.models import ContactEmail, ContactPhone, EstablishmentEmployee
|
||||
from gallery.models import Image
|
||||
from location.serializers import AddressDetailSerializer, TranslatedField
|
||||
from main.models import Currency
|
||||
from main.serializers import AwardSerializer
|
||||
from rest_framework import serializers
|
||||
from utils.decorators import with_base_attributes
|
||||
from utils.serializers import ImageBaseSerializer, ProjectModelSerializer, TimeZoneChoiceField
|
||||
|
||||
|
|
@ -699,8 +700,6 @@ class MenuGallerySerializer(serializers.ModelSerializer):
|
|||
|
||||
|
||||
class MenuFilesSerializers(ProjectModelSerializer):
|
||||
menu = serializers.IntegerField(write_only=True)
|
||||
|
||||
class Meta:
|
||||
model = models.MenuFiles
|
||||
fields = [
|
||||
|
|
@ -708,14 +707,10 @@ class MenuFilesSerializers(ProjectModelSerializer):
|
|||
'name',
|
||||
'type',
|
||||
'file',
|
||||
'menu'
|
||||
]
|
||||
|
||||
def create(self, validated_data):
|
||||
menu_id = validated_data.pop('menu')
|
||||
menu = get_object_or_404(models.Menu, pk=menu_id)
|
||||
instance = models.MenuFiles.objects.create(**validated_data)
|
||||
menu.uploads.add(instance)
|
||||
return instance
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -37,6 +37,8 @@ urlpatterns = [
|
|||
name='menu-dishes-gallery-create-destroy'),
|
||||
path('menus/', views.MenuListCreateView.as_view(), name='menu-list'),
|
||||
path('menus/<int:pk>/', views.MenuRUDView.as_view(), name='menu-rud'),
|
||||
path('menus/uploads/', views.MenuUploadsRUDView.as_view(), name='menu-uploads-rud'),
|
||||
path('menus/uploads/create/', views.MenuUploadsCreateView.as_view(), name='menu-uploads-create'),
|
||||
path('plates/', views.PlateListCreateView.as_view(), name='plates'),
|
||||
path('plates/<int:pk>/', views.PlateRUDView.as_view(), name='plate-rud'),
|
||||
path('social_choice/', views.SocialChoiceListCreateView.as_view(), name='socials_choice'),
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ from django.db.models.query_utils import Q
|
|||
from django.http import Http404
|
||||
from django.shortcuts import get_object_or_404
|
||||
from django_filters.rest_framework import DjangoFilterBackend
|
||||
from rest_framework import generics, status, response
|
||||
from rest_framework import generics, response, status
|
||||
from rest_framework.response import Response
|
||||
|
||||
from account.models import User
|
||||
|
|
@ -160,11 +160,11 @@ class MenuListCreateView(generics.ListCreateAPIView):
|
|||
serializer_class = serializers.MenuBackOfficeSerializer
|
||||
queryset = models.Menu.objects.with_base_related()
|
||||
# permission_classes = get_permission_classes(
|
||||
# IsEstablishmentManager,
|
||||
# IsEstablishmentAdministrator,
|
||||
# IsEstablishmentManager,
|
||||
# IsEstablishmentAdministrator,
|
||||
# )
|
||||
from rest_framework.permissions import AllowAny
|
||||
permission_classes = (AllowAny, )
|
||||
permission_classes = (AllowAny,)
|
||||
|
||||
filter_backends = (DjangoFilterBackend,)
|
||||
filterset_fields = (
|
||||
|
|
@ -183,6 +183,26 @@ class MenuRUDView(generics.RetrieveUpdateDestroyAPIView):
|
|||
)
|
||||
|
||||
|
||||
class MenuUploadsRUDView(generics.RetrieveDestroyAPIView):
|
||||
"""Menu uploads RUD view."""
|
||||
serializer_class = serializers.MenuFilesSerializers
|
||||
queryset = models.MenuFiles.objects.all()
|
||||
permission_classes = get_permission_classes(
|
||||
IsEstablishmentManager,
|
||||
IsEstablishmentAdministrator,
|
||||
)
|
||||
|
||||
|
||||
class MenuUploadsCreateView(generics.CreateAPIView):
|
||||
"""Menu uploads list view"""
|
||||
serializer_class = serializers.MenuFilesSerializers
|
||||
queryset = models.MenuFiles.objects.all()
|
||||
permission_classes = get_permission_classes(
|
||||
IsEstablishmentManager,
|
||||
IsEstablishmentAdministrator,
|
||||
)
|
||||
|
||||
|
||||
class SocialChoiceListCreateView(generics.ListCreateAPIView):
|
||||
"""SocialChoice list create view."""
|
||||
serializer_class = serializers.SocialChoiceSerializers
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user