mirror of
https://git.v0id.ovh/n3wt-innov/n3wt-school.git
synced 2026-01-28 23:43:22 +00:00
feat: Harmonisation des fees / ajout de type de réduction / mise à jour
du calcul [#18]
This commit is contained in:
@ -5,8 +5,8 @@ from rest_framework.parsers import JSONParser
|
||||
from rest_framework.views import APIView
|
||||
from django.core.cache import cache
|
||||
from django.core.exceptions import ObjectDoesNotExist
|
||||
from .models import Teacher, Speciality, SchoolClass, Planning, Discount, TuitionFee, Fee
|
||||
from .serializers import TeacherSerializer, SpecialitySerializer, SchoolClassSerializer, PlanningSerializer, DiscountSerializer, TuitionFeeSerializer, FeeSerializer
|
||||
from .models import Teacher, Speciality, SchoolClass, Planning, Discount, Fee
|
||||
from .serializers import TeacherSerializer, SpecialitySerializer, SchoolClassSerializer, PlanningSerializer, DiscountSerializer, FeeSerializer
|
||||
from N3wtSchool import bdd
|
||||
from N3wtSchool.bdd import delete_object, getAllObjects, getObject
|
||||
|
||||
@ -267,18 +267,16 @@ class PlanningView(APIView):
|
||||
@method_decorator(csrf_protect, name='dispatch')
|
||||
@method_decorator(ensure_csrf_cookie, name='dispatch')
|
||||
class FeesView(APIView):
|
||||
def get(self, request):
|
||||
feesList = Fee.objects.all()
|
||||
fees_serializer = FeeSerializer(feesList, many=True)
|
||||
return JsonResponse(fees_serializer.data, safe=False)
|
||||
def get(self, request, _filter, *args, **kwargs):
|
||||
|
||||
def post(self, request):
|
||||
fee_data = JSONParser().parse(request)
|
||||
fee_serializer = FeeSerializer(data=fee_data)
|
||||
if fee_serializer.is_valid():
|
||||
fee_serializer.save()
|
||||
return JsonResponse(fee_serializer.data, safe=False, status=201)
|
||||
return JsonResponse(fee_serializer.errors, safe=False, status=400)
|
||||
if _filter not in ['registration', 'tuition']:
|
||||
return JsonResponse({"error": "Invalid type parameter. Must be 'registration' or 'tuition'."}, safe=False, status=400)
|
||||
|
||||
fee_type_value = 0 if _filter == 'registration' else 1
|
||||
fees = Fee.objects.filter(type=fee_type_value)
|
||||
fee_serializer = FeeSerializer(fees, many=True)
|
||||
|
||||
return JsonResponse(fee_serializer.data, safe=False, status=200)
|
||||
|
||||
@method_decorator(csrf_protect, name='dispatch')
|
||||
@method_decorator(ensure_csrf_cookie, name='dispatch')
|
||||
@ -312,47 +310,4 @@ class FeeView(APIView):
|
||||
return JsonResponse(fee_serializer.errors, safe=False, status=400)
|
||||
|
||||
def delete(self, request, _id):
|
||||
return delete_object(Fee, _id)
|
||||
|
||||
# Vues pour les frais de scolarité (TuitionFee)
|
||||
@method_decorator(csrf_protect, name='dispatch')
|
||||
@method_decorator(ensure_csrf_cookie, name='dispatch')
|
||||
class TuitionFeesView(APIView):
|
||||
def get(self, request):
|
||||
tuitionFeesList = TuitionFee.objects.all()
|
||||
tuitionFees_serializer = TuitionFeeSerializer(tuitionFeesList, many=True)
|
||||
return JsonResponse(tuitionFees_serializer.data, safe=False)
|
||||
|
||||
@method_decorator(csrf_protect, name='dispatch')
|
||||
@method_decorator(ensure_csrf_cookie, name='dispatch')
|
||||
class TuitionFeeView(APIView):
|
||||
def get(self, request, _id):
|
||||
try:
|
||||
tuitionFee = TuitionFee.objects.get(id=_id)
|
||||
tuitionFee_serializer = TuitionFeeSerializer(tuitionFee)
|
||||
return JsonResponse(tuitionFee_serializer.data, safe=False)
|
||||
except TuitionFee.DoesNotExist:
|
||||
return JsonResponse({'error': 'No object found'}, status=404)
|
||||
|
||||
def post(self, request):
|
||||
tuitionFee_data = JSONParser().parse(request)
|
||||
tuitionFee_serializer = TuitionFeeSerializer(data=tuitionFee_data)
|
||||
if tuitionFee_serializer.is_valid():
|
||||
tuitionFee_serializer.save()
|
||||
return JsonResponse(tuitionFee_serializer.data, safe=False, status=201)
|
||||
return JsonResponse(tuitionFee_serializer.errors, safe=False, status=400)
|
||||
|
||||
def put(self, request, _id):
|
||||
tuitionFee_data = JSONParser().parse(request)
|
||||
try:
|
||||
tuitionFee = TuitionFee.objects.get(id=_id)
|
||||
except TuitionFee.DoesNotExist:
|
||||
return JsonResponse({'error': 'No object found'}, status=404)
|
||||
tuitionFee_serializer = TuitionFeeSerializer(tuitionFee, data=tuitionFee_data, partial=True) # Utilisation de partial=True
|
||||
if tuitionFee_serializer.is_valid():
|
||||
tuitionFee_serializer.save()
|
||||
return JsonResponse(tuitionFee_serializer.data, safe=False)
|
||||
return JsonResponse(tuitionFee_serializer.errors, safe=False, status=400)
|
||||
|
||||
def delete(self, request, _id):
|
||||
return delete_object(TuitionFee, _id)
|
||||
return delete_object(Fee, _id)
|
||||
Reference in New Issue
Block a user