mirror of
https://git.v0id.ovh/n3wt-innov/n3wt-school.git
synced 2026-01-28 23:43:22 +00:00
feat: Configuration des compétences par cycle [#16]
This commit is contained in:
@ -6,7 +6,9 @@ from rest_framework.views import APIView
|
||||
from rest_framework import status
|
||||
from .models import Establishment
|
||||
from .serializers import EstablishmentSerializer
|
||||
from N3wtSchool.bdd import delete_object, getAllObjects, getObject
|
||||
from N3wtSchool.bdd import delete_object, getAllObjects
|
||||
from School.models import Competency, EstablishmentCompetency
|
||||
from django.db.models import Q
|
||||
|
||||
@method_decorator(csrf_protect, name='dispatch')
|
||||
@method_decorator(ensure_csrf_cookie, name='dispatch')
|
||||
@ -20,7 +22,17 @@ class EstablishmentListCreateView(APIView):
|
||||
establishment_data = JSONParser().parse(request)
|
||||
establishment_serializer = EstablishmentSerializer(data=establishment_data)
|
||||
if establishment_serializer.is_valid():
|
||||
establishment_serializer.save()
|
||||
establishment = establishment_serializer.save()
|
||||
# Création des EstablishmentCompetency pour chaque compétence existante
|
||||
competencies = Competency.objects.filter(
|
||||
Q(end_of_cycle=True) | ~Q(level=None)
|
||||
)
|
||||
for competency in competencies:
|
||||
EstablishmentCompetency.objects.get_or_create(
|
||||
establishment=establishment,
|
||||
competency=competency,
|
||||
defaults={'is_required': True}
|
||||
)
|
||||
return JsonResponse(establishment_serializer.data, safe=False, status=status.HTTP_201_CREATED)
|
||||
return JsonResponse(establishment_serializer.errors, safe=False, status=status.HTTP_400_BAD_REQUEST)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user