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

Fixed bug (migration to Numpy 2.0) and warnings. All tests OK.

parent bee6d10c
No related branches found
No related tags found
No related merge requests found
...@@ -445,9 +445,10 @@ class User(UserMixin, ScoDocModel): ...@@ -445,9 +445,10 @@ class User(UserMixin, ScoDocModel):
def set_roles(self, roles, dept): def set_roles(self, roles, dept):
"set roles in the given dept" "set roles in the given dept"
self.user_roles = [ self.user_roles = []
UserRole(user=self, role=r, dept=dept) for r in roles if isinstance(r, Role) for r in roles:
] if isinstance(r, Role):
self.add_role(r, dept)
def get_roles(self): def get_roles(self):
"iterator on my roles" "iterator on my roles"
......
...@@ -541,17 +541,16 @@ def load_evaluations_poids(moduleimpl_id: int) -> tuple[pd.DataFrame, list]: ...@@ -541,17 +541,16 @@ def load_evaluations_poids(moduleimpl_id: int) -> tuple[pd.DataFrame, list]:
ue_ids = [ue.id for ue in ues] ue_ids = [ue.id for ue in ues]
evaluation_ids = [evaluation.id for evaluation in modimpl.evaluations] evaluation_ids = [evaluation.id for evaluation in modimpl.evaluations]
evals_poids = pd.DataFrame(columns=ue_ids, index=evaluation_ids, dtype=float) evals_poids = pd.DataFrame(columns=ue_ids, index=evaluation_ids, dtype=float)
if ( if modimpl.module.module_type in (ModuleType.RESSOURCE, ModuleType.SAE):
modimpl.module.module_type == ModuleType.RESSOURCE
or modimpl.module.module_type == ModuleType.SAE
):
for ue_poids in EvaluationUEPoids.query.join( for ue_poids in EvaluationUEPoids.query.join(
EvaluationUEPoids.evaluation EvaluationUEPoids.evaluation
).filter_by(moduleimpl_id=moduleimpl_id): ).filter_by(moduleimpl_id=moduleimpl_id):
try: if (
evals_poids.loc[ue_poids.evaluation_id, ue_poids.ue_id] = ue_poids.poids ue_poids.evaluation_id in evals_poids.index
except KeyError: and ue_poids.ue_id in evals_poids.columns
pass # poids vers des UE qui n'existent plus ou sont dans un autre semestre... ):
evals_poids.at[ue_poids.evaluation_id, ue_poids.ue_id] = ue_poids.poids
# ignore poids vers des UEs qui n'existent plus ou sont dans un autre semestre...
# Initialise poids non enregistrés: # Initialise poids non enregistrés:
default_poids = ( default_poids = (
......
...@@ -92,7 +92,7 @@ def df_load_module_coefs(formation_id: int, semestre_idx: int = None) -> pd.Data ...@@ -92,7 +92,7 @@ def df_load_module_coefs(formation_id: int, semestre_idx: int = None) -> pd.Data
for mod_coef in query: for mod_coef in query:
if mod_coef.module_id in module_coefs_df: 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.at[mod_coef.ue_id, mod_coef.module_id] = mod_coef.coef
# silently ignore coefs associated to other modules (ie when module_type is changed) # silently ignore coefs associated to other modules (ie when module_type is changed)
# Initialisation des poids non fixés: # Initialisation des poids non fixés:
...@@ -138,14 +138,16 @@ def df_load_modimpl_coefs( ...@@ -138,14 +138,16 @@ def df_load_modimpl_coefs(
) )
for mod_coef in mod_coefs: for mod_coef in mod_coefs:
try: if (
modimpl_coefs_df.loc[mod_coef.ue_id, mod2impl[mod_coef.module_id]] = ( mod_coef.ue_id in modimpl_coefs_df.index
and mod2impl[mod_coef.module_id] in modimpl_coefs_df.columns
):
modimpl_coefs_df.at[mod_coef.ue_id, mod2impl[mod_coef.module_id]] = (
mod_coef.coef mod_coef.coef
) )
except IndexError:
# il peut y avoir en base des coefs sur des modules ou UE # il peut y avoir en base des coefs sur des modules ou UE
# qui ont depuis été retirés de la formation # qui ont depuis été retirés de la formation : on ignore ces coefs
pass
# Initialisation des poids non fixés: # Initialisation des poids non fixés:
# 0 pour modules normaux, 1. pour bonus (car par défaut, on veut qu'un bonus agisse # 0 pour modules normaux, 1. pour bonus (car par défaut, on veut qu'un bonus agisse
# sur toutes les UE) # sur toutes les UE)
...@@ -299,7 +301,11 @@ def compute_ue_moys_apc( ...@@ -299,7 +301,11 @@ def compute_ue_moys_apc(
) )
# Les "dispenses" sont très peu nombreuses et traitées en python: # Les "dispenses" sont très peu nombreuses et traitées en python:
for dispense_ue in dispense_ues: for dispense_ue in dispense_ues:
etud_moy_ue_df[dispense_ue[1]][dispense_ue[0]] = 0.0 if (
dispense_ue[0] in etud_moy_ue_df.columns
and dispense_ue[1] in etud_moy_ue_df.index
):
etud_moy_ue_df.at[dispense_ue[1], dispense_ue[0]] = 0.0
return etud_moy_ue_df return etud_moy_ue_df
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment