get_ue_poids_dict: sort

This commit is contained in:
Emmanuel Viennet 2022-10-03 09:04:04 +02:00
parent 036ce650c6
commit 91e508bf9f
2 changed files with 14 additions and 4 deletions

View File

@ -112,7 +112,7 @@ class Evaluation(db.Model):
for ue_id, poids in ue_poids_dict.items(): for ue_id, poids in ue_poids_dict.items():
ue = UniteEns.query.get(ue_id) ue = UniteEns.query.get(ue_id)
L.append(EvaluationUEPoids(evaluation=self, ue=ue, poids=poids)) L.append(EvaluationUEPoids(evaluation=self, ue=ue, poids=poids))
self.ue_poids = L self.ue_poids = L # backref # pylint:disable=attribute-defined-outside-init
self.moduleimpl.invalidate_evaluations_poids() # inval cache self.moduleimpl.invalidate_evaluations_poids() # inval cache
def update_ue_poids_dict(self, ue_poids_dict: dict) -> None: def update_ue_poids_dict(self, ue_poids_dict: dict) -> None:
@ -121,8 +121,18 @@ class Evaluation(db.Model):
current.update(ue_poids_dict) current.update(ue_poids_dict)
self.set_ue_poids_dict(current) self.set_ue_poids_dict(current)
def get_ue_poids_dict(self) -> dict: def get_ue_poids_dict(self, sort=False) -> dict:
"""returns { ue_id : poids }""" """returns { ue_id : poids }
Si sort, trie par UE
"""
if sort:
return {
p.ue.id: p.poids
for p in sorted(
self.ue_poids, key=lambda p: (p.ue.numero or 0, p.ue.acronyme)
)
}
return {p.ue.id: p.poids for p in self.ue_poids} return {p.ue.id: p.poids for p in self.ue_poids}
def get_ue_poids_str(self) -> str: def get_ue_poids_str(self) -> str:

View File

@ -787,7 +787,7 @@ def _ligne_evaluation(
def _evaluation_poids_html(evaluation: Evaluation) -> str: def _evaluation_poids_html(evaluation: Evaluation) -> str:
"""graphe html montrant les poids de l'évaluation""" """graphe html montrant les poids de l'évaluation"""
ue_poids = evaluation.get_ue_poids_dict() # { ue_id : poids } ue_poids = evaluation.get_ue_poids_dict(sort=True) # { ue_id : poids }
if not ue_poids: if not ue_poids:
return return
max_poids = max(ue_poids.values()) max_poids = max(ue_poids.values())