forked from ScoDoc/ScoDoc
filtre modules non BUT dans edit_modules_ue_coefs
This commit is contained in:
parent
795ca343de
commit
0e930d5fe4
@ -36,6 +36,7 @@ from app.models import UniteEns, Module, ModuleImpl, ModuleUECoef
|
|||||||
from app.comp import moy_mod
|
from app.comp import moy_mod
|
||||||
from app.models.formsemestre import FormSemestre
|
from app.models.formsemestre import FormSemestre
|
||||||
from app.scodoc import sco_codes_parcours
|
from app.scodoc import sco_codes_parcours
|
||||||
|
from app.scodoc.sco_utils import ModuleType
|
||||||
|
|
||||||
|
|
||||||
def df_load_module_coefs(formation_id: int, semestre_idx: int = None) -> pd.DataFrame:
|
def df_load_module_coefs(formation_id: int, semestre_idx: int = None) -> pd.DataFrame:
|
||||||
@ -56,9 +57,16 @@ def df_load_module_coefs(formation_id: int, semestre_idx: int = None) -> pd.Data
|
|||||||
.filter(UniteEns.type != sco_codes_parcours.UE_SPORT)
|
.filter(UniteEns.type != sco_codes_parcours.UE_SPORT)
|
||||||
.order_by(UniteEns.semestre_idx, UniteEns.numero, UniteEns.acronyme)
|
.order_by(UniteEns.semestre_idx, UniteEns.numero, UniteEns.acronyme)
|
||||||
)
|
)
|
||||||
modules = Module.query.filter_by(formation_id=formation_id).order_by(
|
modules = (
|
||||||
|
Module.query.filter_by(formation_id=formation_id)
|
||||||
|
.filter(
|
||||||
|
(Module.module_type == ModuleType.RESSOURCE)
|
||||||
|
| (Module.module_type == ModuleType.SAE)
|
||||||
|
)
|
||||||
|
.order_by(
|
||||||
Module.semestre_id, Module.module_type.desc(), Module.numero, Module.code
|
Module.semestre_id, Module.module_type.desc(), Module.numero, Module.code
|
||||||
)
|
)
|
||||||
|
)
|
||||||
if semestre_idx is not None:
|
if semestre_idx is not None:
|
||||||
ues = ues.filter_by(semestre_idx=semestre_idx)
|
ues = ues.filter_by(semestre_idx=semestre_idx)
|
||||||
modules = modules.filter_by(semestre_id=semestre_idx)
|
modules = modules.filter_by(semestre_id=semestre_idx)
|
||||||
@ -76,7 +84,9 @@ def df_load_module_coefs(formation_id: int, semestre_idx: int = None) -> pd.Data
|
|||||||
query = query.filter(UniteEns.semestre_idx == semestre_idx)
|
query = query.filter(UniteEns.semestre_idx == semestre_idx)
|
||||||
|
|
||||||
for mod_coef in query:
|
for mod_coef in query:
|
||||||
|
if mod_coef.module_id in module_coefs_df:
|
||||||
module_coefs_df[mod_coef.module_id][mod_coef.ue_id] = mod_coef.coef
|
module_coefs_df[mod_coef.module_id][mod_coef.ue_id] = mod_coef.coef
|
||||||
|
# silently ignore coefs associated to other modules (ie when module_type is changed)
|
||||||
|
|
||||||
module_coefs_df.fillna(value=0, inplace=True)
|
module_coefs_df.fillna(value=0, inplace=True)
|
||||||
|
|
||||||
@ -225,7 +235,7 @@ def compute_ue_moys_classic(
|
|||||||
ues: list,
|
ues: list,
|
||||||
modimpl_inscr_df: pd.DataFrame,
|
modimpl_inscr_df: pd.DataFrame,
|
||||||
modimpl_coefs: np.array,
|
modimpl_coefs: np.array,
|
||||||
) -> pd.DataFrame:
|
) -> tuple:
|
||||||
"""Calcul de la moyenne d'UE en mode classique.
|
"""Calcul de la moyenne d'UE en mode classique.
|
||||||
La moyenne d'UE est un nombre (note/20), ou NI ou NA ou ERR
|
La moyenne d'UE est un nombre (note/20), ou NI ou NA ou ERR
|
||||||
NI non inscrit à (au moins un) module de cette UE
|
NI non inscrit à (au moins un) module de cette UE
|
||||||
|
Loading…
Reference in New Issue
Block a user