Added MenuFiles serializer
This commit is contained in:
parent
fbed631f40
commit
a0408204a1
|
|
@ -1,15 +1,16 @@
|
||||||
from functools import lru_cache
|
from functools import lru_cache
|
||||||
|
|
||||||
from account.serializers.common import UserShortSerializer
|
|
||||||
from django.db.models import F
|
from django.db.models import F
|
||||||
from django.utils.translation import gettext_lazy as _
|
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 import models, serializers as model_serializers
|
||||||
from establishment.models import ContactEmail, ContactPhone, EstablishmentEmployee
|
from establishment.models import ContactEmail, ContactPhone, EstablishmentEmployee
|
||||||
from gallery.models import Image
|
from gallery.models import Image
|
||||||
from location.serializers import AddressDetailSerializer, TranslatedField
|
from location.serializers import AddressDetailSerializer, TranslatedField
|
||||||
from main.models import Currency
|
from main.models import Currency
|
||||||
from main.serializers import AwardSerializer
|
from main.serializers import AwardSerializer
|
||||||
from rest_framework import serializers
|
|
||||||
from utils.decorators import with_base_attributes
|
from utils.decorators import with_base_attributes
|
||||||
from utils.serializers import ImageBaseSerializer, ProjectModelSerializer, TimeZoneChoiceField
|
from utils.serializers import ImageBaseSerializer, ProjectModelSerializer, TimeZoneChoiceField
|
||||||
|
|
||||||
|
|
@ -699,8 +700,6 @@ class MenuGallerySerializer(serializers.ModelSerializer):
|
||||||
|
|
||||||
|
|
||||||
class MenuFilesSerializers(ProjectModelSerializer):
|
class MenuFilesSerializers(ProjectModelSerializer):
|
||||||
menu = serializers.IntegerField(write_only=True)
|
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = models.MenuFiles
|
model = models.MenuFiles
|
||||||
fields = [
|
fields = [
|
||||||
|
|
@ -708,14 +707,10 @@ class MenuFilesSerializers(ProjectModelSerializer):
|
||||||
'name',
|
'name',
|
||||||
'type',
|
'type',
|
||||||
'file',
|
'file',
|
||||||
'menu'
|
|
||||||
]
|
]
|
||||||
|
|
||||||
def create(self, validated_data):
|
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)
|
instance = models.MenuFiles.objects.create(**validated_data)
|
||||||
menu.uploads.add(instance)
|
|
||||||
return instance
|
return instance
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -37,6 +37,8 @@ urlpatterns = [
|
||||||
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/<int:pk>/', views.MenuRUDView.as_view(), name='menu-rud'),
|
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/', views.PlateListCreateView.as_view(), name='plates'),
|
||||||
path('plates/<int:pk>/', views.PlateRUDView.as_view(), name='plate-rud'),
|
path('plates/<int:pk>/', views.PlateRUDView.as_view(), name='plate-rud'),
|
||||||
path('social_choice/', views.SocialChoiceListCreateView.as_view(), name='socials_choice'),
|
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.http import Http404
|
||||||
from django.shortcuts import get_object_or_404
|
from django.shortcuts import get_object_or_404
|
||||||
from django_filters.rest_framework import DjangoFilterBackend
|
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 rest_framework.response import Response
|
||||||
|
|
||||||
from account.models import User
|
from account.models import User
|
||||||
|
|
@ -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):
|
class SocialChoiceListCreateView(generics.ListCreateAPIView):
|
||||||
"""SocialChoice list create view."""
|
"""SocialChoice list create view."""
|
||||||
serializer_class = serializers.SocialChoiceSerializers
|
serializer_class = serializers.SocialChoiceSerializers
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user