forked from ScoDoc/ScoDoc
Merge branch 'master' of https://scodoc.org/git/viennet/ScoDoc into dev92
This commit is contained in:
commit
4a03887120
@ -21,6 +21,7 @@ from flask import g
|
|||||||
|
|
||||||
from app.models.formsemestre import FormSemestre
|
from app.models.formsemestre import FormSemestre
|
||||||
from app.scodoc.sco_codes_parcours import UE_SPORT
|
from app.scodoc.sco_codes_parcours import UE_SPORT
|
||||||
|
from app.scodoc.sco_codes_parcours import ParcoursDUT, ParcoursDUTMono
|
||||||
from app.scodoc.sco_utils import ModuleType
|
from app.scodoc.sco_utils import ModuleType
|
||||||
|
|
||||||
|
|
||||||
@ -455,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.
|
||||||
@ -476,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.
|
||||||
|
|
||||||
@ -538,6 +562,44 @@ class BonusCachan1(BonusSportAdditif):
|
|||||||
self.bonus_ues[ue.id] = 0.0
|
self.bonus_ues[ue.id] = 0.0
|
||||||
|
|
||||||
|
|
||||||
|
class BonusCalais(BonusSportAdditif):
|
||||||
|
"""Calcul bonus modules optionnels (sport, culture), règle IUT LCO.
|
||||||
|
|
||||||
|
Les étudiants de l'IUT LCO peuvent suivre des enseignements optionnels non
|
||||||
|
rattachés à une unité d'enseignement. Les points au-dessus de 10
|
||||||
|
sur 20 obtenus dans chacune des matières optionnelles sont cumulés
|
||||||
|
dans la limite de 10 points. 6% de ces points cumulés s'ajoutent :
|
||||||
|
<ul>
|
||||||
|
<li><b>en DUT</b> à la moyenne générale du semestre déjà obtenue par l'étudiant.
|
||||||
|
<li><b>en BUT et LP</b> à la moyenne des UE dont l'acronyme fini par <b>BS</b> (ex : UE2.1BS, UE32BS)
|
||||||
|
</ul>
|
||||||
|
"""
|
||||||
|
|
||||||
|
name = "bonus_calais"
|
||||||
|
displayed_name = "IUT du Littoral"
|
||||||
|
bonus_max = 0.6
|
||||||
|
seuil_moy_gen = 10.0 # au dessus de 10
|
||||||
|
proportion_point = 0.06 # 6%
|
||||||
|
|
||||||
|
def compute_bonus(self, sem_modimpl_moys_inscrits, modimpl_coefs_etuds_no_nan):
|
||||||
|
parcours = self.formsemestre.formation.get_parcours()
|
||||||
|
# Variantes de DUT ?
|
||||||
|
if (
|
||||||
|
isinstance(parcours, ParcoursDUT)
|
||||||
|
or parcours.TYPE_PARCOURS == ParcoursDUTMono.TYPE_PARCOURS
|
||||||
|
): # DUT
|
||||||
|
super().compute_bonus(sem_modimpl_moys_inscrits, modimpl_coefs_etuds_no_nan)
|
||||||
|
else:
|
||||||
|
self.classic_use_bonus_ues = True # pour les LP
|
||||||
|
super().compute_bonus(sem_modimpl_moys_inscrits, modimpl_coefs_etuds_no_nan)
|
||||||
|
ues = self.formsemestre.query_ues(with_sport=False).all()
|
||||||
|
ues_sans_bs = [
|
||||||
|
ue for ue in ues if ue.acronyme[-2:].upper() != "BS"
|
||||||
|
] # les 2 derniers cars forcés en majus
|
||||||
|
for ue in ues_sans_bs:
|
||||||
|
self.bonus_ues[ue.id] = 0.0
|
||||||
|
|
||||||
|
|
||||||
class BonusColmar(BonusSportAdditif):
|
class BonusColmar(BonusSportAdditif):
|
||||||
"""Calcul bonus modules optionnels (sport, culture), règle IUT Colmar.
|
"""Calcul bonus modules optionnels (sport, culture), règle IUT Colmar.
|
||||||
|
|
||||||
|
@ -98,6 +98,8 @@ 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
|
||||||
|
|
||||||
|
# Clippe toutes les moyennes d'UE dans [0,20]
|
||||||
self.etud_moy_ue.clip(lower=0.0, upper=20.0, inplace=True)
|
self.etud_moy_ue.clip(lower=0.0, upper=20.0, inplace=True)
|
||||||
|
|
||||||
# Moyenne générale indicative:
|
# Moyenne générale indicative:
|
||||||
|
@ -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()
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
# -*- mode: python -*-
|
# -*- mode: python -*-
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
SCOVERSION = "9.2a-70"
|
SCOVERSION = "9.2a-71"
|
||||||
|
|
||||||
SCONAME = "ScoDoc"
|
SCONAME = "ScoDoc"
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user