backoffice wine for establishment

This commit is contained in:
Kuroshini 2020-02-01 14:53:35 +03:00
parent 804164833a
commit 1876ca8c6d
3 changed files with 36 additions and 1 deletions

View File

@ -798,6 +798,11 @@ class MenuBackOfficeSerializer(serializers.ModelSerializer):
class EstablishmentBackOfficeWineSerializer(serializers.ModelSerializer):
establishment_id = serializers.PrimaryKeyRelatedField(
source='establishment',
queryset=models.Establishment.objects.all(),
write_only=True
)
"""BackOffice wine serializer"""
class Meta:
model = models.EstablishmentBackOfficeWine
@ -809,6 +814,7 @@ class EstablishmentBackOfficeWineSerializer(serializers.ModelSerializer):
'price_from_for_one',
'price_to_for_one',
'is_glass',
'establishment_id',
)

View File

@ -38,8 +38,9 @@ urlpatterns = [
path('menus/dishes/<int:pk>/gallery/<int:image_id>/', views.MenuGalleryCreateDestroyView.as_view(),
name='menu-dishes-gallery-create-destroy'),
path('menus/', views.MenuListCreateView.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/wine/<int:establishment_id>/', views.EstablishmentWineView.as_view(), name='menu-wine'),
path('menus/uploads/<int:pk>', views.MenuUploadsRUDView.as_view(), name='menu-uploads-rud'),
path('menus/uploads/', views.MenuUploadsCreateView.as_view(), name='menu-uploads-create'),
path('plates/', views.PlateListCreateView.as_view(), name='plates'),

View File

@ -242,6 +242,34 @@ class MenuUploadsRUDView(generics.RetrieveDestroyAPIView):
)
class EstablishmentWineView(generics.CreateAPIView):
"""Create and update establishment wine"""
serializer_class = serializers.EstablishmentBackOfficeWineSerializer
queryset = models.EstablishmentBackOfficeWine.objects.all()
# permission_classes = get_permission_classes(
# IsEstablishmentManager,
# IsEstablishmentAdministrator,
# )
from rest_framework.permissions import AllowAny
permission_classes = (AllowAny, )
def create(self, request, *args, **kwargs):
data = request.data.copy()
data.update({'establishment_id': self.kwargs['establishment_id']})
if 'id' in data:
"""Update"""
instance = get_object_or_404(models.EstablishmentBackOfficeWine, pk=data['id'])
serializer = self.get_serializer(instance, data=data)
else:
"""create"""
serializer = self.get_serializer(data=data)
serializer.is_valid(raise_exception=True)
serializer.save()
return Response(serializer.data, status=status.HTTP_201_CREATED)
class MenuUploadsCreateView(generics.CreateAPIView):
"""Menu uploads list view"""
serializer_class = serializers.MenuFilesSerializers