forked from ScoDoc/ScoDoc
Fixed bug (migration to Numpy 2.0) and warnings. All tests OK.
This commit is contained in:
parent
bee6d10c90
commit
fc036705e8
@ -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]:
|
|||||||
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
|
|||||||
|
|
||||||
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(
|
|||||||
)
|
)
|
||||||
|
|
||||||
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(
|
|||||||
)
|
)
|
||||||
# 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
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user