BUT: dispenses d'UE / jury avec RCUE incomplet

This commit is contained in:
Emmanuel Viennet 2023-01-13 08:17:59 -03:00 committed by iziram
parent 83afc1d6a0
commit 3121a6d54c
2 changed files with 9 additions and 8 deletions

View File

@ -581,14 +581,14 @@ class DecisionsProposeesAnnee(DecisionsProposees):
) )
ues_impair_sans_rcue.discard(ue_impair.id) ues_impair_sans_rcue.discard(ue_impair.id)
break break
if rcue is None and not self.a_cheval: # if rcue is None and not self.a_cheval:
raise NoRCUEError(deca=self, ue=ue_pair) # raise NoRCUEError(deca=self, ue=ue_pair)
if rcue is not None: if rcue is not None:
rcues_annee.append(rcue) rcues_annee.append(rcue)
# Si jury annuel (pas à cheval), on doit avoir tous les RCUEs: # Si jury annuel (pas à cheval), on doit avoir tous les RCUEs:
if len(ues_impair_sans_rcue) > 0 and not self.a_cheval: # if len(ues_impair_sans_rcue) > 0 and not self.a_cheval:
ue = UniteEns.query.get(ues_impair_sans_rcue.pop()) # ue = UniteEns.query.get(ues_impair_sans_rcue.pop())
raise NoRCUEError(deca=self, ue=ue) # raise NoRCUEError(deca=self, ue=ue)
return rcues_annee return rcues_annee
def compute_decisions_niveaux(self) -> dict[int, "DecisionsProposeesRCUE"]: def compute_decisions_niveaux(self) -> dict[int, "DecisionsProposeesRCUE"]:
@ -911,7 +911,7 @@ def list_ue_parcour_etud(
formsemestre: FormSemestre, etud: Identite, res: ResultatsSemestreBUT formsemestre: FormSemestre, etud: Identite, res: ResultatsSemestreBUT
) -> tuple[ApcParcours, list[UniteEns]]: ) -> tuple[ApcParcours, list[UniteEns]]:
"""Parcour dans lequel l'étudiant est inscrit, """Parcour dans lequel l'étudiant est inscrit,
et liste des UEs à valider pour ce semestre et liste des UEs à valider pour ce semestre (sans les UE "dispensées")
""" """
if res.etuds_parcour_id[etud.id] is None: if res.etuds_parcour_id[etud.id] is None:
parcour = None parcour = None
@ -926,6 +926,7 @@ def list_ue_parcour_etud(
.order_by(UniteEns.numero) .order_by(UniteEns.numero)
.all() .all()
) )
ues = [ue for ue in ues if (etud.id, ue.id) not in res.dispense_ues]
return parcour, ues return parcour, ues

View File

@ -554,8 +554,8 @@ def _list_but_ue_inscriptions(res: NotesTableCompat, read_only: bool = True) ->
"""</table> """</table>
</form> </form>
<div class="help"> <div class="help">
L'inscription ou désinscription aux UE du BUT n'affecte pas les inscriptions aux modules L'inscription ou désinscription aux UEs du BUT n'affecte pas les inscriptions aux modules
mais permet de "dispenser" un étudiant de suivre certaines UE de son parcours. mais permet de "dispenser" un étudiant de suivre certaines UEs de son parcours.
Il peut s'agit d'étudiants redoublants ayant déjà acquis l'UE, ou d'autres cas particuliers. Il peut s'agit d'étudiants redoublants ayant déjà acquis l'UE, ou d'autres cas particuliers.
La dispense d'UE est réversible à tout moment (avant le jury de fin de semestre) La dispense d'UE est réversible à tout moment (avant le jury de fin de semestre)
et n'affecte pas les notes saisies. et n'affecte pas les notes saisies.