Skip to content
Snippets Groups Projects
Commit 830e2f4b authored by Emmanuel Viennet's avatar Emmanuel Viennet
Browse files

Fix: listes validations UEs en BUT avec UE externes (donc ECTS fiche étud)

parent 9b825c0f
No related branches found
No related tags found
No related merge requests found
......@@ -408,7 +408,7 @@ def but_validations_ues(
etud: Identite,
referentiel_competence_id: int,
annees_but: None | Iterable[str] = None,
) -> Query:
) -> list[ScolarFormSemestreValidation]:
"""Query les validations d'UEs pour cet étudiant
dans des UEs appartenant à ce référentiel de compétence
et en option pour les années BUT indiquées.
......@@ -417,18 +417,25 @@ def but_validations_ues(
validations = (
ScolarFormSemestreValidation.query.filter_by(etudid=etud.id)
.filter(ScolarFormSemestreValidation.ue_id != None)
.join(FormSemestre, ScolarFormSemestreValidation.formsemestre)
.join(UniteEns)
.join(ApcNiveau)
)
# restreint à certaines années (utile pour les ECTS du DUT120)
if annees_but:
validations = validations.filter(ApcNiveau.annee.in_(annees_but))
# restreint au référentiel de compétence et trie
return (
validations.join(ApcCompetence)
.filter_by(referentiel_id=referentiel_competence_id)
.order_by(FormSemestre.semestre_id, UniteEns.numero, UniteEns.acronyme)
# restreint au référentiel de compétence
validations = validations.join(ApcCompetence).filter_by(
referentiel_id=referentiel_competence_id
)
# Tri (nb: fait en python pour gérer les validations externes qui n'ont pas de formsemestre)
return sorted(
validations,
key=lambda v: (
(v.formsemestre.semestre_id, v.ue.numero, v.ue.acronyme)
if v.formsemestre
else (v.ue.semestre_idx or -2, v.ue.numero, v.ue.acronyme)
),
)
......
# -*- mode: python -*-
# -*- coding: utf-8 -*-
SCOVERSION = "9.7.0"
SCOVERSION = "9.7.1"
SCONAME = "ScoDoc"
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment