product varient change list bug fix order item change quantity and remove
This commit is contained in:
+66
-1
@@ -1,3 +1,68 @@
|
||||
from django.shortcuts import render
|
||||
from .execptions import DiscountNotAvailableError
|
||||
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 cart.models import
|
||||
from rest_framework import status
|
||||
from .models import OrderItemModel, OrderModel
|
||||
try:
|
||||
pass
|
||||
except DiscountNotAvailableError:
|
||||
pass
|
||||
|
||||
# Create your views here.
|
||||
"""
|
||||
|
||||
add post
|
||||
remove delete
|
||||
show get
|
||||
|
||||
pay
|
||||
"""
|
||||
|
||||
|
||||
|
||||
class CartItemViews(APIView):
|
||||
permission_classes = [IsAuthenticated]
|
||||
serializer_class = OrderItemSerailzier
|
||||
def post(self, request, pk):
|
||||
product_variant = get_object_or_404(ProductVariant, pk=pk)
|
||||
|
||||
cart_order, created = OrderModel.objects.get_or_create(
|
||||
user=request.user,
|
||||
status='CART'
|
||||
)
|
||||
order_item, created = OrderItemModel.objects.get_or_create(
|
||||
order=cart_order,
|
||||
product=product_variant,
|
||||
defaults={'quantity': request.data.get('quantity', 1)}
|
||||
)
|
||||
|
||||
if not created:
|
||||
order_item.quantity = request.data.get('quantity', 1)
|
||||
order_item.save()
|
||||
|
||||
return Response({'detail': 'it did something'}, status=status.HTTP_201_CREATED)
|
||||
def delete(self, request, pk):
|
||||
product_variant = get_object_or_404(ProductVariant, pk=pk)
|
||||
|
||||
cart_order, created = OrderModel.objects.get_or_create(
|
||||
user=request.user,
|
||||
status='CART'
|
||||
)
|
||||
# order_item, created = OrderItemModel.objects.get_or_create(
|
||||
# order=cart_order,
|
||||
# product=product_variant,
|
||||
# defaults={'quantity': request.data.get('quantity', 1)}
|
||||
# )
|
||||
order_item = get_object_or_404(OrderItemModel, order=cart_order, product=product_variant)
|
||||
order_item.delete()
|
||||
return Response({'detail': 'it did something related to delete'}, status=status.HTTP_204_NO_CONTENT)
|
||||
|
||||
|
||||
|
||||
class CartViews(APIView):
|
||||
def get(self, request):
|
||||
pass
|
||||
|
||||
Reference in New Issue
Block a user