diff --git a/app/comp/bonus_spo.py b/app/comp/bonus_spo.py index 6cf0767f..755d386e 100644 --- a/app/comp/bonus_spo.py +++ b/app/comp/bonus_spo.py @@ -1023,6 +1023,54 @@ class BonusNantes(BonusSportAdditif): bonus_max = 0.5 # plafonnement à 0.5 points +class BonusOrleans(BonusSportAdditif): + """Calcul bonus modules optionnels (sport, culture), règle IUT d'Orléans +

Cadre général : + En reconnaissance de l'engagement des étudiants dans la vie associative, + sociale ou professionnelle, l’IUT d’Orléans accorde, sous conditions, + une bonification aux étudiants inscrits qui en font la demande en début + d’année universitaire. +

+

Cet engagement doit être régulier et correspondre à une activité réelle + et sérieuse qui bénéficie à toute la communauté étudiante de l’IUT, + de l’Université ou à l’ensemble de la collectivité.

+

Bonification : + Pour les DUT et LP, cette bonification interviendra sur la moyenne générale + des semestres pairs : +

+ Pour le BUT, cette bonification interviendra sur la moyenne de chacune + des UE des semestre pairs : + + La bonification ne peut dépasser +0,5 points par année universitaire. +

+

Avant février 2020 : + Un bonus de 2,5% de la note de sport est accordé à la moyenne générale. +

+ """ + + name = "bonus_iutorleans" + displayed_name = "IUT d'Orléans" + bonus_max = 0.5 + seuil_moy_gen = 0.0 # seuls les points au dessus du seuil sont comptés + proportion_point = 1 + classic_use_bonus_ues = False + + def compute_bonus(self, sem_modimpl_moys_inscrits, modimpl_coefs_etuds_no_nan): + if self.formsemestre.date_debut > datetime.date(2020, 2, 1): + self.proportion_point = 1.0 + else: + self.proportion_point = 2.5 / 100.0 + return super().compute_bonus( + sem_modimpl_moys_inscrits, modimpl_coefs_etuds_no_nan + ) + + class BonusPoitiers(BonusSportAdditif): """Calcul bonus optionnels (sport, culture), règle IUT de Poitiers. diff --git a/app/scodoc/sco_groups.py b/app/scodoc/sco_groups.py index 21fb5b72..7d758a6c 100644 --- a/app/scodoc/sco_groups.py +++ b/app/scodoc/sco_groups.py @@ -270,6 +270,15 @@ def get_group_members(group_id, etat=None): return r +def check_group_name(group_name, partition, raiser=False): + """If groupe name exists in partition : if raiser -> Raise ScoValueError else-> return true""" + exists = group_name in [g["group_name"] for g in get_partition_groups(partition)] + if exists: + if raiser: + raise ScoValueError("Le nom de groupe existe déjà dans la partition") + else : + return True + return False; # obsolete: sco_groups_view.DisplayedGroupsInfos # def get_groups_members(group_ids, etat=None): @@ -830,7 +839,7 @@ def create_group(partition_id, group_name="", default=False) -> int: if not group_name and not default: raise ValueError("invalid group name: ()") # checkGroupName(group_name) - if group_name in [g["group_name"] for g in get_partition_groups(partition)]: + if check_group_name(group_name, partition): raise ValueError( "group_name %s already exists in partition" % group_name ) # XXX FIX: incorrect error handling (in AJAX) @@ -1310,7 +1319,7 @@ def group_set_name(group_id, group_name, redirect=True): redirect = int(redirect) cnx = ndb.GetDBConnexion() groupEditor.edit(cnx, {"group_id": group_id, "group_name": group_name}) - + check_group_name(group_name, get_partition(group["partition_id"]), True) # redirect to partition edit page: if redirect: return flask.redirect(