percentage done
This commit is contained in:
parent
e9b2e3b51d
commit
53adac2d26
2 changed files with 5 additions and 23 deletions
|
|
@ -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)
|
||||
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue