From 789bc7cb38c9d46c45ddd8fd5450ed2e4cdb9fe6 Mon Sep 17 00:00:00 2001 From: Emmanuel Viennet Date: Fri, 11 Mar 2022 16:03:06 +0100 Subject: [PATCH] modimpls_in_ue en APC --- app/comp/res_but.py | 16 +++++++++++++++- app/models/moduleimpls.py | 4 +++- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/app/comp/res_but.py b/app/comp/res_but.py index 7bd79463f..228c6506b 100644 --- a/app/comp/res_but.py +++ b/app/comp/res_but.py @@ -14,7 +14,8 @@ from app import log from app.comp import moy_ue, moy_sem, inscr_mod from app.comp.res_common import NotesTableCompat from app.comp.bonus_spo import BonusSport -from app.models import ScoDocSiteConfig, formsemestre +from app.models import ScoDocSiteConfig +from app.models.moduleimpls import ModuleImpl from app.models.ues import UniteEns from app.scodoc.sco_codes_parcours import UE_SPORT @@ -139,3 +140,16 @@ class ResultatsSemestreBUT(NotesTableCompat): (ne dépend pas des modules auxquels est inscrit l'étudiant, ). """ return self.modimpl_coefs_df.loc[ue.id].sum() + + def modimpls_in_ue(self, ue_id, etudid) -> list[ModuleImpl]: + """Liste des modimpl ayant des coefs non nuls vers cette UE + et auxquels l'étudiant est inscrit. + """ + # sert pour l'affichage ou non de l'UE sur le bulletin + coefs = self.modimpl_coefs_df # row UE, cols modimpl + return [ + modimpl + for modimpl in self.formsemestre.modimpls_sorted + if (coefs[modimpl.id][ue_id] != 0) + and self.modimpl_inscr_df[modimpl.id][etudid] + ] diff --git a/app/models/moduleimpls.py b/app/models/moduleimpls.py index 1935036e9..292ec8ffd 100644 --- a/app/models/moduleimpls.py +++ b/app/models/moduleimpls.py @@ -134,7 +134,9 @@ class ModuleImplInscription(db.Model): def etud_modimpls_in_ue( cls, formsemestre_id: int, etudid: int, ue_id: int ) -> flask_sqlalchemy.BaseQuery: - """moduleimpls de l'UE auxquels l'étudiant est inscrit""" + """moduleimpls de l'UE auxquels l'étudiant est inscrit. + (Attention: inutile en APC, il faut considérer les coefficients) + """ return ModuleImplInscription.query.filter( ModuleImplInscription.etudid == etudid, ModuleImplInscription.moduleimpl_id == ModuleImpl.id,