Merge branch 'master' of https://scodoc.org/git/ScoDoc/ScoDoc into api
This commit is contained in:
commit
90e292341e
@ -201,7 +201,7 @@ def create_app(config_class=DevConfig):
|
|||||||
app.register_blueprint(auth_bp, url_prefix="/auth")
|
app.register_blueprint(auth_bp, url_prefix="/auth")
|
||||||
|
|
||||||
from app.entreprises import bp as entreprises_bp
|
from app.entreprises import bp as entreprises_bp
|
||||||
|
|
||||||
app.register_blueprint(entreprises_bp, url_prefix="/ScoDoc/entreprises")
|
app.register_blueprint(entreprises_bp, url_prefix="/ScoDoc/entreprises")
|
||||||
|
|
||||||
from app.views import scodoc_bp
|
from app.views import scodoc_bp
|
||||||
@ -297,7 +297,7 @@ def create_app(config_class=DevConfig):
|
|||||||
from app.scodoc.sco_bulletins_standard import BulletinGeneratorStandard
|
from app.scodoc.sco_bulletins_standard import BulletinGeneratorStandard
|
||||||
from app.scodoc.sco_bulletins_ucac import BulletinGeneratorUCAC
|
from app.scodoc.sco_bulletins_ucac import BulletinGeneratorUCAC
|
||||||
|
|
||||||
# l'ordre est important, le premeir sera le "défaut" pour les nouveaux départements.
|
# l'ordre est important, le premier sera le "défaut" pour les nouveaux départements.
|
||||||
sco_bulletins_generator.register_bulletin_class(BulletinGeneratorStandard)
|
sco_bulletins_generator.register_bulletin_class(BulletinGeneratorStandard)
|
||||||
sco_bulletins_generator.register_bulletin_class(BulletinGeneratorLegacy)
|
sco_bulletins_generator.register_bulletin_class(BulletinGeneratorLegacy)
|
||||||
sco_bulletins_generator.register_bulletin_class(BulletinGeneratorUCAC)
|
sco_bulletins_generator.register_bulletin_class(BulletinGeneratorUCAC)
|
||||||
|
@ -456,8 +456,8 @@ class BonusBezier(BonusSportAdditif):
|
|||||||
|
|
||||||
|
|
||||||
class BonusBordeaux1(BonusSportMultiplicatif):
|
class BonusBordeaux1(BonusSportMultiplicatif):
|
||||||
"""Calcul bonus modules optionnels (sport, culture), règle IUT Bordeaux 1, sur moyenne générale
|
"""Calcul bonus modules optionnels (sport, culture), règle IUT Bordeaux 1,
|
||||||
et UE.
|
sur moyenne générale et UEs.
|
||||||
<p>
|
<p>
|
||||||
Les étudiants de l'IUT peuvent suivre des enseignements optionnels
|
Les étudiants de l'IUT peuvent suivre des enseignements optionnels
|
||||||
de l'Université Bordeaux 1 (sport, théâtre) non rattachés à une unité d'enseignement.
|
de l'Université Bordeaux 1 (sport, théâtre) non rattachés à une unité d'enseignement.
|
||||||
@ -477,6 +477,29 @@ class BonusBordeaux1(BonusSportMultiplicatif):
|
|||||||
amplitude = 0.005
|
amplitude = 0.005
|
||||||
|
|
||||||
|
|
||||||
|
# Exactement le même que Bordeaux:
|
||||||
|
class BonusBrest(BonusSportMultiplicatif):
|
||||||
|
"""Calcul bonus modules optionnels (sport, culture), règle IUT de Brest,
|
||||||
|
sur moyenne générale et UEs.
|
||||||
|
<p>
|
||||||
|
Les étudiants de l'IUT peuvent suivre des enseignements optionnels
|
||||||
|
de l'Université (sport, théâtre) non rattachés à une unité d'enseignement.
|
||||||
|
</p><p>
|
||||||
|
Chaque point au-dessus de 10 sur 20 obtenus dans cet enseignement correspond à un %
|
||||||
|
qui augmente la moyenne de chaque UE et la moyenne générale.<br>
|
||||||
|
Formule : pourcentage = (points au dessus de 10) / 2
|
||||||
|
</p><p>
|
||||||
|
Par exemple : sport 13/20 : chaque UE sera multipliée par 1+0,015, ainsi que la moyenne générale.
|
||||||
|
</p>
|
||||||
|
"""
|
||||||
|
|
||||||
|
name = "bonus_iut_brest"
|
||||||
|
displayed_name = "IUT de Brest"
|
||||||
|
classic_use_bonus_ues = True # s'applique aux UEs en DUT et LP
|
||||||
|
seuil_moy_gen = 10.0
|
||||||
|
amplitude = 0.005
|
||||||
|
|
||||||
|
|
||||||
class BonusCachan1(BonusSportAdditif):
|
class BonusCachan1(BonusSportAdditif):
|
||||||
"""Calcul bonus optionnels (sport, culture), règle IUT de Cachan 1.
|
"""Calcul bonus optionnels (sport, culture), règle IUT de Cachan 1.
|
||||||
|
|
||||||
|
@ -98,7 +98,9 @@ class ResultatsSemestreBUT(NotesTableCompat):
|
|||||||
self.bonus_ues = bonus.get_bonus_ues()
|
self.bonus_ues = bonus.get_bonus_ues()
|
||||||
if self.bonus_ues is not None:
|
if self.bonus_ues is not None:
|
||||||
self.etud_moy_ue += self.bonus_ues # somme les dataframes
|
self.etud_moy_ue += self.bonus_ues # somme les dataframes
|
||||||
self.etud_moy_ue.clip(lower=0.0, upper=20.0, inplace=True)
|
|
||||||
|
# Clippe toutes les moyennes d'UE dans [0,20]
|
||||||
|
self.etud_moy_ue.clip(lower=0.0, upper=20.0, inplace=True)
|
||||||
|
|
||||||
# Moyenne générale indicative:
|
# Moyenne générale indicative:
|
||||||
# (note: le bonus sport a déjà été appliqué aux moyennes d'UE, et impacte
|
# (note: le bonus sport a déjà été appliqué aux moyennes d'UE, et impacte
|
||||||
|
@ -125,12 +125,16 @@ class ResultatsSemestreClassic(NotesTableCompat):
|
|||||||
# Applique le bonus moyenne générale renvoyé
|
# Applique le bonus moyenne générale renvoyé
|
||||||
self.etud_moy_gen += bonus_mg
|
self.etud_moy_gen += bonus_mg
|
||||||
|
|
||||||
self.etud_moy_gen.clip(lower=0.0, upper=20.0, inplace=True)
|
|
||||||
# compat nt, utilisé pour l'afficher sur les bulletins:
|
# compat nt, utilisé pour l'afficher sur les bulletins:
|
||||||
self.bonus = bonus_mg
|
self.bonus = bonus_mg
|
||||||
|
|
||||||
# --- UE capitalisées
|
# --- UE capitalisées
|
||||||
self.apply_capitalisation()
|
self.apply_capitalisation()
|
||||||
|
|
||||||
|
# Clippe toutes les moyennes dans [0,20]
|
||||||
|
self.etud_moy_ue.clip(lower=0.0, upper=20.0, inplace=True)
|
||||||
|
self.etud_moy_gen.clip(lower=0.0, upper=20.0, inplace=True)
|
||||||
|
|
||||||
# --- Classements:
|
# --- Classements:
|
||||||
self.compute_rangs()
|
self.compute_rangs()
|
||||||
|
|
||||||
@ -142,7 +146,12 @@ class ResultatsSemestreClassic(NotesTableCompat):
|
|||||||
"""La moyenne de l'étudiant dans le moduleimpl
|
"""La moyenne de l'étudiant dans le moduleimpl
|
||||||
Result: valeur float (peut être NaN) ou chaîne "NI" (non inscrit ou DEM)
|
Result: valeur float (peut être NaN) ou chaîne "NI" (non inscrit ou DEM)
|
||||||
"""
|
"""
|
||||||
return self.modimpls_results[moduleimpl_id].etuds_moy_module.get(etudid, "NI")
|
try:
|
||||||
|
if self.modimpl_inscr_df[moduleimpl_id][etudid]:
|
||||||
|
return self.modimpls_results[moduleimpl_id].etuds_moy_module[etudid]
|
||||||
|
except KeyError:
|
||||||
|
pass
|
||||||
|
return "NI"
|
||||||
|
|
||||||
def get_mod_stats(self, moduleimpl_id: int) -> dict:
|
def get_mod_stats(self, moduleimpl_id: int) -> dict:
|
||||||
"""Stats sur les notes obtenues dans un modimpl"""
|
"""Stats sur les notes obtenues dans un modimpl"""
|
||||||
|
@ -441,7 +441,9 @@ def _sort_mod_by_matiere(modlist, nt, etudid):
|
|||||||
return matmod
|
return matmod
|
||||||
|
|
||||||
|
|
||||||
def _ue_mod_bulletin(etudid, formsemestre_id, ue_id, modimpls, nt, version):
|
def _ue_mod_bulletin(
|
||||||
|
etudid, formsemestre_id, ue_id, modimpls, nt: NotesTableCompat, version
|
||||||
|
):
|
||||||
"""Infos sur les modules (et évaluations) dans une UE
|
"""Infos sur les modules (et évaluations) dans une UE
|
||||||
(ajoute les informations aux modimpls)
|
(ajoute les informations aux modimpls)
|
||||||
Result: liste de modules de l'UE avec les infos dans chacun (seulement ceux où l'étudiant est inscrit).
|
Result: liste de modules de l'UE avec les infos dans chacun (seulement ceux où l'étudiant est inscrit).
|
||||||
|
Loading…
Reference in New Issue
Block a user