Calcul ECTS dans le parcours BUT
This commit is contained in:
parent
87316f057e
commit
ad4e4e33ec
@ -43,7 +43,7 @@ from app.models.formsemestre import FormSemestre, FormSemestreInscription
|
|||||||
from app.models.ues import UniteEns
|
from app.models.ues import UniteEns
|
||||||
from app.models.validations import ScolarFormSemestreValidation
|
from app.models.validations import ScolarFormSemestreValidation
|
||||||
from app.scodoc import codes_cursus as sco_codes
|
from app.scodoc import codes_cursus as sco_codes
|
||||||
from app.scodoc.codes_cursus import code_ue_validant, RED, UE_STANDARD
|
from app.scodoc.codes_cursus import code_ue_validant, CODES_UE_VALIDES
|
||||||
from app.scodoc import sco_utils as scu
|
from app.scodoc import sco_utils as scu
|
||||||
from app.scodoc.sco_exceptions import ScoNoReferentielCompetences, ScoValueError
|
from app.scodoc.sco_exceptions import ScoNoReferentielCompetences, ScoValueError
|
||||||
|
|
||||||
@ -365,18 +365,26 @@ class FormSemestreCursusBUT:
|
|||||||
|
|
||||||
|
|
||||||
def but_ects_valides(etud: Identite, referentiel_competence_id: int) -> float:
|
def but_ects_valides(etud: Identite, referentiel_competence_id: int) -> float:
|
||||||
"Nombre d'ECTS validés par etud dans le BUT de référentiel indiqué"
|
"""Nombre d'ECTS validés par etud dans le BUT de référentiel indiqué.
|
||||||
# ne prend que les UE associées à des niveaux de compétences, et ne les compte qu'une fois
|
Ne prend que les UE associées à des niveaux de compétences,
|
||||||
ects_dict = {
|
et ne les compte qu'une fois même en cas de redoublement avec re-validation.
|
||||||
(v.ue.semestre_idx, v.ue.niveau_competence.id): v.ue.ects
|
"""
|
||||||
for v in ScolarFormSemestreValidation.query.filter_by(etudid=etud.id)
|
validations = (
|
||||||
|
ScolarFormSemestreValidation.query.filter_by(etudid=etud.id)
|
||||||
.filter(ScolarFormSemestreValidation.ue_id != None)
|
.filter(ScolarFormSemestreValidation.ue_id != None)
|
||||||
.join(UniteEns)
|
.join(UniteEns)
|
||||||
.join(ApcNiveau)
|
.join(ApcNiveau)
|
||||||
.join(ApcCompetence)
|
.join(ApcCompetence)
|
||||||
.filter_by(referentiel_id=referentiel_competence_id)
|
.filter_by(referentiel_id=referentiel_competence_id)
|
||||||
}
|
)
|
||||||
return sum(ects_dict.values())
|
|
||||||
|
ects_dict = {}
|
||||||
|
for v in validations:
|
||||||
|
key = (v.ue.semestre_idx, v.ue.niveau_competence.id)
|
||||||
|
if v.code in CODES_UE_VALIDES:
|
||||||
|
ects_dict[key] = v.ue.ects
|
||||||
|
|
||||||
|
return sum(ects_dict.values()) if ects_dict else 0.0
|
||||||
|
|
||||||
|
|
||||||
def etud_ues_de_but1_non_validees(
|
def etud_ues_de_but1_non_validees(
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
# -*- mode: python -*-
|
# -*- mode: python -*-
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
SCOVERSION = "9.4.94"
|
SCOVERSION = "9.4.95"
|
||||||
|
|
||||||
SCONAME = "ScoDoc"
|
SCONAME = "ScoDoc"
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user