diff --git a/app/but/apc_edit_ue.py b/app/but/apc_edit_ue.py
index 01b1aacd9..bd8bb1b39 100644
--- a/app/but/apc_edit_ue.py
+++ b/app/but/apc_edit_ue.py
@@ -9,14 +9,14 @@ Edition associations UE <-> Ref. Compétence
"""
from flask import g, url_for
from app.models import ApcReferentielCompetences, Formation, UniteEns
-from app.scodoc import sco_codes_parcours
+from app.scodoc import codes_cursus
def form_ue_choix_niveau(ue: UniteEns) -> str:
"""Form. HTML pour associer une UE à un niveau de compétence.
Le menu select lui meême est vide et rempli en JS par appel à get_ue_niveaux_options_html
"""
- if ue.type != sco_codes_parcours.UE_STANDARD:
+ if ue.type != codes_cursus.UE_STANDARD:
return ""
ref_comp = ue.formation.referentiel_competence
if ref_comp is None:
diff --git a/app/but/bulletin_but.py b/app/but/bulletin_but.py
index d8dbd61c7..4af56a3ca 100644
--- a/app/but/bulletin_but.py
+++ b/app/but/bulletin_but.py
@@ -19,10 +19,10 @@ from app.models.ues import UniteEns
from app.scodoc import sco_bulletins, sco_utils as scu
from app.scodoc import sco_bulletins_json
from app.scodoc import sco_bulletins_pdf
-from app.scodoc import sco_codes_parcours
+from app.scodoc import codes_cursus
from app.scodoc import sco_groups
from app.scodoc import sco_preferences
-from app.scodoc.sco_codes_parcours import UE_SPORT, DEF
+from app.scodoc.codes_cursus import UE_SPORT, DEF
from app.scodoc.sco_utils import fmt_note
@@ -157,7 +157,7 @@ class BulletinBUT:
for _, ue_capitalisee in self.res.validations.ue_capitalisees.loc[
[etud.id]
].iterrows():
- if sco_codes_parcours.code_ue_validant(ue_capitalisee.code):
+ if codes_cursus.code_ue_validant(ue_capitalisee.code):
ue = UniteEns.query.get(ue_capitalisee.ue_id) # XXX cacher ?
# déjà capitalisé ? montre la meilleure
if ue.acronyme in d:
diff --git a/app/but/bulletin_but_pdf.py b/app/but/bulletin_but_pdf.py
index 1ba7a760c..0916e6cbd 100644
--- a/app/but/bulletin_but_pdf.py
+++ b/app/but/bulletin_but_pdf.py
@@ -12,7 +12,7 @@ from reportlab.platypus import Paragraph, Spacer
from app.scodoc.sco_bulletins_standard import BulletinGeneratorStandard
from app.scodoc import gen_tables
-from app.scodoc.sco_codes_parcours import UE_SPORT
+from app.scodoc.codes_cursus import UE_SPORT
from app.scodoc import sco_utils as scu
diff --git a/app/but/bulletin_but_xml_compat.py b/app/but/bulletin_but_xml_compat.py
index 00564f14b..98dc97417 100644
--- a/app/but/bulletin_but_xml_compat.py
+++ b/app/but/bulletin_but_xml_compat.py
@@ -43,7 +43,7 @@ from app.but import bulletin_but
from app.models import FormSemestre, Identite
import app.scodoc.sco_utils as scu
import app.scodoc.notesdb as ndb
-from app.scodoc import sco_codes_parcours
+from app.scodoc import codes_cursus
from app.scodoc import sco_edit_ue
from app.scodoc import sco_etud
from app.scodoc import sco_photos
@@ -159,7 +159,7 @@ def bulletin_but_xml_compat(
code_apogee=quote_xml_attr(ue.code_apogee or ""),
)
doc.append(x_ue)
- if ue.type != sco_codes_parcours.UE_SPORT:
+ if ue.type != codes_cursus.UE_SPORT:
v = results.etud_moy_ue[ue.id][etud.id]
vmin = results.etud_moy_ue[ue.id].min()
vmax = results.etud_moy_ue[ue.id].max()
diff --git a/app/but/cursus_but.py b/app/but/cursus_but.py
index bfa97a703..3ded0c1d4 100644
--- a/app/but/cursus_but.py
+++ b/app/but/cursus_but.py
@@ -44,8 +44,8 @@ from app.models.formations import Formation
from app.models.formsemestre import FormSemestre, FormSemestreInscription
from app.models.ues import UniteEns
from app.models.validations import ScolarFormSemestreValidation
-from app.scodoc import sco_codes_parcours as sco_codes
-from app.scodoc.sco_codes_parcours import RED, UE_STANDARD
+from app.scodoc import codes_cursus as sco_codes
+from app.scodoc.codes_cursus import RED, UE_STANDARD
from app.scodoc import sco_utils as scu
from app.scodoc.sco_exceptions import ScoNoReferentielCompetences, ScoValueError
diff --git a/app/but/jury_but.py b/app/but/jury_but.py
index 821f564b4..e4bf39aa3 100644
--- a/app/but/jury_but.py
+++ b/app/but/jury_but.py
@@ -90,8 +90,8 @@ from app.models.formsemestre import FormSemestre, FormSemestreInscription
from app.models.ues import UniteEns
from app.models.validations import ScolarFormSemestreValidation
from app.scodoc import sco_cache
-from app.scodoc import sco_codes_parcours as sco_codes
-from app.scodoc.sco_codes_parcours import (
+from app.scodoc import codes_cursus as sco_codes
+from app.scodoc.codes_cursus import (
BUT_CODES_ORDERED,
CODES_RCUE_VALIDES,
CODES_UE_CAPITALISANTS,
@@ -641,7 +641,7 @@ class DecisionsProposeesAnnee(DecisionsProposees):
ids = set()
# La poursuite d'études dans un semestre pair d’une même année
# est de droit pour tout étudiant:
- if (self.formsemestre.semestre_id % 2) and sco_codes.ParcoursBUT.NB_SEM:
+ if (self.formsemestre.semestre_id % 2) and sco_codes.CursusBUT.NB_SEM:
ids.add(self.formsemestre.semestre_id + 1)
# La poursuite d’études dans un semestre impair est possible si
@@ -656,7 +656,7 @@ class DecisionsProposeesAnnee(DecisionsProposees):
if (
self.jury_annuel
and code in sco_codes.BUT_CODES_PASSAGE
- and self.formsemestre_pair.semestre_id < sco_codes.ParcoursBUT.NB_SEM
+ and self.formsemestre_pair.semestre_id < sco_codes.CursusBUT.NB_SEM
):
ids.add(self.formsemestre.semestre_id + 1)
@@ -1250,10 +1250,10 @@ class DecisionsProposeesUE(DecisionsProposees):
if self.inscription_etat != scu.INSCRIT:
return
if (
- self.moy_ue > (sco_codes.ParcoursBUT.BARRE_MOY - sco_codes.NOTES_TOLERANCE)
+ self.moy_ue > (sco_codes.CursusBUT.BARRE_MOY - sco_codes.NOTES_TOLERANCE)
) or self.formsemestre.modalite == "EXT":
self.codes.insert(0, sco_codes.ADM)
- self.explanation = f"Moyenne >= {sco_codes.ParcoursBUT.BARRE_MOY}/20"
+ self.explanation = f"Moyenne >= {sco_codes.CursusBUT.BARRE_MOY}/20"
elif self.rcue and self.rcue.est_compensable():
self.codes.insert(0, sco_codes.CMP)
self.explanation = "compensable dans le RCUE"
diff --git a/app/but/jury_but_view.py b/app/but/jury_but_view.py
index 159344744..4a4f974ad 100644
--- a/app/but/jury_but_view.py
+++ b/app/but/jury_but_view.py
@@ -291,7 +291,7 @@ def jury_but_semestriel(
parcour, ues = jury_but.list_ue_parcour_etud(formsemestre, etud, res)
inscription_etat = etud.inscription_etat(formsemestre.id)
semestre_terminal = (
- formsemestre.semestre_id >= formsemestre.formation.get_parcours().NB_SEM
+ formsemestre.semestre_id >= formsemestre.formation.get_cursus().NB_SEM
)
autorisations_passage = ScolarAutorisationInscription.query.filter_by(
etudid=etud.id,
@@ -474,7 +474,7 @@ def jury_but_semestriel(
"""
)
else:
- if formsemestre.semestre_id < formsemestre.formation.get_parcours().NB_SEM:
+ if formsemestre.semestre_id < formsemestre.formation.get_cursus().NB_SEM:
H.append(
f"""
diff --git a/app/comp/bonus_spo.py b/app/comp/bonus_spo.py
index ba971dccb..cd74b8150 100644
--- a/app/comp/bonus_spo.py
+++ b/app/comp/bonus_spo.py
@@ -18,8 +18,8 @@ import pandas as pd
from flask import g
-from app.scodoc.sco_codes_parcours import UE_SPORT
-from app.scodoc.sco_codes_parcours import ParcoursDUT, ParcoursDUTMono
+from app.scodoc.codes_cursus import UE_SPORT
+from app.scodoc.codes_cursus import CursusDUT, CursusDUTMono
from app.scodoc.sco_utils import ModuleType
@@ -677,11 +677,11 @@ class BonusCalais(BonusSportAdditif):
proportion_point = 0.06 # 6%
def compute_bonus(self, sem_modimpl_moys_inscrits, modimpl_coefs_etuds_no_nan):
- parcours = self.formsemestre.formation.get_parcours()
+ parcours = self.formsemestre.formation.get_cursus()
# Variantes de DUT ?
if (
- isinstance(parcours, ParcoursDUT)
- or parcours.TYPE_PARCOURS == ParcoursDUTMono.TYPE_PARCOURS
+ isinstance(parcours, CursusDUT)
+ or parcours.TYPE_CURSUS == CursusDUTMono.TYPE_CURSUS
): # DUT
super().compute_bonus(sem_modimpl_moys_inscrits, modimpl_coefs_etuds_no_nan)
else:
diff --git a/app/comp/jury.py b/app/comp/jury.py
index 226d5a4f0..f54cd0bb5 100644
--- a/app/comp/jury.py
+++ b/app/comp/jury.py
@@ -12,7 +12,7 @@ from app import db
from app.models import FormSemestre, Identite, ScolarFormSemestreValidation, UniteEns
from app.comp.res_cache import ResultatsCache
from app.scodoc import sco_cache
-from app.scodoc import sco_codes_parcours
+from app.scodoc import codes_cursus
class ValidationsSemestre(ResultatsCache):
@@ -89,7 +89,7 @@ class ValidationsSemestre(ResultatsCache):
if decision.etudid not in decisions_jury_ues:
decisions_jury_ues[decision.etudid] = {}
# Calcul des ECTS associés à cette UE:
- if sco_codes_parcours.code_ue_validant(decision.code) and decision.ue:
+ if codes_cursus.code_ue_validant(decision.code) and decision.ue:
ects = decision.ue.ects or 0.0 # 0 if None
else:
ects = 0.0
diff --git a/app/comp/moy_mat.py b/app/comp/moy_mat.py
index a0120f66e..09518857f 100644
--- a/app/comp/moy_mat.py
+++ b/app/comp/moy_mat.py
@@ -14,7 +14,7 @@ import pandas as pd
from app.comp import moy_ue
from app.models.formsemestre import FormSemestre
-from app.scodoc.sco_codes_parcours import UE_SPORT
+from app.scodoc.codes_cursus import UE_SPORT
from app.scodoc.sco_utils import ModuleType
diff --git a/app/comp/moy_mod.py b/app/comp/moy_mod.py
index 5856184fc..a8f734b95 100644
--- a/app/comp/moy_mod.py
+++ b/app/comp/moy_mod.py
@@ -44,7 +44,7 @@ from app import db
from app.models import Evaluation, EvaluationUEPoids, ModuleImpl
from app.scodoc import sco_cache
from app.scodoc import sco_utils as scu
-from app.scodoc.sco_codes_parcours import UE_SPORT
+from app.scodoc.codes_cursus import UE_SPORT
from app.scodoc.sco_exceptions import ScoBugCatcher
from app.scodoc.sco_utils import ModuleType
diff --git a/app/comp/moy_ue.py b/app/comp/moy_ue.py
index c533c21aa..bf1586693 100644
--- a/app/comp/moy_ue.py
+++ b/app/comp/moy_ue.py
@@ -40,9 +40,9 @@ from app.models import (
UniteEns,
)
from app.comp import moy_mod
-from app.scodoc import sco_codes_parcours
+from app.scodoc import codes_cursus
from app.scodoc import sco_preferences
-from app.scodoc.sco_codes_parcours import UE_SPORT
+from app.scodoc.codes_cursus import UE_SPORT
from app.scodoc.sco_utils import ModuleType
@@ -61,7 +61,7 @@ def df_load_module_coefs(formation_id: int, semestre_idx: int = None) -> pd.Data
"""
ues = (
UniteEns.query.filter_by(formation_id=formation_id)
- .filter(UniteEns.type != sco_codes_parcours.UE_SPORT)
+ .filter(UniteEns.type != codes_cursus.UE_SPORT)
.order_by(UniteEns.semestre_idx, UniteEns.numero, UniteEns.acronyme)
)
modules = (
@@ -69,10 +69,7 @@ def df_load_module_coefs(formation_id: int, semestre_idx: int = None) -> pd.Data
.filter(
(Module.module_type == ModuleType.RESSOURCE)
| (Module.module_type == ModuleType.SAE)
- | (
- (Module.ue_id == UniteEns.id)
- & (UniteEns.type == sco_codes_parcours.UE_SPORT)
- )
+ | ((Module.ue_id == UniteEns.id) & (UniteEns.type == codes_cursus.UE_SPORT))
)
.order_by(Module.semestre_id, Module.module_type, Module.numero, Module.code)
)
diff --git a/app/comp/res_but.py b/app/comp/res_but.py
index 831c0104f..9e3af6f75 100644
--- a/app/comp/res_but.py
+++ b/app/comp/res_but.py
@@ -18,7 +18,7 @@ from app.models import ScoDocSiteConfig
from app.models.moduleimpls import ModuleImpl
from app.models.ues import DispenseUE, UniteEns
from app.scodoc import sco_preferences
-from app.scodoc.sco_codes_parcours import UE_SPORT
+from app.scodoc.codes_cursus import UE_SPORT
from app.scodoc.sco_utils import ModuleType
diff --git a/app/comp/res_classic.py b/app/comp/res_classic.py
index 077c745cd..27ec5cc32 100644
--- a/app/comp/res_classic.py
+++ b/app/comp/res_classic.py
@@ -22,7 +22,7 @@ from app.models import ScoDocSiteConfig
from app.models.etudiants import Identite
from app.models.formsemestre import FormSemestre
from app.models.ues import UniteEns
-from app.scodoc.sco_codes_parcours import UE_SPORT
+from app.scodoc.codes_cursus import UE_SPORT
from app.scodoc.sco_exceptions import ScoValueError
from app.scodoc import sco_preferences
from app.scodoc.sco_utils import ModuleType
diff --git a/app/comp/res_common.py b/app/comp/res_common.py
index f29b336c7..d1cc2d56d 100644
--- a/app/comp/res_common.py
+++ b/app/comp/res_common.py
@@ -25,7 +25,7 @@ from app.models import ModuleImpl, ModuleImplInscription
from app.models import ScolarAutorisationInscription
from app.models.ues import UniteEns
from app.scodoc.sco_cache import ResultatsSemestreCache
-from app.scodoc.sco_codes_parcours import UE_SPORT
+from app.scodoc.codes_cursus import UE_SPORT
from app.scodoc.sco_exceptions import ScoValueError
from app.scodoc import sco_utils as scu
diff --git a/app/comp/res_compat.py b/app/comp/res_compat.py
index 6c48ae2cc..e973a7a6c 100644
--- a/app/comp/res_compat.py
+++ b/app/comp/res_compat.py
@@ -17,7 +17,7 @@ from app.comp.res_common import ResultatsSemestre
from app.models import FormSemestre
from app.models import Identite
from app.models import ModuleImpl
-from app.scodoc.sco_codes_parcours import UE_SPORT, DEF
+from app.scodoc.codes_cursus import UE_SPORT, DEF
from app.scodoc import sco_utils as scu
# Pour raccorder le code des anciens codes qui attendent une NoteTable
@@ -52,7 +52,7 @@ class NotesTableCompat(ResultatsSemestre):
self.moy_gen_rangs_by_group = {} # { group_id : (Series, Series) }
self.ue_rangs_by_group = {} # { ue_id : {group_id : (Series, Series)}}
self.expr_diagnostics = ""
- self.parcours = self.formsemestre.formation.get_parcours()
+ self.parcours = self.formsemestre.formation.get_cursus()
self._modimpls_dict_by_ue = {} # local cache
def get_inscrits(self, include_demdef=True, order_by=False) -> list[Identite]:
diff --git a/app/forms/main/config_apo.py b/app/forms/main/config_apo.py
index 34e04d8ea..b65d6407e 100644
--- a/app/forms/main/config_apo.py
+++ b/app/forms/main/config_apo.py
@@ -35,14 +35,14 @@ from wtforms.fields.simple import StringField
from app.models import SHORT_STR_LEN
-from app.scodoc import sco_codes_parcours
+from app.scodoc import codes_cursus
def _build_code_field(code):
return StringField(
label=code,
default=code,
- description=sco_codes_parcours.CODES_EXPL[code],
+ description=codes_cursus.CODES_EXPL[code],
validators=[
validators.regexp(
r"^[A-Z0-9_]*$",
diff --git a/app/models/but_validations.py b/app/models/but_validations.py
index 9625d1e46..c5707c0b6 100644
--- a/app/models/but_validations.py
+++ b/app/models/but_validations.py
@@ -13,7 +13,7 @@ from app.models.etudiants import Identite
from app.models.formations import Formation
from app.models.formsemestre import FormSemestre
from app.models.ues import UniteEns
-from app.scodoc import sco_codes_parcours as sco_codes
+from app.scodoc import codes_cursus as sco_codes
from app.scodoc import sco_utils as scu
diff --git a/app/models/config.py b/app/models/config.py
index 6872c6cdf..f4f09cc32 100644
--- a/app/models/config.py
+++ b/app/models/config.py
@@ -8,7 +8,7 @@ from app import db, log
from app.comp import bonus_spo
from app.scodoc import sco_utils as scu
-from app.scodoc.sco_codes_parcours import (
+from app.scodoc.codes_cursus import (
ABAN,
ABL,
ADC,
diff --git a/app/models/formations.py b/app/models/formations.py
index 8264fa81d..1f2747e04 100644
--- a/app/models/formations.py
+++ b/app/models/formations.py
@@ -17,9 +17,9 @@ from app.models.modules import Module
from app.models.moduleimpls import ModuleImpl
from app.models.ues import UniteEns
from app.scodoc import sco_cache
-from app.scodoc import sco_codes_parcours
+from app.scodoc import codes_cursus
from app.scodoc import sco_utils as scu
-from app.scodoc.sco_codes_parcours import UE_STANDARD
+from app.scodoc.codes_cursus import UE_STANDARD
class Formation(db.Model):
@@ -80,12 +80,12 @@ class Formation(db.Model):
return e
- def get_parcours(self):
- """get l'instance de TypeParcours de cette formation
- (le TypeParcours définit le genre de formation, à ne pas confondre
+ def get_cursus(self) -> codes_cursus.TypeCursus:
+ """get l'instance de TypeCursus de cette formation
+ (le TypeCursus définit le genre de formation, à ne pas confondre
avec les parcours du BUT).
"""
- return sco_codes_parcours.get_parcours_from_code(self.type_parcours)
+ return codes_cursus.get_cursus_from_code(self.type_parcours)
def get_titre_version(self) -> str:
"""Titre avec version"""
@@ -93,7 +93,7 @@ class Formation(db.Model):
def is_apc(self):
"True si formation APC avec SAE (BUT)"
- return self.get_parcours().APC_SAE
+ return self.get_cursus().APC_SAE
def get_module_coefs(self, semestre_idx: int = None):
"""Les coefs des modules vers les UE (accès via cache)"""
diff --git a/app/models/formsemestre.py b/app/models/formsemestre.py
index 57e5b92fb..abcc0592f 100644
--- a/app/models/formsemestre.py
+++ b/app/models/formsemestre.py
@@ -39,7 +39,7 @@ from app.models.moduleimpls import ModuleImpl, ModuleImplInscription
from app.models.modules import Module
from app.models.ues import UniteEns
from app.models.validations import ScolarFormSemestreValidation
-from app.scodoc import sco_codes_parcours, sco_preferences
+from app.scodoc import codes_cursus, sco_preferences
from app.scodoc.sco_exceptions import ScoValueError
from app.scodoc.sco_permissions import Permission
from app.scodoc.sco_utils import MONTH_NAMES_ABBREV
@@ -276,7 +276,7 @@ class FormSemestre(db.Model):
- sont associées à l'un des parcours de ce formsemestre (ou à aucun)
"""
- if self.formation.get_parcours().APC_SAE:
+ if self.formation.get_cursus().APC_SAE:
sem_ues = UniteEns.query.filter_by(
formation=self.formation, semestre_idx=self.semestre_id
)
@@ -294,7 +294,7 @@ class FormSemestre(db.Model):
UniteEns.id == Module.ue_id,
)
if not with_sport:
- sem_ues = sem_ues.filter(UniteEns.type != sco_codes_parcours.UE_SPORT)
+ sem_ues = sem_ues.filter(UniteEns.type != codes_cursus.UE_SPORT)
return sem_ues.order_by(UniteEns.numero)
def query_ues_parcours_etud(self, etudid: int) -> flask_sqlalchemy.BaseQuery:
@@ -598,7 +598,7 @@ class FormSemestre(db.Model):
if not imputation_dept:
imputation_dept = prefs["DeptName"]
imputation_dept = imputation_dept.upper()
- parcours_name = self.formation.get_parcours().NAME
+ cursus_name = self.formation.get_cursus().NAME
modalite = self.modalite
# exception pour code Apprentissage:
modalite = (modalite or "").replace("FAP", "FA").replace("APP", "FA")
@@ -611,7 +611,7 @@ class FormSemestre(db.Model):
scu.annee_scolaire_debut(self.date_debut.year, self.date_debut.month)
)
return scu.sanitize_string(
- f"{imputation_dept}-{parcours_name}-{modalite}-{semestre_id}-{annee_sco}"
+ f"{imputation_dept}-{cursus_name}-{modalite}-{semestre_id}-{annee_sco}"
)
def titre_annee(self) -> str:
@@ -643,9 +643,9 @@ class FormSemestre(db.Model):
def titre_num(self) -> str:
"""Le titre et le semestre, ex ""DUT Informatique semestre 2"" """
- if self.semestre_id == sco_codes_parcours.NO_SEMESTRE_ID:
+ if self.semestre_id == codes_cursus.NO_SEMESTRE_ID:
return self.titre
- return f"{self.titre} {self.formation.get_parcours().SESSION_NAME} {self.semestre_id}"
+ return f"{self.titre} {self.formation.get_cursus().SESSION_NAME} {self.semestre_id}"
def sem_modalite(self) -> str:
"""Le semestre et la modalité, ex "S2 FI" ou "S3 APP" """
diff --git a/app/models/moduleimpls.py b/app/models/moduleimpls.py
index 42da823f8..0c20d8417 100644
--- a/app/models/moduleimpls.py
+++ b/app/models/moduleimpls.py
@@ -66,7 +66,7 @@ class ModuleImpl(db.Model):
"""true si les poids des évaluations du module permettent de satisfaire
les coefficients du PN.
"""
- if not self.module.formation.get_parcours().APC_SAE or (
+ if not self.module.formation.get_cursus().APC_SAE or (
self.module.module_type != scu.ModuleType.RESSOURCE
and self.module.module_type != scu.ModuleType.SAE
):
diff --git a/app/models/modules.py b/app/models/modules.py
index c0bb84ac7..e36101481 100644
--- a/app/models/modules.py
+++ b/app/models/modules.py
@@ -5,7 +5,7 @@ from app import db
from app.models import APO_CODE_STR_LEN
from app.models.but_refcomp import ApcParcours, app_critiques_modules, parcours_modules
from app.scodoc import sco_utils as scu
-from app.scodoc.sco_codes_parcours import UE_SPORT
+from app.scodoc.codes_cursus import UE_SPORT
from app.scodoc.sco_exceptions import ScoValueError
from app.scodoc.sco_utils import ModuleType
diff --git a/app/pe/pe_jurype.py b/app/pe/pe_jurype.py
index 502027529..5c85c253c 100644
--- a/app/pe/pe_jurype.py
+++ b/app/pe/pe_jurype.py
@@ -52,7 +52,7 @@ from app.models import FormSemestre
from app.scodoc.gen_tables import GenTable, SeqGenTable
import app.scodoc.sco_utils as scu
-from app.scodoc import sco_codes_parcours # sco_codes_parcours.NEXT -> sem suivant
+from app.scodoc import codes_cursus # codes_cursus.NEXT -> sem suivant
from app.scodoc import sco_etud
from app.scodoc import sco_formsemestre
from app.pe import pe_tagtable
@@ -68,7 +68,7 @@ def comp_nom_semestre_dans_parcours(sem):
from app.scodoc import sco_formations
F = sco_formations.formation_list(args={"formation_id": sem["formation_id"]})[0]
- parcours = sco_codes_parcours.get_parcours_from_code(F["type_parcours"])
+ parcours = codes_cursus.get_cursus_from_code(F["type_parcours"])
return "%s %s %s %s" % (
parcours.SESSION_NAME, # eg "semestre"
sem["semestre_id"], # eg 2
@@ -457,9 +457,9 @@ class JuryPE(object):
reponse = False
etud = self.get_cache_etudInfo_d_un_etudiant(etudid)
- (_, parcours) = sco_report.get_codeparcoursetud(etud)
+ (_, parcours) = sco_report.get_code_cursus_etud(etud)
if (
- len(sco_codes_parcours.CODES_SEM_REO & set(parcours.values())) > 0
+ len(codes_cursus.CODES_SEM_REO & set(parcours.values())) > 0
): # Eliminé car NAR apparait dans le parcours
reponse = True
if pe_tools.PE_DEBUG and pe_tools.PE_DEBUG >= 2:
@@ -528,14 +528,14 @@ class JuryPE(object):
from app.scodoc import sco_report
etud = self.get_cache_etudInfo_d_un_etudiant(etudid)
- (code, parcours) = sco_report.get_codeparcoursetud(
+ (code, parcours) = sco_report.get_code_cursus_etud(
etud
) # description = '1234:A', parcours = {1:ADM, 2:NAR, ...}
sonDernierSemestreValide = max(
[
int(cle)
for (cle, code) in parcours.items()
- if code in sco_codes_parcours.CODES_SEM_VALIDES
+ if code in codes_cursus.CODES_SEM_VALIDES
]
+ [0]
) # n° du dernier semestre valide, 0 sinon
@@ -562,7 +562,7 @@ class JuryPE(object):
dec = nt.get_etud_decision_sem(
etudid
) # quelle est la décision du jury ?
- if dec and (dec["code"] in sco_codes_parcours.CODES_SEM_VALIDES):
+ if dec and (dec["code"] in codes_cursus.CODES_SEM_VALIDES):
# isinstance( sesMoyennes[i+1], float) and
# mT = sesMoyennes[i+1] # substitue la moyenne si le semestre suivant est "valide"
leFid = sem["formsemestre_id"]
diff --git a/app/pe/pe_semestretag.py b/app/pe/pe_semestretag.py
index eb6b7c461..20be15c4e 100644
--- a/app/pe/pe_semestretag.py
+++ b/app/pe/pe_semestretag.py
@@ -43,7 +43,7 @@ from app.models import FormSemestre
from app.models.moduleimpls import ModuleImpl
from app.pe import pe_tagtable
-from app.scodoc import sco_codes_parcours
+from app.scodoc import codes_cursus
from app.scodoc import sco_tag_module
from app.scodoc import sco_utils as scu
@@ -116,7 +116,7 @@ class SemestreTag(pe_tagtable.TableTag):
self.modimpls = [
modimpl
for modimpl in self.nt.formsemestre.modimpls_sorted
- if modimpl.module.ue.type == sco_codes_parcours.UE_STANDARD
+ if modimpl.module.ue.type == codes_cursus.UE_STANDARD
] # la liste des modules (objet modimpl)
self.somme_coeffs = sum(
[
diff --git a/app/scodoc/sco_codes_parcours.py b/app/scodoc/codes_cursus.py
similarity index 83%
rename from app/scodoc/sco_codes_parcours.py
rename to app/scodoc/codes_cursus.py
index 013f59cc1..001a1b8aa 100644
--- a/app/scodoc/sco_codes_parcours.py
+++ b/app/scodoc/codes_cursus.py
@@ -25,9 +25,10 @@
#
##############################################################################
-"""Semestres: Codes gestion parcours (constantes)
+"""Semestres: Codes gestion cursus (constantes)
+Attention: ne pas confondre avec les "parcours" du BUT.
+Renommage des anciens "parcours" -> "cursus" effectué en 9.4.41
"""
-import collections
import enum
import numpy as np
@@ -36,8 +37,8 @@ from app import log
@enum.unique
-class CodesParcours(enum.IntEnum):
- """Codes numériques des parcours, enregistrés en base
+class CodesCursus(enum.IntEnum):
+ """Codes numériques des cursus (ex parcours), enregistrés en base
dans notes_formations.type_parcours
Ne pas modifier.
"""
@@ -79,7 +80,7 @@ UE_STANDARD = 0 # UE "fondamentale"
UE_SPORT = 1 # bonus "sport"
UE_STAGE_LP = 2 # ue "projet tuteuré et stage" dans les Lic. Pro.
UE_STAGE_10 = 3 # ue "stage" avec moyenne requise > 10
-UE_ELECTIVE = 4 # UE "élective" dans certains parcours (UCAC?, ISCID)
+UE_ELECTIVE = 4 # UE "élective" dans certains cursus (UCAC?, ISCID)
UE_PROFESSIONNELLE = 5 # UE "professionnelle" (ISCID, ...)
UE_OPTIONNELLE = 6 # UE non fondamentales (ILEPS, ...)
@@ -274,7 +275,7 @@ DEVENIRS_NEXT2 = {NEXT_OR_NEXT2: 1, NEXT2: 1}
NO_SEMESTRE_ID = -1 # code semestre si pas de semestres
-# Règles gestion parcours
+# Règles gestion cursus
class DUTRule(object):
def __init__(self, rule_id, premise, conclusion):
self.rule_id = rule_id
@@ -296,12 +297,12 @@ class DUTRule(object):
return True
-# Types de parcours
-DEFAULT_TYPE_PARCOURS = 100 # pour le menu de creation nouvelle formation
+# Types de cursus
+DEFAULT_TYPE_CURSUS = 100 # pour le menu de creation nouvelle formation
-class TypeParcours(object):
- TYPE_PARCOURS = None # id, utilisé par notes_formation.type_parcours
+class TypeCursus:
+ TYPE_CURSUS = None # id, utilisé par notes_formation.type_parcours
NAME = None # required
NB_SEM = 1 # Nombre de semestres
COMPENSATION_UE = True # inutilisé
@@ -315,9 +316,9 @@ class TypeParcours(object):
SESSION_NAME = "semestre"
SESSION_NAME_A = "du "
SESSION_ABBRV = "S" # S1, S2, ...
- UNUSED_CODES = set() # Ensemble des codes jury non autorisés dans ce parcours
+ UNUSED_CODES = set() # Ensemble des codes jury non autorisés dans ce cursus
UE_IS_MODULE = False # 1 seul module par UE (si plusieurs modules, etudiants censéments inscrits à un seul d'entre eux)
- ECTS_ONLY = False # Parcours avec progression basée uniquement sur les ECTS
+ ECTS_ONLY = False # Cursus avec progression basée uniquement sur les ECTS
ALLOWED_UE_TYPES = list(
UE_TYPE_NAME.keys()
) # par defaut, autorise tous les types d'UE
@@ -363,18 +364,18 @@ class TypeParcours(object):
return False, """
%d UE sous la barre""" % n
-# Parcours définis (instances de sous-classes de TypeParcours):
-TYPES_PARCOURS = collections.OrderedDict() # type : Parcours
+# Cursus définis (instances de sous-classes de TypeCursus):
+SCO_CURSUS: dict[int, TypeCursus] = {} # type : Cursus
-def register_parcours(Parcours):
- TYPES_PARCOURS[int(Parcours.TYPE_PARCOURS)] = Parcours
+def register_cursus(cursus: TypeCursus):
+ SCO_CURSUS[int(cursus.TYPE_CURSUS)] = cursus
-class ParcoursBUT(TypeParcours):
+class CursusBUT(TypeCursus):
"""BUT Bachelor Universitaire de Technologie"""
- TYPE_PARCOURS = 700
+ TYPE_CURSUS = 700
NAME = "BUT"
NB_SEM = 6
COMPENSATION_UE = False
@@ -383,63 +384,63 @@ class ParcoursBUT(TypeParcours):
ALLOWED_UE_TYPES = [UE_STANDARD, UE_SPORT]
-register_parcours(ParcoursBUT())
+register_cursus(CursusBUT())
-class ParcoursDUT(TypeParcours):
+class CursusDUT(TypeCursus):
"""DUT selon l'arrêté d'août 2005"""
- TYPE_PARCOURS = 100
+ TYPE_CURSUS = 100
NAME = "DUT"
NB_SEM = 4
COMPENSATION_UE = True
ALLOWED_UE_TYPES = [UE_STANDARD, UE_SPORT]
-register_parcours(ParcoursDUT())
+register_cursus(CursusDUT())
-class ParcoursDUT4(ParcoursDUT):
+class CursusDUT4(CursusDUT):
"""DUT (en 4 semestres sans compensations)"""
- TYPE_PARCOURS = 110
+ TYPE_CURSUS = 110
NAME = "DUT4"
COMPENSATION_UE = False
-register_parcours(ParcoursDUT4())
+register_cursus(CursusDUT4())
-class ParcoursDUTMono(TypeParcours):
+class CursusDUTMono(TypeCursus):
"""DUT en un an (FC, Années spéciales)"""
- TYPE_PARCOURS = 120
+ TYPE_CURSUS = 120
NAME = "DUT"
NB_SEM = 1
COMPENSATION_UE = False
UNUSED_CODES = set((ADC, ATT, ATB))
-register_parcours(ParcoursDUTMono())
+register_cursus(CursusDUTMono())
-class ParcoursDUT2(ParcoursDUT):
+class CursusDUT2(CursusDUT):
"""DUT en deux semestres (par ex.: années spéciales semestrialisées)"""
- TYPE_PARCOURS = CodesParcours.DUT2
+ TYPE_CURSUS = CodesCursus.DUT2
NAME = "DUT2"
NB_SEM = 2
-register_parcours(ParcoursDUT2())
+register_cursus(CursusDUT2())
-class ParcoursLP(TypeParcours):
+class CursusLP(TypeCursus):
"""Licence Pro (en un "semestre")
- (pour anciennes LP. Après 2014, préférer ParcoursLP2014)
+ (pour anciennes LP. Après 2014, préférer CursusLP2014)
"""
- TYPE_PARCOURS = CodesParcours.LP
+ TYPE_CURSUS = CodesCursus.LP
NAME = "LP"
NB_SEM = 1
COMPENSATION_UE = False
@@ -450,35 +451,35 @@ class ParcoursLP(TypeParcours):
UNUSED_CODES = set((ADC, ATT, ATB))
-register_parcours(ParcoursLP())
+register_cursus(CursusLP())
-class ParcoursLP2sem(ParcoursLP):
+class CursusLP2sem(CursusLP):
"""Licence Pro (en deux "semestres")"""
- TYPE_PARCOURS = CodesParcours.LP2sem
+ TYPE_CURSUS = CodesCursus.LP2sem
NAME = "LP2sem"
NB_SEM = 2
COMPENSATION_UE = True
UNUSED_CODES = set((ADC,)) # autorise les codes ATT et ATB, mais pas ADC.
-register_parcours(ParcoursLP2sem())
+register_cursus(CursusLP2sem())
-class ParcoursLP2semEvry(ParcoursLP):
+class CursusLP2semEvry(CursusLP):
"""Licence Pro (en deux "semestres", U. Evry)"""
- TYPE_PARCOURS = CodesParcours.LP2semEvry
+ TYPE_CURSUS = CodesCursus.LP2semEvry
NAME = "LP2semEvry"
NB_SEM = 2
COMPENSATION_UE = True
-register_parcours(ParcoursLP2semEvry())
+register_cursus(CursusLP2semEvry())
-class ParcoursLP2014(TypeParcours):
+class CursusLP2014(TypeCursus):
"""Licence Pro (en un "semestre"), selon arrêté du 22/01/2014"""
# Note: texte de référence
@@ -495,7 +496,7 @@ class ParcoursLP2014(TypeParcours):
# l'établissement d'un coefficient qui peut varier dans un rapport de 1 à 3. ", etc ne sont _pas_
# vérifiés par ScoDoc)
- TYPE_PARCOURS = CodesParcours.LP2014
+ TYPE_CURSUS = CodesCursus.LP2014
NAME = "LP2014"
NB_SEM = 1
ALLOWED_UE_TYPES = [UE_STANDARD, UE_SPORT, UE_STAGE_LP]
@@ -533,74 +534,74 @@ class ParcoursLP2014(TypeParcours):
return True, "" # pas de coef, condition ok
-register_parcours(ParcoursLP2014())
+register_cursus(CursusLP2014())
-class ParcoursLP2sem2014(ParcoursLP):
+class CursusLP2sem2014(CursusLP):
"""Licence Pro (en deux "semestres", selon arrêté du 22/01/2014)"""
- TYPE_PARCOURS = CodesParcours.LP2sem2014
+ TYPE_CURSUS = CodesCursus.LP2sem2014
NAME = "LP2014_2sem"
NB_SEM = 2
-register_parcours(ParcoursLP2sem2014())
+register_cursus(CursusLP2sem2014())
# Masters: M2 en deux semestres
-class ParcoursM2(TypeParcours):
+class CursusM2(TypeCursus):
"""Master 2 (en deux "semestres")"""
- TYPE_PARCOURS = CodesParcours.M2
+ TYPE_CURSUS = CodesCursus.M2
NAME = "M2sem"
NB_SEM = 2
COMPENSATION_UE = True
UNUSED_CODES = set((ATT, ATB))
-register_parcours(ParcoursM2())
+register_cursus(CursusM2())
-class ParcoursM2noncomp(ParcoursM2):
+class CursusM2noncomp(CursusM2):
"""Master 2 (en deux "semestres") sans compensation"""
- TYPE_PARCOURS = CodesParcours.M2noncomp
+ TYPE_CURSUS = CodesCursus.M2noncomp
NAME = "M2noncomp"
COMPENSATION_UE = False
UNUSED_CODES = set((ADC, ATT, ATB))
-register_parcours(ParcoursM2noncomp())
+register_cursus(CursusM2noncomp())
-class ParcoursMono(TypeParcours):
+class CursusMono(TypeCursus):
"""Formation générique en une session"""
- TYPE_PARCOURS = CodesParcours.Mono
+ TYPE_CURSUS = CodesCursus.Mono
NAME = "Mono"
NB_SEM = 1
COMPENSATION_UE = False
UNUSED_CODES = set((ADC, ATT, ATB))
-register_parcours(ParcoursMono())
+register_cursus(CursusMono())
-class ParcoursLegacy(TypeParcours):
+class CursusLegacy(TypeCursus):
"""DUT (ancien ScoDoc, ne plus utiliser)"""
- TYPE_PARCOURS = CodesParcours.Legacy
+ TYPE_CURSUS = CodesCursus.Legacy
NAME = "DUT"
NB_SEM = 4
COMPENSATION_UE = None # backward compat: defini dans formsemestre
ALLOWED_UE_TYPES = [UE_STANDARD, UE_SPORT]
-register_parcours(ParcoursLegacy())
+register_cursus(CursusLegacy())
-class ParcoursISCID(TypeParcours):
- """Superclasse pour les parcours de l'ISCID"""
+class CursusISCID(TypeCursus):
+ """Superclasse pour les cursus de l'ISCID"""
# SESSION_NAME = "année"
# SESSION_NAME_A = "de l'"
@@ -619,32 +620,32 @@ class ParcoursISCID(TypeParcours):
ECTS_PROF_DIPL = 0 # crédits professionnels requis pour obtenir le diplôme
-class ParcoursBachelorISCID6(ParcoursISCID):
+class CursusBachelorISCID6(CursusISCID):
"""ISCID: Bachelor en 3 ans (6 sem.)"""
- NAME = "ParcoursBachelorISCID6"
- TYPE_PARCOURS = CodesParcours.ISCID6
+ NAME = "CursusBachelorISCID6"
+ TYPE_CURSUS = CodesCursus.ISCID6
NAME = ""
NB_SEM = 6
ECTS_PROF_DIPL = 8 # crédits professionnels requis pour obtenir le diplôme
-register_parcours(ParcoursBachelorISCID6())
+register_cursus(CursusBachelorISCID6())
-class ParcoursMasterISCID4(ParcoursISCID):
+class CursusMasterISCID4(CursusISCID):
"ISCID: Master en 2 ans (4 sem.)"
- TYPE_PARCOURS = CodesParcours.ISCID4
- NAME = "ParcoursMasterISCID4"
+ TYPE_CURSUS = CodesCursus.ISCID4
+ NAME = "CursusMasterISCID4"
NB_SEM = 4
ECTS_PROF_DIPL = 15 # crédits professionnels requis pour obtenir le diplôme
-register_parcours(ParcoursMasterISCID4())
+register_cursus(CursusMasterISCID4())
-class ParcoursILEPS(TypeParcours):
- """Superclasse pour les parcours de l'ILEPS"""
+class CursusILEPS(TypeCursus):
+ """Superclasse pour les cursus de l'ILEPS"""
# SESSION_NAME = "année"
# SESSION_NAME_A = "de l'"
@@ -660,18 +661,18 @@ class ParcoursILEPS(TypeParcours):
BARRE_UE_DEFAULT = 0.0 # pas de barre sur les autres UE
-class ParcoursLicenceILEPS6(ParcoursILEPS):
+class CursusLicenceILEPS6(CursusILEPS):
"""ILEPS: Licence 6 semestres"""
- TYPE_PARCOURS = 1010
+ TYPE_CURSUS = 1010
NAME = "LicenceILEPS6"
NB_SEM = 6
-register_parcours(ParcoursLicenceILEPS6())
+register_cursus(CursusLicenceILEPS6())
-class ParcoursUCAC(TypeParcours):
+class CursusUCAC(TypeCursus):
"""Règles de validation UCAC"""
SESSION_NAME = "année"
@@ -685,79 +686,79 @@ class ParcoursUCAC(TypeParcours):
)
-class ParcoursLicenceUCAC3(ParcoursUCAC):
+class CursusLicenceUCAC3(CursusUCAC):
"""UCAC: Licence en 3 sessions d'un an"""
- TYPE_PARCOURS = CodesParcours.LicenceUCAC3
+ TYPE_CURSUS = CodesCursus.LicenceUCAC3
NAME = "Licence UCAC en 3 sessions d'un an"
NB_SEM = 3
-register_parcours(ParcoursLicenceUCAC3())
+register_cursus(CursusLicenceUCAC3())
-class ParcoursMasterUCAC2(ParcoursUCAC):
+class CursusMasterUCAC2(CursusUCAC):
"""UCAC: Master en 2 sessions d'un an"""
- TYPE_PARCOURS = CodesParcours.MasterUCAC2
+ TYPE_CURSUS = CodesCursus.MasterUCAC2
NAME = "Master UCAC en 2 sessions d'un an"
NB_SEM = 2
-register_parcours(ParcoursMasterUCAC2())
+register_cursus(CursusMasterUCAC2())
-class ParcoursMonoUCAC(ParcoursUCAC):
+class CursusMonoUCAC(CursusUCAC):
"""UCAC: Formation en 1 session de durée variable"""
- TYPE_PARCOURS = CodesParcours.MonoUCAC
+ TYPE_CURSUS = CodesCursus.MonoUCAC
NAME = "Formation UCAC en 1 session de durée variable"
NB_SEM = 1
UNUSED_CODES = set((ADC, ATT, ATB))
-register_parcours(ParcoursMonoUCAC())
+register_cursus(CursusMonoUCAC())
-class Parcours6Sem(TypeParcours):
- """Parcours générique en 6 semestres"""
+class Cursus6Sem(TypeCursus):
+ """Cursus générique en 6 semestres"""
- TYPE_PARCOURS = CodesParcours.GEN_6_SEM
+ TYPE_CURSUS = CodesCursus.GEN_6_SEM
NAME = "Formation en 6 semestres"
NB_SEM = 6
COMPENSATION_UE = True
-register_parcours(Parcours6Sem())
+register_cursus(Cursus6Sem())
# # En cours d'implémentation:
-# class ParcoursLicenceLMD(TypeParcours):
+# class CursusLicenceLMD(TypeCursus):
# """Licence standard en 6 semestres dans le LMD"""
-# TYPE_PARCOURS = 401
+# TYPE_CURSUS = 401
# NAME = "Licence LMD"
# NB_SEM = 6
# COMPENSATION_UE = True
-# register_parcours(ParcoursLicenceLMD())
+# register_cursus(CursusLicenceLMD())
-class ParcoursMasterLMD(TypeParcours):
+class CursusMasterLMD(TypeCursus):
"""Master générique en 4 semestres dans le LMD"""
- TYPE_PARCOURS = CodesParcours.MasterLMD
+ TYPE_CURSUS = CodesCursus.MasterLMD
NAME = "Master LMD"
NB_SEM = 4
COMPENSATION_UE = True # variabale inutilisée
UNUSED_CODES = set((ADC, ATT, ATB))
-register_parcours(ParcoursMasterLMD())
+register_cursus(CursusMasterLMD())
-class ParcoursMasterIG(ParcoursMasterLMD):
+class CursusMasterIG(CursusMasterLMD):
"""Master de l'Institut Galilée (U. Paris 13) en 4 semestres (LMD)"""
- TYPE_PARCOURS = CodesParcours.MasterIG
+ TYPE_CURSUS = CodesCursus.MasterIG
NAME = "Master IG P13"
BARRE_MOY = 10.0
NOTES_BARRE_VALID_UE_TH = 10.0 # seuil pour valider UE
@@ -767,7 +768,7 @@ class ParcoursMasterIG(ParcoursMasterLMD):
BARRE_MOY_UE_STAGE = 10.0
ALLOWED_UE_TYPES = [UE_STANDARD, UE_SPORT, UE_STAGE_10]
- def check_barre_ues(self, ues_status): # inspire de la fonction de ParcoursLP2014
+ def check_barre_ues(self, ues_status): # inspire de la fonction de CursusLP2014
"""True si la ou les conditions sur les UE sont valides
moyenne d'UE > 7, ou > 10 si UE de stage
"""
@@ -806,10 +807,10 @@ class ParcoursMasterIG(ParcoursMasterLMD):
return True, "" # pas de coef, condition ok
-register_parcours(ParcoursMasterIG())
+register_cursus(CursusMasterIG())
-# Ajouter ici vos parcours, le TYPE_PARCOURS devant être unique au monde
+# Ajouter ici vos cursus, le TYPE_CURSUS devant être unique au monde
# (avisez sur la liste de diffusion)
@@ -817,16 +818,16 @@ register_parcours(ParcoursMasterIG())
# -------------------------
-_tp = list(TYPES_PARCOURS.items())
+_tp = list(SCO_CURSUS.items())
_tp.sort(key=lambda x: x[1].__doc__) # sort by intitulé
-FORMATION_PARCOURS_DESCRS = [p[1].__doc__ for p in _tp] # intitulés (eg pour menu)
-FORMATION_PARCOURS_TYPES = [p[0] for p in _tp] # codes numeriques (TYPE_PARCOURS)
+FORMATION_CURSUS_DESCRS = [p[1].__doc__ for p in _tp] # intitulés (eg pour menu)
+FORMATION_CURSUS_TYPES = [p[0] for p in _tp] # codes numeriques (TYPE_CURSUS)
-def get_parcours_from_code(code_parcours):
- parcours = TYPES_PARCOURS.get(code_parcours)
- if parcours is None:
- log(f"Warning: invalid code_parcours: {code_parcours}")
+def get_cursus_from_code(code_cursus):
+ cursus = SCO_CURSUS.get(code_cursus)
+ if cursus is None:
+ log(f"Warning: invalid code_cursus: {code_cursus}")
# default to legacy
- parcours = TYPES_PARCOURS.get(0)
- return parcours
+ cursus = SCO_CURSUS.get(0)
+ return cursus
diff --git a/app/scodoc/dutrules.py b/app/scodoc/dutrules.py
index ed281bb9e..c87d5c468 100644
--- a/app/scodoc/dutrules.py
+++ b/app/scodoc/dutrules.py
@@ -4,7 +4,7 @@
#
# Command: ./csv2rules.py misc/parcoursDUT.csv
#
-from app.scodoc.sco_codes_parcours import (
+from app.scodoc.codes_cursus import (
DUTRule,
ADC,
ADJ,
diff --git a/app/scodoc/notes_table.py b/app/scodoc/notes_table.py
index a54a7bda3..0379bbc29 100644
--- a/app/scodoc/notes_table.py
+++ b/app/scodoc/notes_table.py
@@ -48,14 +48,14 @@ from app.scodoc.sco_formsemestre import (
formsemestre_uecoef_list,
formsemestre_uecoef_create,
)
-from app.scodoc.sco_codes_parcours import (
+from app.scodoc.codes_cursus import (
DEF,
UE_SPORT,
ue_is_fondamentale,
ue_is_professionnelle,
)
from app.scodoc import sco_cache
-from app.scodoc import sco_codes_parcours
+from app.scodoc import codes_cursus
from app.scodoc import sco_compute_moy
from app.scodoc.sco_cursus import formsemestre_get_etud_capitalisation
from app.scodoc import sco_cursus_dut
@@ -244,7 +244,7 @@ class NotesTable:
self.formation = sco_formations.formation_list(
args={"formation_id": self.sem["formation_id"]}
)[0]
- self.parcours = sco_codes_parcours.get_parcours_from_code(
+ self.parcours = codes_cursus.get_cursus_from_code(
self.formation["type_parcours"]
)
@@ -1048,7 +1048,7 @@ class NotesTable:
decisions_jury_ues[etudid] = {}
# Calcul des ECTS associes a cette UE:
ects = 0.0
- if sco_codes_parcours.code_ue_validant(code):
+ if codes_cursus.code_ue_validant(code):
ue = self.uedict.get(ue_id, None)
if ue is None: # not in list for this sem ??? (probably an error)
log(
diff --git a/app/scodoc/sco_apogee_csv.py b/app/scodoc/sco_apogee_csv.py
index 8d21d579b..1045e7ba4 100644
--- a/app/scodoc/sco_apogee_csv.py
+++ b/app/scodoc/sco_apogee_csv.py
@@ -106,8 +106,8 @@ import app.scodoc.sco_utils as scu
from app.scodoc.sco_exceptions import ScoValueError, ScoFormatError
from app.scodoc.gen_tables import GenTable
from app.scodoc.sco_vdi import ApoEtapeVDI
-from app.scodoc.sco_codes_parcours import code_semestre_validant
-from app.scodoc.sco_codes_parcours import (
+from app.scodoc.codes_cursus import code_semestre_validant
+from app.scodoc.codes_cursus import (
DEF,
DEM,
NAR,
diff --git a/app/scodoc/sco_bulletins.py b/app/scodoc/sco_bulletins.py
index 4be4c11d1..2bc444948 100644
--- a/app/scodoc/sco_bulletins.py
+++ b/app/scodoc/sco_bulletins.py
@@ -53,7 +53,7 @@ from app.scodoc import sco_bulletins_generator
from app.scodoc import sco_bulletins_json
from app.scodoc import sco_bulletins_pdf
from app.scodoc import sco_bulletins_xml
-from app.scodoc import sco_codes_parcours
+from app.scodoc import codes_cursus
from app.scodoc import sco_etud
from app.scodoc import sco_evaluation_db
from app.scodoc import sco_formations
@@ -174,9 +174,7 @@ def formsemestre_bulletinetud_dict(formsemestre_id, etudid, version="long"):
"version": 0,
}
I["formation"] = formation_dict
- I["parcours"] = sco_codes_parcours.get_parcours_from_code(
- I["formation"]["type_parcours"]
- )
+ I["parcours"] = codes_cursus.get_cursus_from_code(I["formation"]["type_parcours"])
# Infos sur l'etudiant
I["etud"] = sco_etud.get_etud_info(etudid=etudid, filled=True)[0]
I["descr_situation"] = I["etud"]["inscriptionstr"]
@@ -222,7 +220,7 @@ def formsemestre_bulletinetud_dict(formsemestre_id, etudid, version="long"):
I["demission"] = ""
if I["etud_etat"] == scu.DEMISSION:
I["demission"] = "(Démission)"
- elif I["etud_etat"] == sco_codes_parcours.DEF:
+ elif I["etud_etat"] == codes_cursus.DEF:
I["demission"] = "(Défaillant)"
# --- Appreciations
@@ -239,9 +237,7 @@ def formsemestre_bulletinetud_dict(formsemestre_id, etudid, version="long"):
I["mention"] = ""
if dpv:
decision_sem = dpv["decisions"][0]["decision_sem"]
- if decision_sem and sco_codes_parcours.code_semestre_validant(
- decision_sem["code"]
- ):
+ if decision_sem and codes_cursus.code_semestre_validant(decision_sem["code"]):
I["mention"] = scu.get_mention(moy_gen)
if dpv and dpv["decisions"][0]:
@@ -307,7 +303,7 @@ def formsemestre_bulletinetud_dict(formsemestre_id, etudid, version="long"):
continue
u["ue_status"] = ue_status # { 'moy', 'coef_ue', ...}
- if ue["type"] != sco_codes_parcours.UE_SPORT:
+ if ue["type"] != codes_cursus.UE_SPORT:
u["cur_moy_ue_txt"] = scu.fmt_note(ue_status["cur_moy_ue"])
else:
if nt.bonus is not None:
@@ -335,7 +331,7 @@ def formsemestre_bulletinetud_dict(formsemestre_id, etudid, version="long"):
and ue["ue_id"] in dpv["decisions"][0]["decisions_ue"]
):
u["ects"] = dpv["decisions"][0]["decisions_ue"][ue["ue_id"]]["ects"]
- if ue["type"] == sco_codes_parcours.UE_ELECTIVE:
+ if ue["type"] == codes_cursus.UE_ELECTIVE:
u["ects"] = (
"%g+" % u["ects"]
) # ajoute un "+" pour indiquer ECTS d'une UE élective
@@ -388,7 +384,7 @@ def formsemestre_bulletinetud_dict(formsemestre_id, etudid, version="long"):
_sort_mod_by_matiere(u["modules_capitalized"], nt_cap, etudid)
)
else:
- if prefs["bul_show_ue_rangs"] and ue["type"] != sco_codes_parcours.UE_SPORT:
+ if prefs["bul_show_ue_rangs"] and ue["type"] != codes_cursus.UE_SPORT:
if ue_attente or nt.ue_rangs[ue["ue_id"]][0] is None:
u["ue_descr_txt"] = "%s/%s" % (
scu.RANG_ATTENTE_STR,
diff --git a/app/scodoc/sco_bulletins_pdf.py b/app/scodoc/sco_bulletins_pdf.py
index 369187ca8..0e0883704 100644
--- a/app/scodoc/sco_bulletins_pdf.py
+++ b/app/scodoc/sco_bulletins_pdf.py
@@ -63,7 +63,7 @@ from app import log, ScoValueError
from app.models import FormSemestre
from app.scodoc import sco_cache
-from app.scodoc import sco_codes_parcours
+from app.scodoc import codes_cursus
from app.scodoc import sco_pdf
from app.scodoc import sco_preferences
from app.scodoc import sco_etud
@@ -286,7 +286,7 @@ def get_filigranne(etud_etat: str, prefs, decision_sem=None) -> str:
"""Texte à placer en "filigranne" sur le bulletin pdf"""
if etud_etat == scu.DEMISSION:
return "Démission"
- elif etud_etat == sco_codes_parcours.DEF:
+ elif etud_etat == codes_cursus.DEF:
return "Défaillant"
elif (prefs["bul_show_temporary"] and not decision_sem) or prefs[
"bul_show_temporary_forced"
diff --git a/app/scodoc/sco_bulletins_standard.py b/app/scodoc/sco_bulletins_standard.py
index cd535be01..be5c506f1 100644
--- a/app/scodoc/sco_bulletins_standard.py
+++ b/app/scodoc/sco_bulletins_standard.py
@@ -56,7 +56,7 @@ import app.scodoc.sco_utils as scu
from app.scodoc.sco_pdf import SU, make_paras
from app.scodoc import sco_preferences
from app.scodoc.sco_permissions import Permission
-from app.scodoc.sco_codes_parcours import (
+from app.scodoc.codes_cursus import (
UE_COLORS,
UE_DEFAULT_COLOR,
UE_ELECTIVE,
diff --git a/app/scodoc/sco_bulletins_xml.py b/app/scodoc/sco_bulletins_xml.py
index c67b8ce0a..96591cdbc 100644
--- a/app/scodoc/sco_bulletins_xml.py
+++ b/app/scodoc/sco_bulletins_xml.py
@@ -52,7 +52,7 @@ from app import log
from app.but.bulletin_but_xml_compat import bulletin_but_xml_compat
from app.models.formsemestre import FormSemestre
from app.scodoc import sco_abs
-from app.scodoc import sco_codes_parcours
+from app.scodoc import codes_cursus
from app.scodoc import sco_edit_ue
from app.scodoc import sco_evaluation_db
from app.scodoc import sco_formsemestre
@@ -218,7 +218,7 @@ def make_xml_formsemestre_bulletinetud(
code_apogee=quote_xml_attr(ue["code_apogee"]),
)
doc.append(x_ue)
- if ue["type"] != sco_codes_parcours.UE_SPORT:
+ if ue["type"] != codes_cursus.UE_SPORT:
v = ue_status["cur_moy_ue"] if ue_status else ""
else:
v = nt.bonus[etudid] if nt.bonus is not None else 0.0
diff --git a/app/scodoc/sco_config.py b/app/scodoc/sco_config.py
index b338f9a7d..a7f389237 100644
--- a/app/scodoc/sco_config.py
+++ b/app/scodoc/sco_config.py
@@ -98,7 +98,7 @@ CONFIG.PUBLISH_PORTAL_PHOTO_URL = False
# (le test cracklib.FascistCheck s'appliquera dans tous les cas)
CONFIG.MIN_PASSWORD_LENGTH = 0
-# Ce dictionnaire est fusionné à celui de sco_codes_parcours
+# Ce dictionnaire est fusionné à celui de codes_cursus
# pour définir les codes jury et explications associées
CONFIG.CODES_EXPL = {
# AJ : 'Ajourné (échec)',
diff --git a/app/scodoc/sco_cursus_dut.py b/app/scodoc/sco_cursus_dut.py
index 0549f6677..5b5b3c65a 100644
--- a/app/scodoc/sco_cursus_dut.py
+++ b/app/scodoc/sco_cursus_dut.py
@@ -40,7 +40,7 @@ from app.scodoc.scolog import logdb
from app.scodoc import sco_cache, sco_etud
from app.scodoc import sco_formsemestre
from app.scodoc import sco_formations
-from app.scodoc.sco_codes_parcours import (
+from app.scodoc.codes_cursus import (
CMP,
ADC,
ADJ,
@@ -353,7 +353,7 @@ class SituationEtudCursusClassic(SituationEtudCursus):
l'étudiant (quelle que soit la formation), le plus ancien en tête"""
return self.sems
- def get_parcours_descr(self, filter_futur=False):
+ def get_cursus_descr(self, filter_futur=False):
"""Description brève du parcours: "S1, S2, ..."
Si filter_futur, ne mentionne pas les semestres qui sont après le semestre courant.
"""
diff --git a/app/scodoc/sco_edit_apc.py b/app/scodoc/sco_edit_apc.py
index b904bd5b5..a947bc63e 100644
--- a/app/scodoc/sco_edit_apc.py
+++ b/app/scodoc/sco_edit_apc.py
@@ -31,7 +31,7 @@ from app import db
from app.but import apc_edit_ue
from app.models import UniteEns, Matiere, Module, FormSemestre, ModuleImpl
from app.models.validations import ScolarFormSemestreValidation
-from app.scodoc.sco_codes_parcours import UE_SPORT
+from app.scodoc.codes_cursus import UE_SPORT
import app.scodoc.sco_utils as scu
from app.scodoc import sco_groups
from app.scodoc.sco_utils import ModuleType
@@ -48,8 +48,8 @@ def html_edit_formation_apc(
- Les ressources
- Les SAÉs
"""
- parcours = formation.get_parcours()
- assert parcours.APC_SAE
+ cursus = formation.get_cursus()
+ assert cursus.APC_SAE
ressources = formation.modules.filter_by(module_type=ModuleType.RESSOURCE).order_by(
Module.semestre_id, Module.numero, Module.code
@@ -58,7 +58,7 @@ def html_edit_formation_apc(
Module.semestre_id, Module.numero, Module.code
)
if semestre_idx is None:
- semestre_ids = range(1, parcours.NB_SEM + 1)
+ semestre_ids = range(1, cursus.NB_SEM + 1)
else:
semestre_ids = [semestre_idx]
other_modules = formation.modules.filter(
diff --git a/app/scodoc/sco_edit_formation.py b/app/scodoc/sco_edit_formation.py
index b52e3d35b..ae042eaf5 100644
--- a/app/scodoc/sco_edit_formation.py
+++ b/app/scodoc/sco_edit_formation.py
@@ -46,7 +46,7 @@ from app.scodoc.sco_exceptions import ScoValueError, ScoNonEmptyFormationObject
from app.scodoc import html_sco_header
from app.scodoc import sco_cache
-from app.scodoc import sco_codes_parcours
+from app.scodoc import codes_cursus
from app.scodoc import sco_edit_ue
from app.scodoc import sco_formations
from app.scodoc import sco_formsemestre
@@ -157,7 +157,7 @@ def formation_edit(formation_id=None, create=False):
""",
]
submitlabel = "Créer cette formation"
- initvalues = {"type_parcours": sco_codes_parcours.DEFAULT_TYPE_PARCOURS}
+ initvalues = {"type_parcours": codes_cursus.DEFAULT_TYPE_CURSUS}
is_locked = False
else:
# edit an existing formation
@@ -211,8 +211,8 @@ def formation_edit(formation_id=None, create=False):
"input_type": "menu",
"title": "Type de parcours",
"type": "int",
- "allowed_values": sco_codes_parcours.FORMATION_PARCOURS_TYPES,
- "labels": sco_codes_parcours.FORMATION_PARCOURS_DESCRS,
+ "allowed_values": codes_cursus.FORMATION_CURSUS_TYPES,
+ "labels": codes_cursus.FORMATION_CURSUS_DESCRS,
"explanation": "détermine notamment le nombre de semestres et les règles de validation d'UE et de semestres (barres)",
"readonly": is_locked,
},
diff --git a/app/scodoc/sco_edit_module.py b/app/scodoc/sco_edit_module.py
index c4b1624cd..8038c8e55 100644
--- a/app/scodoc/sco_edit_module.py
+++ b/app/scodoc/sco_edit_module.py
@@ -52,7 +52,7 @@ from app.scodoc.sco_exceptions import (
ScoNonEmptyFormationObject,
)
from app.scodoc import html_sco_header
-from app.scodoc import sco_codes_parcours
+from app.scodoc import codes_cursus
from app.scodoc import sco_edit_matiere
from app.scodoc import sco_moduleimpl
@@ -300,7 +300,7 @@ def module_edit(
formation = module.formation
unlocked = not module_is_locked(module_id)
- parcours = sco_codes_parcours.get_parcours_from_code(formation.type_parcours)
+ parcours = codes_cursus.get_cursus_from_code(formation.type_parcours)
is_apc = parcours.APC_SAE # BUT
if not create:
orig_semestre_idx = module.ue.semestre_idx if is_apc else module.semestre_id
@@ -724,7 +724,7 @@ def module_edit(
)
]
else:
- if module.ue.type == sco_codes_parcours.UE_STANDARD:
+ if module.ue.type == codes_cursus.UE_STANDARD:
descr += [
(
"app_critiques",
@@ -957,7 +957,7 @@ def formation_add_malus_modules(
if semestre_id is not None:
ues = ues.filter_by(semestre_idx=semestre_id)
for ue in ues:
- if ue.type == sco_codes_parcours.UE_STANDARD:
+ if ue.type == codes_cursus.UE_STANDARD:
if ue_add_malus_module(ue, titre=titre) != None:
nb += 1
diff --git a/app/scodoc/sco_edit_ue.py b/app/scodoc/sco_edit_ue.py
index 2ea467c2a..959174f75 100644
--- a/app/scodoc/sco_edit_ue.py
+++ b/app/scodoc/sco_edit_ue.py
@@ -59,7 +59,7 @@ from app.scodoc.sco_exceptions import (
)
from app.scodoc import html_sco_header
-from app.scodoc import sco_codes_parcours
+from app.scodoc import codes_cursus
from app.scodoc import sco_edit_apc
from app.scodoc import sco_edit_matiere
from app.scodoc import sco_edit_module
@@ -273,9 +273,9 @@ def ue_edit(ue_id=None, create=False, formation_id=None, default_semestre_idx=No
formation = Formation.query.get(formation_id)
if not formation:
raise ScoValueError(f"Formation inexistante ! (id={formation_id})")
- parcours = formation.get_parcours()
- is_apc = parcours.APC_SAE
- semestres_indices = list(range(1, parcours.NB_SEM + 1))
+ cursus = formation.get_cursus()
+ is_apc = cursus.APC_SAE
+ semestres_indices = list(range(1, cursus.NB_SEM + 1))
H = [
html_sco_header.sco_header(page_title=title, javascripts=["js/edit_ue.js"]),
"
" + title,
@@ -296,9 +296,9 @@ def ue_edit(ue_id=None, create=False, formation_id=None, default_semestre_idx=No
else "",
]
- ue_types = parcours.ALLOWED_UE_TYPES
+ ue_types = cursus.ALLOWED_UE_TYPES
ue_types.sort()
- ue_types_names = [sco_codes_parcours.UE_TYPE_NAME[k] for k in ue_types]
+ ue_types_names = [codes_cursus.UE_TYPE_NAME[k] for k in ue_types]
ue_types = [str(x) for x in ue_types]
form_descr = [
@@ -324,8 +324,8 @@ def ue_edit(ue_id=None, create=False, formation_id=None, default_semestre_idx=No
"input_type": "menu",
"type": "int",
"allow_null": False,
- "title": parcours.SESSION_NAME.capitalize(),
- "explanation": f"{parcours.SESSION_NAME} de l'UE dans la formation",
+ "title": cursus.SESSION_NAME.capitalize(),
+ "explanation": f"{cursus.SESSION_NAME} de l'UE dans la formation",
"labels": ["non spécifié"] + [str(x) for x in semestres_indices],
"allowed_values": [""] + semestres_indices,
},
@@ -433,7 +433,7 @@ def ue_edit(ue_id=None, create=False, formation_id=None, default_semestre_idx=No
},
),
]
- if create and not parcours.UE_IS_MODULE and not is_apc:
+ if create and not cursus.UE_IS_MODULE and not is_apc:
form_descr.append(
(
"create_matiere",
@@ -502,13 +502,13 @@ def ue_edit(ue_id=None, create=False, formation_id=None, default_semestre_idx=No
formation_id, int(tf[2]["semestre_idx"])
)
ue_id = do_ue_create(tf[2])
- if is_apc or parcours.UE_IS_MODULE or tf[2]["create_matiere"]:
+ if is_apc or cursus.UE_IS_MODULE or tf[2]["create_matiere"]:
# rappel: en APC, toutes les UE ont une matière, créée ici
# (inutilisée mais à laquelle les modules sont rattachés)
matiere_id = sco_edit_matiere.do_matiere_create(
{"ue_id": ue_id, "titre": tf[2]["titre"], "numero": 1},
)
- if parcours.UE_IS_MODULE:
+ if cursus.UE_IS_MODULE:
# dans ce mode, crée un (unique) module dans l'UE:
_ = sco_edit_module.do_module_create(
{
@@ -560,14 +560,14 @@ def _add_ue_semestre_id(ues: list[dict], is_apc):
if ue["semestre_idx"] is not None:
ue["semestre_id"] = ue["semestre_idx"]
elif is_apc:
- ue["semestre_id"] = sco_codes_parcours.UE_SEM_DEFAULT
+ ue["semestre_id"] = codes_cursus.UE_SEM_DEFAULT
else:
# était le comportement ScoDoc7
modules = sco_edit_module.module_list(args={"ue_id": ue["ue_id"]})
if modules:
ue["semestre_id"] = modules[0]["semestre_id"]
else:
- ue["semestre_id"] = sco_codes_parcours.UE_SEM_DEFAULT
+ ue["semestre_id"] = codes_cursus.UE_SEM_DEFAULT
def next_ue_numero(formation_id, semestre_id=None):
@@ -582,7 +582,7 @@ def next_ue_numero(formation_id, semestre_id=None):
return ues[-1]["numero"] + 1000
else:
# Avec semestre: (prend le semestre du 1er module de l'UE)
- _add_ue_semestre_id(ues, formation.get_parcours().APC_SAE)
+ _add_ue_semestre_id(ues, formation.get_cursus().APC_SAE)
ue_list_semestre = [ue for ue in ues if ue["semestre_id"] == semestre_id]
if ue_list_semestre:
return ue_list_semestre[-1]["numero"] + 10
@@ -641,7 +641,7 @@ def ue_table(formation_id=None, semestre_idx=1, msg=""): # was ue_list
formation: Formation = Formation.query.get(formation_id)
if not formation:
raise ScoValueError("invalid formation_id")
- parcours = formation.get_parcours()
+ parcours = formation.get_cursus()
is_apc = parcours.APC_SAE
locked = formation.has_locked_sems()
if semestre_idx == "all" or semestre_idx == "":
@@ -1044,7 +1044,7 @@ def _ue_table_ues(
if cur_ue_semestre_id != ue["semestre_id"]:
cur_ue_semestre_id = ue["semestre_id"]
- if ue["semestre_id"] == sco_codes_parcours.UE_SEM_DEFAULT:
+ if ue["semestre_id"] == codes_cursus.UE_SEM_DEFAULT:
lab = "Pas d'indication de semestre:"
else:
lab = f"""Semestre {ue["semestre_id"]}:"""
@@ -1076,10 +1076,10 @@ def _ue_table_ues(
"""
% ue
)
- if ue["type"] != sco_codes_parcours.UE_STANDARD:
+ if ue["type"] != codes_cursus.UE_STANDARD:
H.append(
'%s'
- % sco_codes_parcours.UE_TYPE_NAME[ue["type"]]
+ % codes_cursus.UE_TYPE_NAME[ue["type"]]
)
if ue["is_external"]:
# Cas spécial: si l'UE externe a plus d'un module, c'est peut être une UE
diff --git a/app/scodoc/sco_export_results.py b/app/scodoc/sco_export_results.py
index 858fc5ae4..46e25ccc8 100644
--- a/app/scodoc/sco_export_results.py
+++ b/app/scodoc/sco_export_results.py
@@ -37,7 +37,7 @@ import app.scodoc.sco_utils as scu
from app import log
from app.scodoc import html_sco_header
from app.scodoc import sco_bac
-from app.scodoc import sco_codes_parcours
+from app.scodoc import codes_cursus
from app.scodoc import sco_cache
from app.scodoc import sco_formations
from app.scodoc import sco_preferences
@@ -45,7 +45,7 @@ from app.scodoc import sco_pvjury
from app.scodoc import sco_etud
import sco_version
from app.scodoc.gen_tables import GenTable
-from app.scodoc.sco_codes_parcours import NO_SEMESTRE_ID
+from app.scodoc.codes_cursus import NO_SEMESTRE_ID
def _build_results_table(start_date=None, end_date=None, types_parcours=[]):
@@ -68,10 +68,10 @@ def _build_results_table(start_date=None, end_date=None, types_parcours=[]):
sem["formation"] = sco_formations.formation_list(
args={"formation_id": sem["formation_id"]}
)[0]
- sem["parcours"] = sco_codes_parcours.get_parcours_from_code(
+ sem["parcours"] = codes_cursus.get_cursus_from_code(
sem["formation"]["type_parcours"]
)
- if sem["parcours"].TYPE_PARCOURS in types_parcours:
+ if sem["parcours"].TYPE_CURSUS in types_parcours:
semlist_parcours.append(sem)
formsemestre_ids_parcours = [sem["formsemestre_id"] for sem in semlist_parcours]
@@ -266,18 +266,18 @@ def scodoc_table_results(
menu_options = []
type_parcours_set = set()
for sem in sorted(semlist, key=lambda x: x["dateord"]):
- if sem["parcours"].TYPE_PARCOURS in types_parcours:
+ if sem["parcours"].TYPE_CURSUS in types_parcours:
selected = "selected"
else:
selected = ""
- if sem["parcours"].TYPE_PARCOURS not in type_parcours_set:
- type_parcours_set.add(sem["parcours"].TYPE_PARCOURS)
+ if sem["parcours"].TYPE_CURSUS not in type_parcours_set:
+ type_parcours_set.add(sem["parcours"].TYPE_CURSUS)
menu_options.append(
''
- % (sem["parcours"].TYPE_PARCOURS, selected, sem["parcours"].__doc__)
+ % (sem["parcours"].TYPE_CURSUS, selected, sem["parcours"].__doc__)
)
- if sem["parcours"].TYPE_PARCOURS in types_parcours:
+ if sem["parcours"].TYPE_CURSUS in types_parcours:
info_sems.append(
'
%(titremois)s'
% sem
diff --git a/app/scodoc/sco_formations.py b/app/scodoc/sco_formations.py
index 93f647346..3df737b4f 100644
--- a/app/scodoc/sco_formations.py
+++ b/app/scodoc/sco_formations.py
@@ -48,7 +48,7 @@ from app.models.but_refcomp import (
ApcReferentielCompetences,
)
from app.scodoc import sco_cache
-from app.scodoc import sco_codes_parcours
+from app.scodoc import codes_cursus
from app.scodoc import sco_edit_matiere
from app.scodoc import sco_edit_module
from app.scodoc import sco_edit_ue
@@ -467,7 +467,7 @@ def formation_list_table(formation_id=None, args={}):
# Traduit/ajoute des champs à afficher:
for f in formations:
try:
- f["parcours_name"] = sco_codes_parcours.get_parcours_from_code(
+ f["parcours_name"] = codes_cursus.get_cursus_from_code(
f["type_parcours"]
).NAME
except:
diff --git a/app/scodoc/sco_formsemestre.py b/app/scodoc/sco_formsemestre.py
index 679ede4e2..f5c498789 100644
--- a/app/scodoc/sco_formsemestre.py
+++ b/app/scodoc/sco_formsemestre.py
@@ -39,9 +39,9 @@ import app.scodoc.sco_utils as scu
from app import log
from app.models import Departement
from app.models import FormSemestre
-from app.scodoc import sco_cache, sco_codes_parcours, sco_formations, sco_preferences
+from app.scodoc import sco_cache, codes_cursus, sco_formations, sco_preferences
from app.scodoc.gen_tables import GenTable
-from app.scodoc.sco_codes_parcours import NO_SEMESTRE_ID
+from app.scodoc.codes_cursus import NO_SEMESTRE_ID
from app.scodoc.sco_exceptions import ScoInvalidIdType, ScoValueError
from app.scodoc.sco_vdi import ApoEtapeVDI
@@ -151,7 +151,7 @@ def _formsemestre_enrich(sem):
if not formations:
raise ScoValueError("pas de formation pour ce semestre !")
F = formations[0]
- parcours = sco_codes_parcours.get_parcours_from_code(F["type_parcours"])
+ parcours = codes_cursus.get_cursus_from_code(F["type_parcours"])
# 'S1', 'S2', ... ou '' pour les monosemestres
if sem["semestre_id"] != NO_SEMESTRE_ID:
sem["sem_id_txt"] = "S%s" % sem["semestre_id"]
diff --git a/app/scodoc/sco_formsemestre_edit.py b/app/scodoc/sco_formsemestre_edit.py
index 210d1e76c..40c8cd954 100644
--- a/app/scodoc/sco_formsemestre_edit.py
+++ b/app/scodoc/sco_formsemestre_edit.py
@@ -50,7 +50,7 @@ from app.scodoc.sco_exceptions import AccessDenied, ScoValueError
from app.scodoc.sco_permissions import Permission
from app.scodoc.sco_vdi import ApoEtapeVDI
from app.scodoc import html_sco_header
-from app.scodoc import sco_codes_parcours
+from app.scodoc import codes_cursus
from app.scodoc import sco_compute_moy
from app.scodoc import sco_edit_module
from app.scodoc import sco_etud
@@ -206,7 +206,7 @@ def do_formsemestre_createwithmodules(edit=False, formsemestre: FormSemestre = N
# Liste des ID de semestres
if formation.type_parcours is not None:
- parcours = sco_codes_parcours.get_parcours_from_code(formation.type_parcours)
+ parcours = codes_cursus.get_cursus_from_code(formation.type_parcours)
nb_sem = parcours.NB_SEM
else:
nb_sem = 10 # fallback, max 10 semestres
@@ -1008,7 +1008,7 @@ def _formsemestre_check_module_list(module_ids, semestre_idx):
def _formsemestre_check_ue_bonus_unicity(module_ids):
"""Vérifie qu'il n'y a qu'une seule UE bonus associée aux modules choisis"""
ues = [Module.query.get_or_404(module_id).ue for module_id in module_ids]
- ues_bonus = {ue.id for ue in ues if ue.type == sco_codes_parcours.UE_SPORT}
+ ues_bonus = {ue.id for ue in ues if ue.type == codes_cursus.UE_SPORT}
if len(ues_bonus) > 1:
raise ScoValueError(
"""Les modules de bonus sélectionnés ne sont pas tous dans la même UE bonus.
diff --git a/app/scodoc/sco_formsemestre_exterieurs.py b/app/scodoc/sco_formsemestre_exterieurs.py
index c82d176c0..44eec6be9 100644
--- a/app/scodoc/sco_formsemestre_exterieurs.py
+++ b/app/scodoc/sco_formsemestre_exterieurs.py
@@ -55,7 +55,7 @@ from app.scodoc import sco_formsemestre
from app.scodoc import sco_formsemestre_inscriptions
from app.scodoc import sco_formsemestre_validation
from app.scodoc import sco_etud
-from app.scodoc.sco_codes_parcours import UE_SPORT
+from app.scodoc.codes_cursus import UE_SPORT
def formsemestre_ext_create(etudid, sem_params):
diff --git a/app/scodoc/sco_formsemestre_inscriptions.py b/app/scodoc/sco_formsemestre_inscriptions.py
index 024ccbf97..739ace4ff 100644
--- a/app/scodoc/sco_formsemestre_inscriptions.py
+++ b/app/scodoc/sco_formsemestre_inscriptions.py
@@ -43,7 +43,7 @@ import app.scodoc.sco_utils as scu
from app import log
from app.scodoc.scolog import logdb
from app.scodoc.sco_exceptions import ScoException, ScoValueError
-from app.scodoc.sco_codes_parcours import UE_STANDARD, UE_SPORT, UE_TYPE_NAME
+from app.scodoc.codes_cursus import UE_STANDARD, UE_SPORT, UE_TYPE_NAME
import app.scodoc.notesdb as ndb
from app.scodoc.TrivialFormulator import TrivialFormulator
from app.scodoc import sco_find_etud
diff --git a/app/scodoc/sco_formsemestre_status.py b/app/scodoc/sco_formsemestre_status.py
index 5a5f8d5af..3e4446bb2 100644
--- a/app/scodoc/sco_formsemestre_status.py
+++ b/app/scodoc/sco_formsemestre_status.py
@@ -56,7 +56,7 @@ from app.scodoc import htmlutils
from app.scodoc import sco_abs
from app.scodoc import sco_archives
from app.scodoc import sco_bulletins
-from app.scodoc import sco_codes_parcours
+from app.scodoc import codes_cursus
from app.scodoc import sco_compute_moy
from app.scodoc import sco_edit_ue
from app.scodoc import sco_evaluations
@@ -89,14 +89,14 @@ def _build_menu_stats(formsemestre_id):
"enabled": True,
},
{
- "title": "Graphe des parcours",
- "endpoint": "notes.formsemestre_graph_parcours",
+ "title": "Graphe des cursus",
+ "endpoint": "notes.formsemestre_graph_cursus",
"args": {"formsemestre_id": formsemestre_id},
"enabled": True,
},
{
- "title": "Codes des parcours",
- "endpoint": "notes.formsemestre_suivi_parcours",
+ "title": "Codes des cursus",
+ "endpoint": "notes.formsemestre_suivi_cursus",
"args": {"formsemestre_id": formsemestre_id},
"enabled": True,
},
@@ -577,7 +577,7 @@ def fill_formsemestre(sem):
sem["eyelink"] = ""
F = sco_formations.formation_list(args={"formation_id": sem["formation_id"]})[0]
sem["formation"] = F
- parcours = sco_codes_parcours.get_parcours_from_code(F["type_parcours"])
+ parcours = codes_cursus.get_cursus_from_code(F["type_parcours"])
if sem["semestre_id"] != -1:
sem["num_sem"] = f""", {parcours.SESSION_NAME} {sem["semestre_id"]}"""
else:
@@ -617,7 +617,7 @@ def formsemestre_description_table(
F = sco_formations.formation_list(args={"formation_id": formsemestre.formation_id})[
0
]
- parcours = sco_codes_parcours.get_parcours_from_code(F["type_parcours"])
+ parcours = codes_cursus.get_cursus_from_code(F["type_parcours"])
# --- Colonnes à proposer:
columns_ids = ["UE", "Code", "Module"]
if with_parcours:
@@ -969,7 +969,7 @@ def formsemestre_status_head(formsemestre_id: int = None, page_title: str = None
if not sem:
raise ScoValueError("Semestre inexistant (il a peut être été supprimé ?)")
formation: Formation = sem.formation
- parcours = formation.get_parcours()
+ parcours = formation.get_cursus()
page_title = page_title or "Modules de "
@@ -1268,7 +1268,7 @@ def formsemestre_tableau_modules(
H.append("")
- if modimpl["ue"]["type"] != sco_codes_parcours.UE_STANDARD:
+ if modimpl["ue"]["type"] != codes_cursus.UE_STANDARD:
fontorange = " fontorange" # style css additionnel
else:
fontorange = ""
diff --git a/app/scodoc/sco_formsemestre_validation.py b/app/scodoc/sco_formsemestre_validation.py
index e84d5bc61..8a7f36a66 100644
--- a/app/scodoc/sco_formsemestre_validation.py
+++ b/app/scodoc/sco_formsemestre_validation.py
@@ -48,12 +48,12 @@ from app.models.validations import (
from app.models.but_validations import ApcValidationRCUE, ApcValidationAnnee
from app.scodoc.sco_exceptions import ScoValueError
from app.scodoc.scolog import logdb
-from app.scodoc.sco_codes_parcours import *
+from app.scodoc.codes_cursus import *
from app.scodoc.TrivialFormulator import TrivialFormulator, tf_error_message
from app.scodoc import html_sco_header
from app.scodoc import sco_abs
-from app.scodoc import sco_codes_parcours
+from app.scodoc import codes_cursus
from app.scodoc import sco_cache
from app.scodoc import sco_edit_ue
from app.scodoc import sco_etud
@@ -179,13 +179,13 @@ def formsemestre_validation_etud_form(
etud["nomprenom"],
Se.parcours.SESSION_NAME_A,
Se.parcours.SESSION_NAME,
- Se.get_parcours_descr(),
+ Se.get_cursus_descr(),
)
)
else:
H.append(
'
%s'
- % (etud["nomprenom"], Se.get_parcours_descr())
+ % (etud["nomprenom"], Se.get_cursus_descr())
)
H.append(
@@ -793,7 +793,7 @@ def form_decision_manuelle(Se, formsemestre_id, etudid, desturl="", sortcol=None
)
# Choix code semestre:
- codes = sorted(sco_codes_parcours.CODES_JURY_SEM)
+ codes = sorted(codes_cursus.CODES_JURY_SEM)
# fortuitement, cet ordre convient bien !
H.append(
@@ -805,7 +805,7 @@ def form_decision_manuelle(Se, formsemestre_id, etudid, desturl="", sortcol=None
if cod != ADC:
H.append(
'
'
- % (cod, sco_codes_parcours.CODES_EXPL[cod], cod)
+ % (cod, codes_cursus.CODES_EXPL[cod], cod)
)
elif Se.sem["gestion_compensation"]:
# traitement spécial pour ADC (compensation)
@@ -845,24 +845,24 @@ def form_decision_manuelle(Se, formsemestre_id, etudid, desturl="", sortcol=None
sel = ""
H.append(
'
'
- % (cod, sel, sco_codes_parcours.CODES_EXPL[cod], cod)
+ % (cod, sel, codes_cursus.CODES_EXPL[cod], cod)
)
H.append("")
# Choix code devenir
- codes = list(sco_codes_parcours.DEVENIR_EXPL.keys())
+ codes = list(codes_cursus.DEVENIR_EXPL.keys())
codes.sort() # fortuitement, cet ordre convient aussi bien !
if Se.sem["semestre_id"] == -1:
- allowed_codes = sco_codes_parcours.DEVENIRS_MONO
+ allowed_codes = codes_cursus.DEVENIRS_MONO
else:
- allowed_codes = set(sco_codes_parcours.DEVENIRS_STD)
+ allowed_codes = set(codes_cursus.DEVENIRS_STD)
# semestres decales ?
if Se.sem["gestion_semestrielle"]:
- allowed_codes = allowed_codes.union(sco_codes_parcours.DEVENIRS_DEC)
+ allowed_codes = allowed_codes.union(codes_cursus.DEVENIRS_DEC)
# n'autorise les codes NEXT2 que si semestres décalés et s'il ne manque qu'un semestre avant le n+2
if Se.can_jump_to_next2():
- allowed_codes = allowed_codes.union(sco_codes_parcours.DEVENIRS_NEXT2)
+ allowed_codes = allowed_codes.union(codes_cursus.DEVENIRS_NEXT2)
H.append(
'
Devenir: | |