From 6c850d26659b83792d729614b0fc7e5c2dd7066f Mon Sep 17 00:00:00 2001
From: Emmanuel Viennet <emmanuel.viennet@gmail.com>
Date: Fri, 13 Jan 2023 19:50:24 -0300
Subject: [PATCH] =?UTF-8?q?Affichage=20table=20recap=20BUT=20si=20pas=20de?=
=?UTF-8?q?=20moyenne=20g=C3=A9n=C3=A9rale:=20pas=20de=20rangs?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/comp/res_common.py | 49 +++++++++++++++++++++-----------------
app/models/formsemestre.py | 1 +
2 files changed, 28 insertions(+), 22 deletions(-)
diff --git a/app/comp/res_common.py b/app/comp/res_common.py
index 628db367b..c45651790 100644
--- a/app/comp/res_common.py
+++ b/app/comp/res_common.py
@@ -519,10 +519,11 @@ class ResultatsSemestre(ResultatsCache):
row, "code_nip", "code_nip", etud.code_nip or "", "codes", idx
)
# --- Rang
- idx = add_cell(
- row, "rang", "Rg", self.etud_moy_gen_ranks[etudid], "rang", idx
- )
- row["_rang_order"] = f"{self.etud_moy_gen_ranks_int[etudid]:05d}"
+ if not self.formsemestre.block_moyenne_generale:
+ idx = add_cell(
+ row, "rang", "Rg", self.etud_moy_gen_ranks[etudid], "rang", idx
+ )
+ row["_rang_order"] = f"{self.etud_moy_gen_ranks_int[etudid]:05d}"
# --- Identité étudiant
idx = add_cell(
row, "civilite_str", "Civ.", etud.civilite_str, "identite_detail", idx
@@ -548,23 +549,24 @@ class ResultatsSemestre(ResultatsCache):
idx = 30 # début des colonnes de notes
# --- Moyenne générale
- moy_gen = self.etud_moy_gen.get(etudid, False)
- note_class = ""
- if moy_gen is False:
- moy_gen = NO_NOTE
- elif isinstance(moy_gen, float) and moy_gen < barre_moy:
- note_class = " moy_ue_warning" # en rouge
- idx = add_cell(
- row,
- "moy_gen",
- "Moy",
- fmt_note(moy_gen),
- "col_moy_gen" + note_class,
- idx,
- )
- titles_bot["_moy_gen_target_attrs"] = (
- 'title="moyenne indicative"' if self.is_apc else ""
- )
+ if not self.formsemestre.block_moyenne_generale:
+ moy_gen = self.etud_moy_gen.get(etudid, False)
+ note_class = ""
+ if moy_gen is False:
+ moy_gen = NO_NOTE
+ elif isinstance(moy_gen, float) and moy_gen < barre_moy:
+ note_class = " moy_ue_warning" # en rouge
+ idx = add_cell(
+ row,
+ "moy_gen",
+ "Moy",
+ fmt_note(moy_gen),
+ "col_moy_gen" + note_class,
+ idx,
+ )
+ titles_bot["_moy_gen_target_attrs"] = (
+ 'title="moyenne indicative"' if self.is_apc else ""
+ )
# --- Moyenne d'UE
nb_ues_validables, nb_ues_warning = 0, 0
for ue in ues_sans_bonus:
@@ -733,7 +735,10 @@ class ResultatsSemestre(ResultatsCache):
self._recap_add_admissions(rows, titles)
# tri par rang croissant
- rows.sort(key=lambda e: e["_rang_order"])
+ if not self.formsemestre.block_moyenne_generale:
+ rows.sort(key=lambda e: e["_rang_order"])
+ else:
+ rows.sort(key=lambda e: e["_ues_validables_order"], reverse=True)
# INFOS POUR FOOTER
bottom_infos = self._recap_bottom_infos(ues_sans_bonus, modimpl_ids, fmt_note)
diff --git a/app/models/formsemestre.py b/app/models/formsemestre.py
index 6654d691f..55e60cc06 100644
--- a/app/models/formsemestre.py
+++ b/app/models/formsemestre.py
@@ -80,6 +80,7 @@ class FormSemestre(db.Model):
block_moyenne_generale = db.Column(
db.Boolean(), nullable=False, default=False, server_default="false"
)
+ "Si vrai, la moyenne générale indicative BUT n'est pas calculée"
# semestres decales (pour gestion jurys):
gestion_semestrielle = db.Column(
db.Boolean(), nullable=False, default=False, server_default="false"
--
GitLab