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
|
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):
|
class PromotionSerializer(serializers.ModelSerializer):
|
||||||
base_amount = serializers.IntegerField(required=True)
|
base_amount = serializers.IntegerField(required=True)
|
||||||
promotion_amount = serializers.IntegerField(read_only=True)
|
promotion_amount = serializers.IntegerField(read_only=True)
|
||||||
|
|
@ -35,7 +18,7 @@ class PromotionSerializer(serializers.ModelSerializer):
|
||||||
)
|
)
|
||||||
read_only_fields = ('user','application', "promotion_amount",)
|
read_only_fields = ('user','application', "promotion_amount",)
|
||||||
|
|
||||||
class CalculatedPlanSerializer(serializers.ModelSerializer):
|
class PlanSerializer(serializers.ModelSerializer):
|
||||||
base_amount = serializers.IntegerField(required=True)
|
base_amount = serializers.IntegerField(required=True)
|
||||||
promotion_amount = serializers.IntegerField(read_only=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 rest_framework.viewsets import GenericViewSet
|
||||||
|
|
||||||
from .models import Promotion, Plan
|
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.models import Application
|
||||||
from apps.gooyal_oauth2.rest_framework import IsAuthenticatedOrTokenMatchesOASRequirements
|
from apps.gooyal_oauth2.rest_framework import IsAuthenticatedOrTokenMatchesOASRequirements
|
||||||
from apps.gooyal_oauth2.utils import get_application
|
from apps.gooyal_oauth2.utils import get_application
|
||||||
|
|
@ -104,10 +104,9 @@ class UserPlanViewSet(mixins.RetrieveModelMixin,
|
||||||
queryset = Plan.objects.all()
|
queryset = Plan.objects.all()
|
||||||
return queryset
|
return queryset
|
||||||
|
|
||||||
@extend_schema(responses=CalculatedPlanSerializer(many=True))
|
@extend_schema(responses=PlanSerializer(many=True))
|
||||||
@action(detail=False, methods=['POST'], serializer_class=CalculatedPlanSerializer)
|
@action(detail=False, methods=['POST'], serializer_class=PlanSerializer)
|
||||||
def calculate(self, request):
|
def available(self, request):
|
||||||
user = self.request.user
|
|
||||||
serializer = self.get_serializer(data=self.request.data)
|
serializer = self.get_serializer(data=self.request.data)
|
||||||
serializer.is_valid(raise_exception=True)
|
serializer.is_valid(raise_exception=True)
|
||||||
print(serializer.validated_data)
|
print(serializer.validated_data)
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue