From b5ce2e5fc4f50bf60765ddbf42c5584f630b2008 Mon Sep 17 00:00:00 2001 From: Parsa Nazer Date: Sun, 23 Feb 2025 23:10:26 +0330 Subject: [PATCH] order cart --- backend/order/serializers.py | 3 ++- backend/order/urls.py | 4 ++-- backend/order/views.py | 9 +++++++-- 3 files changed, 11 insertions(+), 5 deletions(-) diff --git a/backend/order/serializers.py b/backend/order/serializers.py index b9337c0..093c002 100644 --- a/backend/order/serializers.py +++ b/backend/order/serializers.py @@ -9,6 +9,7 @@ class OrderItemSerailzier(serializers.ModelSerializer): read_only_fields = ('order', 'product') class OrderModelSerializer(serializers.ModelSerializer): + items = OrderItemSerailzier(many=True) class Meta: model = OrderModel - fields = ['address', 'created_at', 'is_paid', 'status', 'discount_code'] \ No newline at end of file + fields = ['address', 'created_at', 'is_paid', 'status', 'discount_code', 'items'] \ No newline at end of file diff --git a/backend/order/urls.py b/backend/order/urls.py index 696981c..a4d4dbd 100644 --- a/backend/order/urls.py +++ b/backend/order/urls.py @@ -6,6 +6,6 @@ from .views import CartItemViews, CartView urlpatterns = [ path('cart', CartView.as_view()), path('cart/item/', CartItemViews.as_view(), name='change-item-cart'), - path('payment', CartView.as_view()), - path('', CartView.as_view()), + # path('payment', CartView.as_view()), + # path('', CartView.as_view()), ] diff --git a/backend/order/views.py b/backend/order/views.py index 924f1a3..7f5971c 100644 --- a/backend/order/views.py +++ b/backend/order/views.py @@ -4,7 +4,7 @@ from rest_framework.views import APIView, Response from django.shortcuts import get_object_or_404 from product.models import ProductVariant from rest_framework.permissions import IsAuthenticated -from .serializers import OrderItemSerailzier +from .serializers import OrderItemSerailzier, OrderModelSerializer # from cart.models import from rest_framework import status from .models import OrderItemModel, OrderModel @@ -65,5 +65,10 @@ class CartItemViews(APIView): class CartView(APIView): + permission_classes = [IsAuthenticated] + serializer_class = OrderModelSerializer def get(self, request): - return Response({'detail': 'این بخش در حال توسعه می باشد تا اماده شدن این بخش به نقاشی خود ادامه دهید'}, status=status.HTTP_404_NOT_FOUND) + user = request.user + cart_instance, created = OrderModel.objects.get_or_create(user=user, status='CART') + cart_ser = self.serializer_class(instance=cart_instance, context={'request': request}) + return Response(cart_ser.data, status=status.HTTP_200_OK)