diff --git a/apps/promotions/serializers.py b/apps/promotions/serializers.py index 0d2c88f..371b1d4 100644 --- a/apps/promotions/serializers.py +++ b/apps/promotions/serializers.py @@ -3,23 +3,6 @@ from rest_framework import serializers from .models import Promotion, Plan -class PlanSerializer(serializers.ModelSerializer): - promotion_amount = serializers.SerializerMethodField(method_name='get_promotion_amount') - - def get_promotion_amount(self, obj): - user = self.context['request'].user - return obj.calculate_promotion(user) - - class Meta: - model = Plan - fields = ( - "promotion_amount", - "title", - "description", - "application", - ) - read_only_fields = ('application', "promotion_amount") - class PromotionSerializer(serializers.ModelSerializer): base_amount = serializers.IntegerField(required=True) promotion_amount = serializers.IntegerField(read_only=True) @@ -35,7 +18,7 @@ class PromotionSerializer(serializers.ModelSerializer): ) read_only_fields = ('user','application', "promotion_amount",) -class CalculatedPlanSerializer(serializers.ModelSerializer): +class PlanSerializer(serializers.ModelSerializer): base_amount = serializers.IntegerField(required=True) promotion_amount = serializers.IntegerField(read_only=True) diff --git a/apps/promotions/views.py b/apps/promotions/views.py index 6436ce1..451bd7c 100644 --- a/apps/promotions/views.py +++ b/apps/promotions/views.py @@ -10,7 +10,7 @@ from rest_framework.generics import get_object_or_404 from rest_framework.viewsets import GenericViewSet from .models import Promotion, Plan -from .serializers import PlanSerializer, PromotionSerializer, CalculatedPlanSerializer, PlanPromotSerializer +from .serializers import PlanSerializer, PromotionSerializer from apps.gooyal_oauth2.models import Application from apps.gooyal_oauth2.rest_framework import IsAuthenticatedOrTokenMatchesOASRequirements from apps.gooyal_oauth2.utils import get_application @@ -104,10 +104,9 @@ class UserPlanViewSet(mixins.RetrieveModelMixin, queryset = Plan.objects.all() return queryset - @extend_schema(responses=CalculatedPlanSerializer(many=True)) - @action(detail=False, methods=['POST'], serializer_class=CalculatedPlanSerializer) - def calculate(self, request): - user = self.request.user + @extend_schema(responses=PlanSerializer(many=True)) + @action(detail=False, methods=['POST'], serializer_class=PlanSerializer) + def available(self, request): serializer = self.get_serializer(data=self.request.data) serializer.is_valid(raise_exception=True) print(serializer.validated_data)