feat: Rattachement d'un dossier de compétences à une période scolaire

(configuration dans l'établissement) [#16]
This commit is contained in:
N3WT DE COMPET
2025-05-22 01:25:34 +02:00
parent 0fe6c76189
commit 7de839ee5c
18 changed files with 450 additions and 274 deletions

View File

@ -26,6 +26,7 @@ from Subscriptions.models import (
)
from Subscriptions.automate import updateStateMachine
from School.models import EstablishmentCompetency
from Establishment.models import Establishment
from N3wtSchool import settings, bdd
from django.db.models import Q
@ -392,11 +393,28 @@ class RegisterFormWithIdView(APIView):
competency__category__domain__cycle=cycle
)
establishment_competencies = establishment_competencies.distinct()
establishment = registerForm.establishment
evaluation_frequency = establishment.evaluation_frequency # 1=Trimestre, 2=Semestre, 3=Année
school_year = registerForm.school_year # ex: "2024_2025"
establishment_competencies = establishment_competencies.distinct()
periods = []
if evaluation_frequency == 1: # Trimestre
periods = [f"T{i+1}_{school_year}" for i in range(3)]
elif evaluation_frequency == 2: # Semestre
periods = [f"S{i+1}_{school_year}" for i in range(2)]
elif evaluation_frequency == 3: # Année
periods = [f"A_{school_year}"]
for ec in establishment_competencies:
StudentCompetency.objects.get_or_create(
student=student,
establishment_competency=ec
)
for period in periods:
StudentCompetency.objects.get_or_create(
student=student,
establishment_competency=ec,
period=period
)
except Exception as e:
logger.error(f"Erreur lors de la valorisation des StudentCompetency: {e}")