update price formats
This commit is contained in:
@@ -9,15 +9,23 @@ class ProductVariantSerialzier(serializers.ModelSerializer):
|
||||
image = serializers.SerializerMethodField()
|
||||
discount_amount = serializers.SerializerMethodField()
|
||||
title = serializers.SerializerMethodField()
|
||||
price = serializers.CharField()
|
||||
price = serializers.SerializerMethodField()
|
||||
final_price = serializers.SerializerMethodField()
|
||||
category = serializers.SerializerMethodField()
|
||||
class Meta:
|
||||
model = ProductVariant
|
||||
fields = ['title', 'product_attributes', 'in_stock', 'price', 'discount', 'color', 'image', 'discount_amount', 'category']
|
||||
fields = ['title', 'product_attributes', 'in_stock', 'price', 'discount', 'color', 'image', 'discount_amount', 'category', 'final_price']
|
||||
|
||||
def get_discount_amount(self, obj):
|
||||
discount_amount = int(obj.price * (obj.discount / 100))
|
||||
return f'{discount_amount}'
|
||||
return f'{discount_amount:,.0f} تومان'
|
||||
|
||||
def get_final_price(self, obj):
|
||||
final_price = obj.price - int(obj.price * (obj.discount / 100))
|
||||
return f'{final_price:,.0f} تومان'
|
||||
|
||||
def get_price(self, obj):
|
||||
return f'{obj.price:,.0f} تومان'
|
||||
|
||||
def get_image(self, obj):
|
||||
return self.context.get('request').build_absolute_uri(obj.images.all().first().image.url)
|
||||
@@ -64,7 +72,7 @@ class CartSerializer(serializers.ModelSerializer):
|
||||
return {
|
||||
'code': f'{obj.discount_code.code}',
|
||||
'percent': obj.discount_code.percent,
|
||||
'amount': '100000'
|
||||
'amount': f'{10000:,.0f} تومان'
|
||||
}
|
||||
else:
|
||||
return None
|
||||
@@ -74,14 +82,14 @@ class CartSerializer(serializers.ModelSerializer):
|
||||
|
||||
|
||||
def get_tax(self, obj):
|
||||
return '1000'
|
||||
return f'{1000:,.0f} تومان'
|
||||
|
||||
def get_cart_total(self, obj):
|
||||
return '10000'
|
||||
|
||||
return f'{10000:,.0f} تومان'
|
||||
def get_final_price(self, obj):
|
||||
return '8000'
|
||||
|
||||
return f'{8000:,.0f} تومان'
|
||||
|
||||
|
||||
class OrderSerializer(serializers.ModelSerializer):
|
||||
|
||||
+62
-1
@@ -107,4 +107,65 @@ class OrderlistView(APIView):
|
||||
user = request.user
|
||||
orders = OrderModel.objects.filter(user=user).exclude(status="CART")
|
||||
orders_ser = self.serializer_class(instance=orders, many=True, context={'request': request})
|
||||
return Response(orders_ser.data, status=status.HTTP_200_OK)
|
||||
return Response(orders_ser.data, status=status.HTTP_200_OK)
|
||||
|
||||
|
||||
|
||||
# from rest_framework.views import APIView
|
||||
# from rest_framework.response import Response
|
||||
# from rest_framework import status
|
||||
# from azbankgateways import bankfactories, models as bank_models
|
||||
|
||||
# class PaymentView(APIView):
|
||||
# def post(self, request):
|
||||
# amount = request.data.get('amount')
|
||||
# user = request.user
|
||||
|
||||
|
||||
# payment = Payment.objects.create(amount=amount, bank_type='ZARINPAL')
|
||||
|
||||
|
||||
# factory = bankfactories.ZarinpalBankFactory()
|
||||
# try:
|
||||
# bank = factory.create(
|
||||
# amount=amount,
|
||||
# user=user,
|
||||
# callback_url='http://.com/callback/',
|
||||
# reference_model=payment,
|
||||
# )
|
||||
# bank.ready()
|
||||
# return Response({'gateway_url': bank.redirect_url}, status=status.HTTP_200_OK)
|
||||
# except Exception as e:
|
||||
# return Response({'error': str(e)}, status=status.HTTP_400_BAD_REQUEST)
|
||||
|
||||
|
||||
|
||||
# from django.views.decorators.csrf import csrf_exempt
|
||||
# from rest_framework.decorators import api_view
|
||||
# from rest_framework.response import Response
|
||||
# from azbankgateways import bankfactories, models as bank_models
|
||||
|
||||
# @csrf_exempt
|
||||
# @api_view(['POST'])
|
||||
# def callback_view(request):
|
||||
# tracking_code = request.POST.get('tracking_code')
|
||||
# payment_id = request.POST.get('payment_id')
|
||||
|
||||
# payment = Payment.objects.get(id=payment_id)
|
||||
# bank_type = payment.bank_type
|
||||
|
||||
|
||||
# factory = bankfactories.BankFactory.get_bank(bank_type)
|
||||
# try:
|
||||
# result = factory.verify_transaction(tracking_code)
|
||||
# if result.is_success:
|
||||
# payment.status = 'Paid'
|
||||
# payment.tracking_code = tracking_code
|
||||
# payment.save()
|
||||
# return Response({'status': 'Payment successful'})
|
||||
# else:
|
||||
# payment.status = 'Failed'
|
||||
# payment.save()
|
||||
# return Response({'status': 'Payment failed'})
|
||||
# except Exception as e:
|
||||
# return Response({'error': str(e)})
|
||||
Reference in New Issue
Block a user