From cebaa258a9ea01df948abbbff498b2784058a2be Mon Sep 17 00:00:00 2001 From: Emmanuel Viennet Date: Wed, 8 Feb 2023 17:56:08 +0100 Subject: [PATCH] =?UTF-8?q?Jury=20BUT:=20ne=20consid=C3=A8re=20que=20les?= =?UTF-8?q?=20UE=20capitalis=C3=A9es=20ADM=20dans=20les=20RCUE=20des=20red?= =?UTF-8?q?oublants.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/but/jury_but.py | 3 +- app/scodoc/sco_codes_parcours.py | 2 + app/templates/but/documentation_codes_jury.j2 | 2 +- sco_version.py | 2 +- tests/unit/cursus_but_geii_lyon.yaml | 81 +++++++++++++++++++ 5 files changed, 87 insertions(+), 3 deletions(-) diff --git a/app/but/jury_but.py b/app/but/jury_but.py index 273d14517..90978a23e 100644 --- a/app/but/jury_but.py +++ b/app/but/jury_but.py @@ -94,6 +94,7 @@ from app.scodoc import sco_codes_parcours as sco_codes from app.scodoc.sco_codes_parcours import ( BUT_CODES_ORDERED, CODES_RCUE_VALIDES, + CODES_UE_CAPITALISANTS, CODES_UE_VALIDES, RED, UE_STANDARD, @@ -566,7 +567,7 @@ class DecisionsProposeesAnnee(DecisionsProposees): # l'UE paire DOIT être capitalisée pour être utilisée if ( self.decisions_ues[ue_pair.id].code_valide - not in CODES_UE_VALIDES + not in CODES_UE_CAPITALISANTS ): continue # ignore cette UE antérieure non capitalisée # et l'UE impaire doit être actuellement meilleure que diff --git a/app/scodoc/sco_codes_parcours.py b/app/scodoc/sco_codes_parcours.py index df5484fb0..013f59cc1 100644 --- a/app/scodoc/sco_codes_parcours.py +++ b/app/scodoc/sco_codes_parcours.py @@ -196,6 +196,8 @@ CODES_SEM_REO = {NAR} # reorientation CODES_UE_VALIDES_DE_DROIT = {ADM, CMP} # validation "de droit" CODES_UE_VALIDES = CODES_UE_VALIDES_DE_DROIT | {ADJ, ADJR} "UE validée" +CODES_UE_CAPITALISANTS = {ADM} +"UE capitalisée" CODES_RCUE_VALIDES_DE_DROIT = {ADM, CMP} CODES_RCUE_VALIDES = CODES_RCUE_VALIDES_DE_DROIT | {ADJ} diff --git a/app/templates/but/documentation_codes_jury.j2 b/app/templates/but/documentation_codes_jury.j2 index f54807f2a..9cd90fd1a 100644 --- a/app/templates/but/documentation_codes_jury.j2 +++ b/app/templates/but/documentation_codes_jury.j2 @@ -174,7 +174,7 @@ ADM {{codes["ADM"]}} VAL - Acquis (ECTS acquis) + Acquis (ECTS acquis, UE capitalisée) CMP diff --git a/sco_version.py b/sco_version.py index 64c7dc2c2..b4ee5fb49 100644 --- a/sco_version.py +++ b/sco_version.py @@ -1,7 +1,7 @@ # -*- mode: python -*- # -*- coding: utf-8 -*- -SCOVERSION = "9.4.38" +SCOVERSION = "9.4.39" SCONAME = "ScoDoc" diff --git a/tests/unit/cursus_but_geii_lyon.yaml b/tests/unit/cursus_but_geii_lyon.yaml index 8d64c976a..38349ac90 100644 --- a/tests/unit/cursus_but_geii_lyon.yaml +++ b/tests/unit/cursus_but_geii_lyon.yaml @@ -1,6 +1,9 @@ # Tests unitaires jury BUT - IUT Lyon GEII # Essais avec un BUT GEII, 2 UE en BUT1 / 4 UE en BUT2-BUT3 et 3 parcours # Contrib Pascal B. +# Voir tests/unit/test_but_jury.py +# pytest --pdb -m lyon tests/unit/test_but_jury.py + ReferentielCompetences: filename: but-GEII-05012022-081639.xml @@ -1103,3 +1106,81 @@ Etudiants: rcue: moy_rcue: 11.25 est_compensable: False + geii88: + prenom: M88 + civilite: F + formsemestres: + S1: + notes_modules: # on joue avec les SAE seulement car elles sont "diagonales" + "S1.1": 9.2200 + "S1.2": 7.8200 + attendu: # les codes jury que l'on doit vérifier + deca: + passage_de_droit: False + nb_competences: 2 + nb_rcue_annee: 0 + decisions_ues: + "UE11": + codes: [ "AJ", "..." ] + code_valide: AJ + decision_jury: ADJR + moy_ue: 9.2200 + "UE12": + codes: [ "AJ", "..." ] + code_valide: AJ + decision_jury: AJ + moy_ue: 7.8200 + S2: + notes_modules: # on joue avec les SAE seulement car elles sont "diagonales" + "S2.1": 9.9600 + "S2.2": 9.5600 + attendu: # les codes jury que l'on doit vérifier + deca: + passage_de_droit: False + nb_competences: 2 + nb_rcue_annee: 2 + valide_moitie_rcue: False + codes: [ "RED", "..." ] + decisions_ues: + "UE21": + codes: [ "AJ", "..." ] + code_valide: AJ + decision_jury: ADJR + moy_ue: 9.9600 + "UE22": + codes: [ "AJ", "..." ] + code_valide: AJ + moy_ue: 9.5600 + decisions_rcues: # on repère ici les RCUE par l'acronyme de leur 1ere UE (donc du S1) + "UE11": + code_valide: AJ + decision_jury: ADJ + rcue: + moy_rcue: 9.5900 + est_compensable: False + "UE12": + code_valide: AJ + decision_jury: AJ # ? à confirmer, il était écrit "False" + rcue: + moy_rcue: 8.6900 + est_compensable: False + decision_annee: RED + S1-red: + notes_modules: # on joue avec les SAE seulement car elles sont "diagonales" + "S1.1": 14.0100 + "S1.2": 13.5000 + attendu: # les codes jury que l'on doit vérifier + deca: + passage_de_droit: False + nb_competences: 2 + nb_rcue_annee: 0 + decisions_ues: + "UE11": + codes: [ "ADM", "..." ] + code_valide: ADM + "UE12": + codes: [ "ADM", "..." ] + code_valide: ADM + moy_ue: 13.5000 + # decisions_rcues: aucun RCUE en S1-red + decision_annee: AJ