Jury BUT: cas ou une UE sans niveau a été ajoutée au programme

This commit is contained in:
Emmanuel Viennet 2022-06-28 11:18:12 +02:00
parent a204e67efc
commit a02437323b
5 changed files with 13 additions and 9 deletions

View File

@ -277,15 +277,16 @@ class DecisionsProposeesAnnee(DecisionsProposees):
self.decisions_rcue_by_niveau = self.compute_decisions_niveaux()
"les décisions rcue associées aux niveau_id"
self.dec_rcue_by_ue = self._dec_rcue_by_ue()
"{ ue_id : DecisionsProposeesRCUE }"
"{ ue_id : DecisionsProposeesRCUE } pour toutes les UE associées à un niveau"
self.nb_competences = len(self.niveaux_competences)
"le nombre de niveaux de compétences à valider cette année"
rcues_avec_niveau = [d.rcue for d in self.decisions_rcue_by_niveau.values()]
self.nb_validables = len(
[rcue for rcue in self.rcues_annee if rcue.est_validable()]
[rcue for rcue in rcues_avec_niveau if rcue.est_validable()]
)
"le nombre de comp. validables (éventuellement par compensation)"
self.nb_rcues_under_8 = len(
[rcue for rcue in self.rcues_annee if not rcue.est_suffisant()]
[rcue for rcue in rcues_avec_niveau if not rcue.est_suffisant()]
)
"le nb de comp. sous la barre de 8/20"
# année ADM si toutes RCUE validées (sinon PASD)

View File

@ -370,7 +370,8 @@ def get_table_jury_but(
row.add_nb_rcues_cell(deca)
# --- Les RCUEs
for rcue in deca.rcues_annee:
dec_rcue = deca.dec_rcue_by_ue[rcue.ue_1.id]
dec_rcue = deca.dec_rcue_by_ue.get(rcue.ue_1.id)
if dec_rcue is not None: # None si l'UE n'est pas associée à un niveau
row.add_ue_cells(deca.decisions_ues[rcue.ue_1.id])
row.add_ue_cells(deca.decisions_ues[rcue.ue_2.id])
row.add_rcue_cells(dec_rcue)

View File

@ -365,7 +365,7 @@ def do_formsemestre_archive(
PVArchive.store(
archive_id,
"Decisions_Jury" + scu.XLSX_SUFFIX,
data.encode(scu.SCO_ENCODING),
data,
)
# Classeur bulletins (PDF)
data, _ = sco_bulletins_pdf.get_formsemestre_bulletins_pdf(

View File

@ -465,6 +465,8 @@ def ue_edit(ue_id=None, create=False, formation_id=None, default_semestre_idx=No
+ html_sco_header.sco_footer()
)
else:
if not tf[2]: # ceci ne devrait pas arriver
raise ScoValueError("Merci de reprendre l'opération")
if create:
if not tf[2]["ue_code"]:
del tf[2]["ue_code"]

View File

@ -1,7 +1,7 @@
# -*- mode: python -*-
# -*- coding: utf-8 -*-
SCOVERSION = "9.3.4"
SCOVERSION = "9.3.5"
SCONAME = "ScoDoc"