forked from ScoDoc/ScoDoc
Version 9.6.73 + copyright 2024
This commit is contained in:
parent
1a5072a35c
commit
9987a26d9e
@ -1,6 +1,6 @@
|
|||||||
##############################################################################
|
##############################################################################
|
||||||
# ScoDoc
|
# ScoDoc
|
||||||
# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved.
|
# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved.
|
||||||
# See LICENSE
|
# See LICENSE
|
||||||
##############################################################################
|
##############################################################################
|
||||||
"""ScoDoc 9 API : Assiduités
|
"""ScoDoc 9 API : Assiduités
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
##############################################################################
|
##############################################################################
|
||||||
# ScoDoc
|
# ScoDoc
|
||||||
# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved.
|
# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved.
|
||||||
# See LICENSE
|
# See LICENSE
|
||||||
##############################################################################
|
##############################################################################
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
##############################################################################
|
##############################################################################
|
||||||
# ScoDoc
|
# ScoDoc
|
||||||
# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved.
|
# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved.
|
||||||
# See LICENSE
|
# See LICENSE
|
||||||
##############################################################################
|
##############################################################################
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
##############################################################################
|
##############################################################################
|
||||||
# ScoDoc
|
# ScoDoc
|
||||||
# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved.
|
# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved.
|
||||||
# See LICENSE
|
# See LICENSE
|
||||||
##############################################################################
|
##############################################################################
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
##############################################################################
|
##############################################################################
|
||||||
# ScoDoc
|
# ScoDoc
|
||||||
# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved.
|
# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved.
|
||||||
# See LICENSE
|
# See LICENSE
|
||||||
##############################################################################
|
##############################################################################
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
##############################################################################
|
##############################################################################
|
||||||
# ScoDoc
|
# ScoDoc
|
||||||
# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved.
|
# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved.
|
||||||
# See LICENSE
|
# See LICENSE
|
||||||
##############################################################################
|
##############################################################################
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
##############################################################################
|
##############################################################################
|
||||||
# ScoDoc
|
# ScoDoc
|
||||||
# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved.
|
# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved.
|
||||||
# See LICENSE
|
# See LICENSE
|
||||||
##############################################################################
|
##############################################################################
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
##############################################################################
|
##############################################################################
|
||||||
# ScoDoc
|
# ScoDoc
|
||||||
# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved.
|
# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved.
|
||||||
# See LICENSE
|
# See LICENSE
|
||||||
##############################################################################
|
##############################################################################
|
||||||
|
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
#
|
#
|
||||||
# Gestion scolarite IUT
|
# Gestion scolarite IUT
|
||||||
#
|
#
|
||||||
# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved.
|
# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved.
|
||||||
#
|
#
|
||||||
# This program is free software; you can redistribute it and/or modify
|
# This program is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
##############################################################################
|
##############################################################################
|
||||||
# ScoDoc
|
# ScoDoc
|
||||||
# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved.
|
# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved.
|
||||||
# See LICENSE
|
# See LICENSE
|
||||||
##############################################################################
|
##############################################################################
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
##############################################################################
|
##############################################################################
|
||||||
# ScoDoc
|
# ScoDoc
|
||||||
# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved.
|
# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved.
|
||||||
# See LICENSE
|
# See LICENSE
|
||||||
##############################################################################
|
##############################################################################
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
##############################################################################
|
##############################################################################
|
||||||
# ScoDoc
|
# ScoDoc
|
||||||
# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved.
|
# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved.
|
||||||
# See LICENSE
|
# See LICENSE
|
||||||
##############################################################################
|
##############################################################################
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
##############################################################################
|
##############################################################################
|
||||||
# ScoDoc
|
# ScoDoc
|
||||||
# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved.
|
# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved.
|
||||||
# See LICENSE
|
# See LICENSE
|
||||||
##############################################################################
|
##############################################################################
|
||||||
"""ScoDoc 9 API : outils
|
"""ScoDoc 9 API : outils
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
##############################################################################
|
##############################################################################
|
||||||
# ScoDoc
|
# ScoDoc
|
||||||
# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved.
|
# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved.
|
||||||
# See LICENSE
|
# See LICENSE
|
||||||
##############################################################################
|
##############################################################################
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
##############################################################################
|
##############################################################################
|
||||||
# ScoDoc
|
# ScoDoc
|
||||||
# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved.
|
# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved.
|
||||||
# See LICENSE
|
# See LICENSE
|
||||||
##############################################################################
|
##############################################################################
|
||||||
|
|
||||||
@ -23,7 +23,7 @@ def form_ue_choix_parcours(ue: UniteEns) -> str:
|
|||||||
if ref_comp is None:
|
if ref_comp is None:
|
||||||
return f"""<div class="ue_advanced">
|
return f"""<div class="ue_advanced">
|
||||||
<div class="warning">Pas de référentiel de compétence associé à cette formation !</div>
|
<div class="warning">Pas de référentiel de compétence associé à cette formation !</div>
|
||||||
<div><a class="stdlink" href="{ url_for('notes.refcomp_assoc_formation',
|
<div><a class="stdlink" href="{ url_for('notes.refcomp_assoc_formation',
|
||||||
scodoc_dept=g.scodoc_dept, formation_id=ue.formation.id)
|
scodoc_dept=g.scodoc_dept, formation_id=ue.formation.id)
|
||||||
}">associer un référentiel de compétence</a>
|
}">associer un référentiel de compétence</a>
|
||||||
</div>
|
</div>
|
||||||
@ -48,7 +48,7 @@ def form_ue_choix_parcours(ue: UniteEns) -> str:
|
|||||||
f" ({ue.get_ects(parcour):.3g} ects)" if ects_differents else ""
|
f" ({ue.get_ects(parcour):.3g} ects)" if ects_differents else ""
|
||||||
)
|
)
|
||||||
H.append(
|
H.append(
|
||||||
f"""<label><input type="checkbox" name="{parcour.id}" value="{parcour.id}"
|
f"""<label><input type="checkbox" name="{parcour.id}" value="{parcour.id}"
|
||||||
{'checked' if parcour.id in ue_pids else ""}
|
{'checked' if parcour.id in ue_pids else ""}
|
||||||
onclick="set_ue_parcour(this);"
|
onclick="set_ue_parcour(this);"
|
||||||
data-setter="{url_for("apiweb.set_ue_parcours",
|
data-setter="{url_for("apiweb.set_ue_parcours",
|
||||||
@ -62,7 +62,7 @@ def form_ue_choix_parcours(ue: UniteEns) -> str:
|
|||||||
<ul>
|
<ul>
|
||||||
<li>
|
<li>
|
||||||
<a class="stdlink" href="{
|
<a class="stdlink" href="{
|
||||||
url_for("notes.ue_parcours_ects",
|
url_for("notes.ue_parcours_ects",
|
||||||
scodoc_dept=g.scodoc_dept, ue_id=ue.id)
|
scodoc_dept=g.scodoc_dept, ue_id=ue.id)
|
||||||
}">définir des ECTS différents dans chaque parcours</a>
|
}">définir des ECTS différents dans chaque parcours</a>
|
||||||
</li>
|
</li>
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
##############################################################################
|
##############################################################################
|
||||||
# ScoDoc
|
# ScoDoc
|
||||||
# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved.
|
# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved.
|
||||||
# See LICENSE
|
# See LICENSE
|
||||||
##############################################################################
|
##############################################################################
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
##############################################################################
|
##############################################################################
|
||||||
# ScoDoc
|
# ScoDoc
|
||||||
# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved.
|
# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved.
|
||||||
# See LICENSE
|
# See LICENSE
|
||||||
##############################################################################
|
##############################################################################
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
##############################################################################
|
##############################################################################
|
||||||
# ScoDoc
|
# ScoDoc
|
||||||
# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved.
|
# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved.
|
||||||
# See LICENSE
|
# See LICENSE
|
||||||
##############################################################################
|
##############################################################################
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
##############################################################################
|
##############################################################################
|
||||||
# ScoDoc
|
# ScoDoc
|
||||||
# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved.
|
# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved.
|
||||||
# See LICENSE
|
# See LICENSE
|
||||||
##############################################################################
|
##############################################################################
|
||||||
|
|
||||||
@ -9,7 +9,7 @@
|
|||||||
La génération du bulletin PDF suit le chemin suivant:
|
La génération du bulletin PDF suit le chemin suivant:
|
||||||
|
|
||||||
- vue formsemestre_bulletinetud -> sco_bulletins.formsemestre_bulletinetud
|
- vue formsemestre_bulletinetud -> sco_bulletins.formsemestre_bulletinetud
|
||||||
|
|
||||||
bul_dict = bulletin_but.BulletinBUT(formsemestre).bulletin_etud_complet(etud)
|
bul_dict = bulletin_but.BulletinBUT(formsemestre).bulletin_etud_complet(etud)
|
||||||
|
|
||||||
- sco_bulletins_generator.make_formsemestre_bulletin_etud()
|
- sco_bulletins_generator.make_formsemestre_bulletin_etud()
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
#
|
#
|
||||||
# Gestion scolarite IUT
|
# Gestion scolarite IUT
|
||||||
#
|
#
|
||||||
# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved.
|
# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved.
|
||||||
#
|
#
|
||||||
# This program is free software; you can redistribute it and/or modify
|
# This program is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
##############################################################################
|
##############################################################################
|
||||||
# ScoDoc
|
# ScoDoc
|
||||||
# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved.
|
# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved.
|
||||||
# See LICENSE
|
# See LICENSE
|
||||||
##############################################################################
|
##############################################################################
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
##############################################################################
|
##############################################################################
|
||||||
# ScoDoc
|
# ScoDoc
|
||||||
# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved.
|
# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved.
|
||||||
# See LICENSE
|
# See LICENSE
|
||||||
##############################################################################
|
##############################################################################
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
##############################################################################
|
##############################################################################
|
||||||
# ScoDoc
|
# ScoDoc
|
||||||
# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved.
|
# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved.
|
||||||
# See LICENSE
|
# See LICENSE
|
||||||
##############################################################################
|
##############################################################################
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
##############################################################################
|
##############################################################################
|
||||||
# ScoDoc
|
# ScoDoc
|
||||||
# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved.
|
# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved.
|
||||||
# See LICENSE
|
# See LICENSE
|
||||||
##############################################################################
|
##############################################################################
|
||||||
from xml.etree import ElementTree
|
from xml.etree import ElementTree
|
||||||
@ -33,7 +33,7 @@ def orebut_import_refcomp(xml_data: str, dept_id: int, orig_filename=None):
|
|||||||
scodoc_orig_filename=orig_filename, dept_id=dept_id
|
scodoc_orig_filename=orig_filename, dept_id=dept_id
|
||||||
).count():
|
).count():
|
||||||
raise ScoValueError(
|
raise ScoValueError(
|
||||||
f"""Un référentiel a déjà été chargé d'un fichier de même nom.
|
f"""Un référentiel a déjà été chargé d'un fichier de même nom.
|
||||||
({orig_filename})
|
({orig_filename})
|
||||||
Supprimez-le ou changez le nom du fichier."""
|
Supprimez-le ou changez le nom du fichier."""
|
||||||
)
|
)
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
##############################################################################
|
##############################################################################
|
||||||
# ScoDoc
|
# ScoDoc
|
||||||
# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved.
|
# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved.
|
||||||
# See LICENSE
|
# See LICENSE
|
||||||
##############################################################################
|
##############################################################################
|
||||||
|
|
||||||
@ -13,22 +13,22 @@ Utilisation:
|
|||||||
cherche les RCUEs de l'année (BUT1, 2, 3)
|
cherche les RCUEs de l'année (BUT1, 2, 3)
|
||||||
pour un redoublant, le RCUE peut considérer un formsemestre d'une année antérieure.
|
pour un redoublant, le RCUE peut considérer un formsemestre d'une année antérieure.
|
||||||
|
|
||||||
on instancie des DecisionsProposees pour les
|
on instancie des DecisionsProposees pour les
|
||||||
différents éléments (UEs, RCUEs, Année, Diplôme)
|
différents éléments (UEs, RCUEs, Année, Diplôme)
|
||||||
Cela donne
|
Cela donne
|
||||||
- les codes possibles (dans .codes)
|
- les codes possibles (dans .codes)
|
||||||
- le code actuel si une décision existe déjà (dans code_valide)
|
- le code actuel si une décision existe déjà (dans code_valide)
|
||||||
- pour les UEs, le rcue s'il y en a un)
|
- pour les UEs, le rcue s'il y en a un)
|
||||||
|
|
||||||
2) Validation pour l'utilisateur (form)) => enregistrement code
|
2) Validation pour l'utilisateur (form)) => enregistrement code
|
||||||
- on vérifie que le code soumis est bien dans les codes possibles
|
- on vérifie que le code soumis est bien dans les codes possibles
|
||||||
- on enregistre la décision (dans ScolarFormSemestreValidation pour les UE,
|
- on enregistre la décision (dans ScolarFormSemestreValidation pour les UE,
|
||||||
ApcValidationRCUE pour les RCUE, et ApcValidationAnnee pour les années)
|
ApcValidationRCUE pour les RCUE, et ApcValidationAnnee pour les années)
|
||||||
- Si RCUE validé, on déclenche d'éventuelles validations:
|
- Si RCUE validé, on déclenche d'éventuelles validations:
|
||||||
("La validation des deux UE du niveau d'une compétence emporte la validation
|
("La validation des deux UE du niveau d'une compétence emporte la validation
|
||||||
de l'ensemble des UE du niveau inférieur de cette même compétence.")
|
de l'ensemble des UE du niveau inférieur de cette même compétence.")
|
||||||
|
|
||||||
Les jurys de semestre BUT impairs entrainent systématiquement la génération d'une
|
Les jurys de semestre BUT impairs entrainent systématiquement la génération d'une
|
||||||
autorisation d'inscription dans le semestre pair suivant: `ScolarAutorisationInscription`.
|
autorisation d'inscription dans le semestre pair suivant: `ScolarAutorisationInscription`.
|
||||||
Les jurys de semestres pairs non (S2, S4, S6): il y a une décision sur l'année (ETP)
|
Les jurys de semestres pairs non (S2, S4, S6): il y a une décision sur l'année (ETP)
|
||||||
- autorisation en S_2n+1 (S3 ou S5) si: ADM, ADJ, PASD, PAS1CN
|
- autorisation en S_2n+1 (S3 ou S5) si: ADM, ADJ, PASD, PAS1CN
|
||||||
@ -39,8 +39,8 @@ Le formulaire permet de choisir des codes d'UE, RCUE et Année (ETP).
|
|||||||
Mais normalement, les codes d'UE sont à choisir: les RCUE et l'année s'en déduisent.
|
Mais normalement, les codes d'UE sont à choisir: les RCUE et l'année s'en déduisent.
|
||||||
Si l'utilisateur coche "décision manuelle", il peut alors choisir les codes RCUE et années.
|
Si l'utilisateur coche "décision manuelle", il peut alors choisir les codes RCUE et années.
|
||||||
|
|
||||||
La soumission du formulaire:
|
La soumission du formulaire:
|
||||||
- etud, formation
|
- etud, formation
|
||||||
- UEs: [(formsemestre, ue, code), ...]
|
- UEs: [(formsemestre, ue, code), ...]
|
||||||
- RCUE: [(formsemestre, ue, code), ...] le formsemestre est celui d'indice pair du niveau
|
- RCUE: [(formsemestre, ue, code), ...] le formsemestre est celui d'indice pair du niveau
|
||||||
(S2, S4 ou S6), il sera regoupé avec celui impair de la même année ou de la suivante.
|
(S2, S4 ou S6), il sera regoupé avec celui impair de la même année ou de la suivante.
|
||||||
@ -117,7 +117,7 @@ class NoRCUEError(ScoValueError):
|
|||||||
{warning_impair}
|
{warning_impair}
|
||||||
{warning_pair}
|
{warning_pair}
|
||||||
<div><b>UE {ue.acronyme}</b>: niveau {html.escape(str(ue.niveau_competence))}</div>
|
<div><b>UE {ue.acronyme}</b>: niveau {html.escape(str(ue.niveau_competence))}</div>
|
||||||
<div><b>UEs impaires:</b> {html.escape(', '.join(str(u.niveau_competence or "pas de niveau")
|
<div><b>UEs impaires:</b> {html.escape(', '.join(str(u.niveau_competence or "pas de niveau")
|
||||||
for u in deca.ues_impair))}
|
for u in deca.ues_impair))}
|
||||||
</div>
|
</div>
|
||||||
"""
|
"""
|
||||||
@ -273,8 +273,8 @@ class DecisionsProposeesAnnee(DecisionsProposees):
|
|||||||
= niveaux du tronc commun + niveau du parcours de l'étudiant.
|
= niveaux du tronc commun + niveau du parcours de l'étudiant.
|
||||||
"""
|
"""
|
||||||
self.rcue_by_niveau = self._compute_rcues_annee()
|
self.rcue_by_niveau = self._compute_rcues_annee()
|
||||||
"""RCUEs de l'année
|
"""RCUEs de l'année
|
||||||
(peuvent être construits avec des UEs validées antérieurement: redoublants
|
(peuvent être construits avec des UEs validées antérieurement: redoublants
|
||||||
avec UEs capitalisées, validation "antérieures")
|
avec UEs capitalisées, validation "antérieures")
|
||||||
"""
|
"""
|
||||||
# ---- Décision année et autorisation
|
# ---- Décision année et autorisation
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
##############################################################################
|
##############################################################################
|
||||||
# ScoDoc
|
# ScoDoc
|
||||||
# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved.
|
# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved.
|
||||||
# See LICENSE
|
# See LICENSE
|
||||||
##############################################################################
|
##############################################################################
|
||||||
|
|
||||||
@ -69,7 +69,7 @@ def pvjury_page_but(formsemestre_id: int, fmt="html"):
|
|||||||
html_title=f"""<div style="margin-bottom: 8px;"><span
|
html_title=f"""<div style="margin-bottom: 8px;"><span
|
||||||
style="font-size: 120%; font-weight: bold;">{title}</span>
|
style="font-size: 120%; font-weight: bold;">{title}</span>
|
||||||
<span style="padding-left: 20px;">
|
<span style="padding-left: 20px;">
|
||||||
<a href="{url_for("notes.pvjury_page_but",
|
<a href="{url_for("notes.pvjury_page_but",
|
||||||
scodoc_dept=g.scodoc_dept, formsemestre_id=formsemestre_id, fmt="xlsx")}"
|
scodoc_dept=g.scodoc_dept, formsemestre_id=formsemestre_id, fmt="xlsx")}"
|
||||||
class="stdlink">version excel</a></span></div>
|
class="stdlink">version excel</a></span></div>
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
##############################################################################
|
##############################################################################
|
||||||
# ScoDoc
|
# ScoDoc
|
||||||
# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved.
|
# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved.
|
||||||
# See LICENSE
|
# See LICENSE
|
||||||
##############################################################################
|
##############################################################################
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
##############################################################################
|
##############################################################################
|
||||||
# ScoDoc
|
# ScoDoc
|
||||||
# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved.
|
# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved.
|
||||||
# See LICENSE
|
# See LICENSE
|
||||||
##############################################################################
|
##############################################################################
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
##############################################################################
|
##############################################################################
|
||||||
# ScoDoc
|
# ScoDoc
|
||||||
# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved.
|
# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved.
|
||||||
# See LICENSE
|
# See LICENSE
|
||||||
##############################################################################
|
##############################################################################
|
||||||
|
|
||||||
@ -76,9 +76,9 @@ def show_etud(deca: DecisionsProposeesAnnee, read_only: bool = True) -> str:
|
|||||||
f"""
|
f"""
|
||||||
<div class="titre_niveaux">
|
<div class="titre_niveaux">
|
||||||
<b>Niveaux de compétences et unités d'enseignement du BUT{deca.annee_but}</b>
|
<b>Niveaux de compétences et unités d'enseignement du BUT{deca.annee_but}</b>
|
||||||
<a style="margin-left: 32px;" class="stdlink" target="_blank" rel="noopener noreferrer"
|
<a style="margin-left: 32px;" class="stdlink" target="_blank" rel="noopener noreferrer"
|
||||||
href={
|
href={
|
||||||
url_for("notes.validation_rcues", scodoc_dept=g.scodoc_dept,
|
url_for("notes.validation_rcues", scodoc_dept=g.scodoc_dept,
|
||||||
etudid=deca.etud.id,
|
etudid=deca.etud.id,
|
||||||
formsemestre_id=formsemestre_2.id if formsemestre_2 else formsemestre_1.id
|
formsemestre_id=formsemestre_2.id if formsemestre_2 else formsemestre_1.id
|
||||||
)
|
)
|
||||||
@ -172,7 +172,7 @@ def _gen_but_select(
|
|||||||
]
|
]
|
||||||
)
|
)
|
||||||
return f"""<select required name="{name}"
|
return f"""<select required name="{name}"
|
||||||
class="but_code {klass}"
|
class="but_code {klass}"
|
||||||
data-orig_code="{code_valide or (codes[0] if codes else '')}"
|
data-orig_code="{code_valide or (codes[0] if codes else '')}"
|
||||||
data-orig_recorded="{code_valide or ''}"
|
data-orig_recorded="{code_valide or ''}"
|
||||||
onchange="change_menu_code(this);"
|
onchange="change_menu_code(this);"
|
||||||
@ -201,7 +201,7 @@ def _gen_but_niveau_ue(
|
|||||||
<div>UE en cours
|
<div>UE en cours
|
||||||
{ "sans notes" if np.isnan(dec_ue.moy_ue)
|
{ "sans notes" if np.isnan(dec_ue.moy_ue)
|
||||||
else
|
else
|
||||||
("avec moyenne <b>" + scu.fmt_note(dec_ue.moy_ue) + "</b>")
|
("avec moyenne <b>" + scu.fmt_note(dec_ue.moy_ue) + "</b>")
|
||||||
}
|
}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -262,14 +262,14 @@ def _gen_but_niveau_ue(
|
|||||||
{scoplement}
|
{scoplement}
|
||||||
</div>
|
</div>
|
||||||
<div class="but_code">{
|
<div class="but_code">{
|
||||||
_gen_but_select("code_ue_"+str(ue.id),
|
_gen_but_select("code_ue_"+str(ue.id),
|
||||||
dec_ue.codes,
|
dec_ue.codes,
|
||||||
dec_ue.code_valide,
|
dec_ue.code_valide,
|
||||||
disabled=disabled,
|
disabled=disabled,
|
||||||
klass=f"code_ue ue_rcue_{niveau_id}" if not disabled else ""
|
klass=f"code_ue ue_rcue_{niveau_id}" if not disabled else ""
|
||||||
)
|
)
|
||||||
}</div>
|
}</div>
|
||||||
|
|
||||||
</div>"""
|
</div>"""
|
||||||
|
|
||||||
|
|
||||||
@ -423,7 +423,7 @@ def jury_but_semestriel(
|
|||||||
# GET
|
# GET
|
||||||
if formsemestre.semestre_id % 2 == 0:
|
if formsemestre.semestre_id % 2 == 0:
|
||||||
warning = f"""<div class="warning">
|
warning = f"""<div class="warning">
|
||||||
Cet étudiant de S{formsemestre.semestre_id} ne peut pas passer
|
Cet étudiant de S{formsemestre.semestre_id} ne peut pas passer
|
||||||
en jury BUT annuel car il lui manque le semestre précédent.
|
en jury BUT annuel car il lui manque le semestre précédent.
|
||||||
</div>"""
|
</div>"""
|
||||||
else:
|
else:
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
##############################################################################
|
##############################################################################
|
||||||
# ScoDoc
|
# ScoDoc
|
||||||
# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved.
|
# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved.
|
||||||
# See LICENSE
|
# See LICENSE
|
||||||
##############################################################################
|
##############################################################################
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
##############################################################################
|
##############################################################################
|
||||||
# ScoDoc
|
# ScoDoc
|
||||||
# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved.
|
# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved.
|
||||||
# See LICENSE
|
# See LICENSE
|
||||||
##############################################################################
|
##############################################################################
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
##############################################################################
|
##############################################################################
|
||||||
# ScoDoc
|
# ScoDoc
|
||||||
# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved.
|
# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved.
|
||||||
# See LICENSE
|
# See LICENSE
|
||||||
##############################################################################
|
##############################################################################
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
##############################################################################
|
##############################################################################
|
||||||
# ScoDoc
|
# ScoDoc
|
||||||
# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved.
|
# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved.
|
||||||
# See LICENSE
|
# See LICENSE
|
||||||
##############################################################################
|
##############################################################################
|
||||||
|
|
||||||
@ -30,7 +30,9 @@ class StatsMoyenne:
|
|||||||
self.max = np.nanmax(vals)
|
self.max = np.nanmax(vals)
|
||||||
self.size = len(vals)
|
self.size = len(vals)
|
||||||
self.nb_vals = self.size - np.count_nonzero(np.isnan(vals))
|
self.nb_vals = self.size - np.count_nonzero(np.isnan(vals))
|
||||||
except TypeError: # que des NaN dans un array d'objets, ou ce genre de choses exotiques...
|
except (
|
||||||
|
TypeError
|
||||||
|
): # que des NaN dans un array d'objets, ou ce genre de choses exotiques...
|
||||||
self.moy = self.min = self.max = self.size = self.nb_vals = 0
|
self.moy = self.min = self.max = self.size = self.nb_vals = 0
|
||||||
|
|
||||||
def to_dict(self):
|
def to_dict(self):
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
##############################################################################
|
##############################################################################
|
||||||
# ScoDoc
|
# ScoDoc
|
||||||
# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved.
|
# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved.
|
||||||
# See LICENSE
|
# See LICENSE
|
||||||
##############################################################################
|
##############################################################################
|
||||||
|
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
#
|
#
|
||||||
# Gestion scolarite IUT
|
# Gestion scolarite IUT
|
||||||
#
|
#
|
||||||
# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved.
|
# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved.
|
||||||
#
|
#
|
||||||
# This program is free software; you can redistribute it and/or modify
|
# This program is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
##############################################################################
|
##############################################################################
|
||||||
# ScoDoc
|
# ScoDoc
|
||||||
# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved.
|
# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved.
|
||||||
# See LICENSE
|
# See LICENSE
|
||||||
##############################################################################
|
##############################################################################
|
||||||
|
|
||||||
@ -38,7 +38,7 @@ class ValidationsSemestre(ResultatsCache):
|
|||||||
super().__init__(formsemestre, sco_cache.ValidationsSemestreCache)
|
super().__init__(formsemestre, sco_cache.ValidationsSemestreCache)
|
||||||
|
|
||||||
self.decisions_jury = {}
|
self.decisions_jury = {}
|
||||||
"""Décisions prises dans ce semestre:
|
"""Décisions prises dans ce semestre:
|
||||||
{ etudid : { 'code' : None|ATT|..., 'assidu' : 0|1 }}"""
|
{ etudid : { 'code' : None|ATT|..., 'assidu' : 0|1 }}"""
|
||||||
self.decisions_jury_ues = {}
|
self.decisions_jury_ues = {}
|
||||||
"""Décisions sur des UEs dans ce semestre:
|
"""Décisions sur des UEs dans ce semestre:
|
||||||
@ -145,11 +145,11 @@ def formsemestre_get_ue_capitalisees(formsemestre: FormSemestre) -> pd.DataFrame
|
|||||||
query = sa.text(
|
query = sa.text(
|
||||||
"""
|
"""
|
||||||
SELECT DISTINCT SFV.*, ue.ue_code
|
SELECT DISTINCT SFV.*, ue.ue_code
|
||||||
FROM
|
FROM
|
||||||
notes_ue ue,
|
notes_ue ue,
|
||||||
notes_formations nf,
|
notes_formations nf,
|
||||||
notes_formations nf2,
|
notes_formations nf2,
|
||||||
scolar_formsemestre_validation SFV,
|
scolar_formsemestre_validation SFV,
|
||||||
notes_formsemestre sem,
|
notes_formsemestre sem,
|
||||||
notes_formsemestre_inscription ins
|
notes_formsemestre_inscription ins
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
##############################################################################
|
##############################################################################
|
||||||
# ScoDoc
|
# ScoDoc
|
||||||
# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved.
|
# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved.
|
||||||
# See LICENSE
|
# See LICENSE
|
||||||
##############################################################################
|
##############################################################################
|
||||||
|
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
#
|
#
|
||||||
# Gestion scolarite IUT
|
# Gestion scolarite IUT
|
||||||
#
|
#
|
||||||
# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved.
|
# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved.
|
||||||
#
|
#
|
||||||
# This program is free software; you can redistribute it and/or modify
|
# This program is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
#
|
#
|
||||||
# Gestion scolarite IUT
|
# Gestion scolarite IUT
|
||||||
#
|
#
|
||||||
# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved.
|
# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved.
|
||||||
#
|
#
|
||||||
# This program is free software; you can redistribute it and/or modify
|
# This program is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
@ -89,7 +89,7 @@ def compute_sem_moys_apc_using_ects(
|
|||||||
flash(
|
flash(
|
||||||
Markup(
|
Markup(
|
||||||
f"""Calcul moyenne générale impossible: ECTS des UE manquants !<br>
|
f"""Calcul moyenne générale impossible: ECTS des UE manquants !<br>
|
||||||
(formation: <a href="{url_for("notes.ue_table",
|
(formation: <a href="{url_for("notes.ue_table",
|
||||||
scodoc_dept=g.scodoc_dept, formation_id=formation_id)}">{formation.get_titre_version()}</a>)"""
|
scodoc_dept=g.scodoc_dept, formation_id=formation_id)}">{formation.get_titre_version()}</a>)"""
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
#
|
#
|
||||||
# Gestion scolarite IUT
|
# Gestion scolarite IUT
|
||||||
#
|
#
|
||||||
# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved.
|
# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved.
|
||||||
#
|
#
|
||||||
# This program is free software; you can redistribute it and/or modify
|
# This program is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
##############################################################################
|
##############################################################################
|
||||||
# ScoDoc
|
# ScoDoc
|
||||||
# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved.
|
# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved.
|
||||||
# See LICENSE
|
# See LICENSE
|
||||||
##############################################################################
|
##############################################################################
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
##############################################################################
|
##############################################################################
|
||||||
# ScoDoc
|
# ScoDoc
|
||||||
# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved.
|
# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved.
|
||||||
# See LICENSE
|
# See LICENSE
|
||||||
##############################################################################
|
##############################################################################
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
##############################################################################
|
##############################################################################
|
||||||
# ScoDoc
|
# ScoDoc
|
||||||
# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved.
|
# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved.
|
||||||
# See LICENSE
|
# See LICENSE
|
||||||
##############################################################################
|
##############################################################################
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
##############################################################################
|
##############################################################################
|
||||||
# ScoDoc
|
# ScoDoc
|
||||||
# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved.
|
# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved.
|
||||||
# See LICENSE
|
# See LICENSE
|
||||||
##############################################################################
|
##############################################################################
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
##############################################################################
|
##############################################################################
|
||||||
# ScoDoc
|
# ScoDoc
|
||||||
# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved.
|
# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved.
|
||||||
# See LICENSE
|
# See LICENSE
|
||||||
##############################################################################
|
##############################################################################
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
##############################################################################
|
##############################################################################
|
||||||
# ScoDoc
|
# ScoDoc
|
||||||
# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved.
|
# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved.
|
||||||
# See LICENSE
|
# See LICENSE
|
||||||
##############################################################################
|
##############################################################################
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
# -*- coding: UTF-8 -*
|
# -*- coding: UTF-8 -*
|
||||||
##############################################################################
|
##############################################################################
|
||||||
# ScoDoc
|
# ScoDoc
|
||||||
# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved.
|
# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved.
|
||||||
# See LICENSE
|
# See LICENSE
|
||||||
##############################################################################
|
##############################################################################
|
||||||
|
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
#
|
#
|
||||||
# Gestion scolarite IUT
|
# Gestion scolarite IUT
|
||||||
#
|
#
|
||||||
# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved.
|
# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved.
|
||||||
#
|
#
|
||||||
# This program is free software; you can redistribute it and/or modify
|
# This program is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
#
|
#
|
||||||
# Gestion scolarite IUT
|
# Gestion scolarite IUT
|
||||||
#
|
#
|
||||||
# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved.
|
# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved.
|
||||||
#
|
#
|
||||||
# This program is free software; you can redistribute it and/or modify
|
# This program is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
#
|
#
|
||||||
# ScoDoc
|
# ScoDoc
|
||||||
#
|
#
|
||||||
# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved.
|
# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved.
|
||||||
#
|
#
|
||||||
# This program is free software; you can redistribute it and/or modify
|
# This program is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
#
|
#
|
||||||
# ScoDoc
|
# ScoDoc
|
||||||
#
|
#
|
||||||
# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved.
|
# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved.
|
||||||
#
|
#
|
||||||
# This program is free software; you can redistribute it and/or modify
|
# This program is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
@ -43,6 +43,7 @@ def gen_formsemestre_change_formation_form(
|
|||||||
formations: list[Formation],
|
formations: list[Formation],
|
||||||
) -> FormSemestreChangeFormationForm:
|
) -> FormSemestreChangeFormationForm:
|
||||||
"Create our dynamical form"
|
"Create our dynamical form"
|
||||||
|
|
||||||
# see https://wtforms.readthedocs.io/en/2.3.x/specific_problems/#dynamic-form-composition
|
# see https://wtforms.readthedocs.io/en/2.3.x/specific_problems/#dynamic-form-composition
|
||||||
class F(FormSemestreChangeFormationForm):
|
class F(FormSemestreChangeFormationForm):
|
||||||
pass
|
pass
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
#
|
#
|
||||||
# ScoDoc
|
# ScoDoc
|
||||||
#
|
#
|
||||||
# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved.
|
# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved.
|
||||||
#
|
#
|
||||||
# This program is free software; you can redistribute it and/or modify
|
# This program is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
#
|
#
|
||||||
# ScoDoc
|
# ScoDoc
|
||||||
#
|
#
|
||||||
# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved.
|
# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved.
|
||||||
#
|
#
|
||||||
# This program is free software; you can redistribute it and/or modify
|
# This program is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
#
|
#
|
||||||
# ScoDoc
|
# ScoDoc
|
||||||
#
|
#
|
||||||
# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved.
|
# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved.
|
||||||
#
|
#
|
||||||
# This program is free software; you can redistribute it and/or modify
|
# This program is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
#
|
#
|
||||||
# ScoDoc
|
# ScoDoc
|
||||||
#
|
#
|
||||||
# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved.
|
# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved.
|
||||||
#
|
#
|
||||||
# This program is free software; you can redistribute it and/or modify
|
# This program is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
#
|
#
|
||||||
# ScoDoc
|
# ScoDoc
|
||||||
#
|
#
|
||||||
# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved.
|
# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved.
|
||||||
#
|
#
|
||||||
# This program is free software; you can redistribute it and/or modify
|
# This program is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
#
|
#
|
||||||
# ScoDoc
|
# ScoDoc
|
||||||
#
|
#
|
||||||
# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved.
|
# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved.
|
||||||
#
|
#
|
||||||
# This program is free software; you can redistribute it and/or modify
|
# This program is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
#
|
#
|
||||||
# ScoDoc
|
# ScoDoc
|
||||||
#
|
#
|
||||||
# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved.
|
# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved.
|
||||||
#
|
#
|
||||||
# This program is free software; you can redistribute it and/or modify
|
# This program is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
##############################################################################
|
##############################################################################
|
||||||
# ScoDoc
|
# ScoDoc
|
||||||
# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved.
|
# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved.
|
||||||
# See LICENSE
|
# See LICENSE
|
||||||
##############################################################################
|
##############################################################################
|
||||||
"""ScoDoc 9 models : Référentiel Compétence BUT 2021
|
"""ScoDoc 9 models : Référentiel Compétence BUT 2021
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
# -*- coding: UTF-8 -*
|
# -*- coding: UTF-8 -*
|
||||||
##############################################################################
|
##############################################################################
|
||||||
# ScoDoc
|
# ScoDoc
|
||||||
# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved.
|
# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved.
|
||||||
# See LICENSE
|
# See LICENSE
|
||||||
##############################################################################
|
##############################################################################
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
# -*- coding: UTF-8 -*
|
# -*- coding: UTF-8 -*
|
||||||
##############################################################################
|
##############################################################################
|
||||||
# ScoDoc
|
# ScoDoc
|
||||||
# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved.
|
# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved.
|
||||||
# See LICENSE
|
# See LICENSE
|
||||||
##############################################################################
|
##############################################################################
|
||||||
|
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
#
|
#
|
||||||
# Gestion scolarite IUT
|
# Gestion scolarite IUT
|
||||||
#
|
#
|
||||||
# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved.
|
# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved.
|
||||||
#
|
#
|
||||||
# This program is free software; you can redistribute it and/or modify
|
# This program is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
@ -51,6 +51,7 @@ DONNEE_MANQUANTE = (
|
|||||||
"" # Caractère de remplacement des données manquantes dans un avis PE
|
"" # Caractère de remplacement des données manquantes dans un avis PE
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
# ----------------------------------------------------------------------------------------
|
# ----------------------------------------------------------------------------------------
|
||||||
def get_code_latex_from_modele(fichier):
|
def get_code_latex_from_modele(fichier):
|
||||||
"""Lit le code latex à partir d'un modèle. Renvoie une chaine unicode.
|
"""Lit le code latex à partir d'un modèle. Renvoie une chaine unicode.
|
||||||
@ -329,14 +330,13 @@ def get_bilanParTag(donnees_etudiant, groupe="groupe"):
|
|||||||
|
|
||||||
lignes = []
|
lignes = []
|
||||||
valeurs = {"note": [], "rang": []}
|
valeurs = {"note": [], "rang": []}
|
||||||
for (indice_aggregat, (aggregat, intitule, _)) in enumerate(entete):
|
for indice_aggregat, (aggregat, intitule, _) in enumerate(entete):
|
||||||
# print("> " + aggregat)
|
# print("> " + aggregat)
|
||||||
# listeTags = jury.get_allTagForAggregat(aggregat) # les tags de l'aggrégat
|
# listeTags = jury.get_allTagForAggregat(aggregat) # les tags de l'aggrégat
|
||||||
listeTags = [
|
listeTags = [
|
||||||
tag for tag in donnees_etudiant[aggregat][groupe].keys() if tag != "dut"
|
tag for tag in donnees_etudiant[aggregat][groupe].keys() if tag != "dut"
|
||||||
] #
|
] #
|
||||||
for tag in listeTags:
|
for tag in listeTags:
|
||||||
|
|
||||||
if tag not in lignes:
|
if tag not in lignes:
|
||||||
lignes.append(tag)
|
lignes.append(tag)
|
||||||
valeurs["note"].append(
|
valeurs["note"].append(
|
||||||
@ -365,7 +365,7 @@ def get_bilanParTag(donnees_etudiant, groupe="groupe"):
|
|||||||
)
|
)
|
||||||
code_latex += "\\hline"
|
code_latex += "\\hline"
|
||||||
code_latex += "\\hline \n"
|
code_latex += "\\hline \n"
|
||||||
for (i, ligne_val) in enumerate(valeurs["note"]):
|
for i, ligne_val in enumerate(valeurs["note"]):
|
||||||
titre = lignes[i] # règle le pb d'encodage
|
titre = lignes[i] # règle le pb d'encodage
|
||||||
code_latex += "\\textbf{" + titre + "} & " + " & ".join(ligne_val) + "\\\\ \n"
|
code_latex += "\\textbf{" + titre + "} & " + " & ".join(ligne_val) + "\\\\ \n"
|
||||||
code_latex += (
|
code_latex += (
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
#
|
#
|
||||||
# Gestion scolarite IUT
|
# Gestion scolarite IUT
|
||||||
#
|
#
|
||||||
# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved.
|
# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved.
|
||||||
#
|
#
|
||||||
# This program is free software; you can redistribute it and/or modify
|
# This program is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
@ -60,6 +60,7 @@ from app.pe import pe_tools
|
|||||||
from app.pe import pe_semestretag
|
from app.pe import pe_semestretag
|
||||||
from app.pe import pe_settag
|
from app.pe import pe_settag
|
||||||
|
|
||||||
|
|
||||||
# ----------------------------------------------------------------------------------------
|
# ----------------------------------------------------------------------------------------
|
||||||
def comp_nom_semestre_dans_parcours(sem):
|
def comp_nom_semestre_dans_parcours(sem):
|
||||||
"""Le nom a afficher pour titrer un semestre
|
"""Le nom a afficher pour titrer un semestre
|
||||||
@ -293,7 +294,7 @@ class JuryPE(object):
|
|||||||
if pe_tools.PE_DEBUG:
|
if pe_tools.PE_DEBUG:
|
||||||
pe_tools.pe_print("3) Analyse des parcours individuels des étudiants")
|
pe_tools.pe_print("3) Analyse des parcours individuels des étudiants")
|
||||||
|
|
||||||
for (no_etud, etudid) in enumerate(listEtudId):
|
for no_etud, etudid in enumerate(listEtudId):
|
||||||
self.add_etudiants(etudid)
|
self.add_etudiants(etudid)
|
||||||
if pe_tools.PE_DEBUG:
|
if pe_tools.PE_DEBUG:
|
||||||
if (no_etud + 1) % 10 == 0:
|
if (no_etud + 1) % 10 == 0:
|
||||||
@ -319,7 +320,6 @@ class JuryPE(object):
|
|||||||
|
|
||||||
etudiants = []
|
etudiants = []
|
||||||
for sem in semsListe: # pour chacun des semestres de la liste
|
for sem in semsListe: # pour chacun des semestres de la liste
|
||||||
|
|
||||||
nt = self.get_cache_notes_d_un_semestre(sem["formsemestre_id"])
|
nt = self.get_cache_notes_d_un_semestre(sem["formsemestre_id"])
|
||||||
etudiantsDuSemestre = (
|
etudiantsDuSemestre = (
|
||||||
nt.get_etudids()
|
nt.get_etudids()
|
||||||
@ -411,7 +411,7 @@ class JuryPE(object):
|
|||||||
"aggregat"
|
"aggregat"
|
||||||
] # Recherche du formsemestre_id de son Si valide (ou a défaut en cours)
|
] # Recherche du formsemestre_id de son Si valide (ou a défaut en cours)
|
||||||
]
|
]
|
||||||
for (i, nom_sem) in enumerate(JuryPE.PARCOURS["4S"]["aggregat"]):
|
for i, nom_sem in enumerate(JuryPE.PARCOURS["4S"]["aggregat"]):
|
||||||
fid = sesFormsemestre_idValidants[i]
|
fid = sesFormsemestre_idValidants[i]
|
||||||
self.PARCOURSINFO_DICT[etudid][nom_sem] = fid # ['formsemestre_id']
|
self.PARCOURSINFO_DICT[etudid][nom_sem] = fid # ['formsemestre_id']
|
||||||
if fid != None and pe_tools.PE_DEBUG and pe_tools.PE_DEBUG >= 2:
|
if fid != None and pe_tools.PE_DEBUG and pe_tools.PE_DEBUG >= 2:
|
||||||
@ -544,7 +544,8 @@ class JuryPE(object):
|
|||||||
# ------------------------------------------------------------------------------------------------------------------
|
# ------------------------------------------------------------------------------------------------------------------
|
||||||
def get_Fid_d_un_Si_valide_d_un_etudiant(self, etudid, nom_semestre):
|
def get_Fid_d_un_Si_valide_d_un_etudiant(self, etudid, nom_semestre):
|
||||||
"""Récupère le formsemestre_id valide d'un étudiant fourni son etudid à un semestre DUT de n° semestre_id
|
"""Récupère le formsemestre_id valide d'un étudiant fourni son etudid à un semestre DUT de n° semestre_id
|
||||||
donné. Si le semestre est en cours (pas encore de jury), renvoie le formsemestre_id actuel."""
|
donné. Si le semestre est en cours (pas encore de jury), renvoie le formsemestre_id actuel.
|
||||||
|
"""
|
||||||
semestre_id = JuryPE.PARCOURS["4S"]["aggregat"].index(nom_semestre) + 1
|
semestre_id = JuryPE.PARCOURS["4S"]["aggregat"].index(nom_semestre) + 1
|
||||||
sesSi = self.get_semestresDUT_d_un_etudiant(
|
sesSi = self.get_semestresDUT_d_un_etudiant(
|
||||||
etudid, semestre_id
|
etudid, semestre_id
|
||||||
@ -553,7 +554,7 @@ class JuryPE(object):
|
|||||||
if len(sesSi) > 0: # S'il a obtenu au moins une note
|
if len(sesSi) > 0: # S'il a obtenu au moins une note
|
||||||
# mT = sesMoyennes[0]
|
# mT = sesMoyennes[0]
|
||||||
leFid = sesSi[0]["formsemestre_id"]
|
leFid = sesSi[0]["formsemestre_id"]
|
||||||
for (i, sem) in enumerate(
|
for i, sem in enumerate(
|
||||||
sesSi
|
sesSi
|
||||||
): # Parcours des éventuels semestres précédents
|
): # Parcours des éventuels semestres précédents
|
||||||
nt = self.get_cache_notes_d_un_semestre(sem["formsemestre_id"])
|
nt = self.get_cache_notes_d_un_semestre(sem["formsemestre_id"])
|
||||||
@ -581,7 +582,7 @@ class JuryPE(object):
|
|||||||
lesFids = self.get_formsemestreids_du_jury(
|
lesFids = self.get_formsemestreids_du_jury(
|
||||||
self.get_etudids_du_jury(), liste_semestres=["S1", "S2", "S3", "S4"]
|
self.get_etudids_du_jury(), liste_semestres=["S1", "S2", "S3", "S4"]
|
||||||
)
|
)
|
||||||
for (i, fid) in enumerate(lesFids):
|
for i, fid in enumerate(lesFids):
|
||||||
if pe_tools.PE_DEBUG:
|
if pe_tools.PE_DEBUG:
|
||||||
pe_tools.pe_print(
|
pe_tools.pe_print(
|
||||||
"%d) Semestre taggué %s (avec classement dans groupe)"
|
"%d) Semestre taggué %s (avec classement dans groupe)"
|
||||||
@ -713,7 +714,8 @@ class JuryPE(object):
|
|||||||
|
|
||||||
def get_settags_in_jury(self):
|
def get_settags_in_jury(self):
|
||||||
"""Calcule les moyennes sur la totalité du parcours (S1 jusqu'à S3 ou S4)
|
"""Calcule les moyennes sur la totalité du parcours (S1 jusqu'à S3 ou S4)
|
||||||
en classant les étudiants au sein du semestre final du parcours (même S3, même S4, ...)"""
|
en classant les étudiants au sein du semestre final du parcours (même S3, même S4, ...)
|
||||||
|
"""
|
||||||
|
|
||||||
# Par groupe :
|
# Par groupe :
|
||||||
# combinaisons = { 'S1' : ['S1'], 'S2' : ['S2'], 'S3' : ['S3'], 'S4' : ['S4'], \
|
# combinaisons = { 'S1' : ['S1'], 'S2' : ['S2'], 'S3' : ['S3'], 'S4' : ['S4'], \
|
||||||
@ -722,7 +724,7 @@ class JuryPE(object):
|
|||||||
|
|
||||||
# ---> sur 2 parcours DUT (cas S3 fini, cas S4 fini)
|
# ---> sur 2 parcours DUT (cas S3 fini, cas S4 fini)
|
||||||
combinaisons = ["1A", "2A", "3S", "4S"]
|
combinaisons = ["1A", "2A", "3S", "4S"]
|
||||||
for (i, nom) in enumerate(combinaisons):
|
for i, nom in enumerate(combinaisons):
|
||||||
parcours = JuryPE.PARCOURS[nom][
|
parcours = JuryPE.PARCOURS[nom][
|
||||||
"aggregat"
|
"aggregat"
|
||||||
] # La liste des noms de semestres (S1, S2, ...) impliqués dans l'aggrégat
|
] # La liste des noms de semestres (S1, S2, ...) impliqués dans l'aggrégat
|
||||||
@ -781,8 +783,7 @@ class JuryPE(object):
|
|||||||
|
|
||||||
lesEtudids = self.get_etudids_du_jury()
|
lesEtudids = self.get_etudids_du_jury()
|
||||||
|
|
||||||
for (i, nom) in enumerate(JuryPE.PARCOURS.keys()):
|
for i, nom in enumerate(JuryPE.PARCOURS.keys()):
|
||||||
|
|
||||||
settag = pe_settag.SetTagInterClasse(nom, diplome=self.diplome)
|
settag = pe_settag.SetTagInterClasse(nom, diplome=self.diplome)
|
||||||
nbreEtudInscrits = settag.set_Etudiants(
|
nbreEtudInscrits = settag.set_Etudiants(
|
||||||
lesEtudids, self.PARCOURSINFO_DICT, self.ETUDINFO_DICT
|
lesEtudids, self.PARCOURSINFO_DICT, self.ETUDINFO_DICT
|
||||||
@ -896,7 +897,6 @@ class JuryPE(object):
|
|||||||
# Méthodes d'affichage pour debug
|
# Méthodes d'affichage pour debug
|
||||||
# **************************************************************************************************************** #
|
# **************************************************************************************************************** #
|
||||||
def str_etudiants_in_jury(self, delim=";"):
|
def str_etudiants_in_jury(self, delim=";"):
|
||||||
|
|
||||||
# En tete:
|
# En tete:
|
||||||
entete = ["Id", "Nom", "Abandon", "Diplome"]
|
entete = ["Id", "Nom", "Abandon", "Diplome"]
|
||||||
for nom_sem in ["S1", "S2", "S3", "S4", "1A", "2A", "3S", "4S"]:
|
for nom_sem in ["S1", "S2", "S3", "S4", "1A", "2A", "3S", "4S"]:
|
||||||
@ -904,7 +904,6 @@ class JuryPE(object):
|
|||||||
chaine = delim.join(entete) + "\n"
|
chaine = delim.join(entete) + "\n"
|
||||||
|
|
||||||
for etudid in self.PARCOURSINFO_DICT:
|
for etudid in self.PARCOURSINFO_DICT:
|
||||||
|
|
||||||
donnees = self.PARCOURSINFO_DICT[etudid]
|
donnees = self.PARCOURSINFO_DICT[etudid]
|
||||||
# pe_tools.pe_print(etudid, donnees)
|
# pe_tools.pe_print(etudid, donnees)
|
||||||
# les infos générales
|
# les infos générales
|
||||||
@ -940,7 +939,8 @@ class JuryPE(object):
|
|||||||
|
|
||||||
def get_allTagForAggregat(self, nom_aggregat):
|
def get_allTagForAggregat(self, nom_aggregat):
|
||||||
"""Extrait du dictionnaire syntheseJury la liste des tags d'un semestre ou
|
"""Extrait du dictionnaire syntheseJury la liste des tags d'un semestre ou
|
||||||
d'un aggrégat donné par son nom (S1, S2, S3 ou S4, 1A, ...). Renvoie [] si aucun tag."""
|
d'un aggrégat donné par son nom (S1, S2, S3 ou S4, 1A, ...). Renvoie [] si aucun tag.
|
||||||
|
"""
|
||||||
taglist = set()
|
taglist = set()
|
||||||
for etudid in self.get_etudids_du_jury():
|
for etudid in self.get_etudids_du_jury():
|
||||||
taglist = taglist.union(
|
taglist = taglist.union(
|
||||||
@ -1203,6 +1203,7 @@ class JuryPE(object):
|
|||||||
# ----------------------------------------------------------------------------------------
|
# ----------------------------------------------------------------------------------------
|
||||||
# Fonctions
|
# Fonctions
|
||||||
|
|
||||||
|
|
||||||
# ----------------------------------------------------------------------------------------
|
# ----------------------------------------------------------------------------------------
|
||||||
def get_annee_diplome_semestre(sem) -> int:
|
def get_annee_diplome_semestre(sem) -> int:
|
||||||
"""Pour un semestre donne, décrit par le biais du dictionnaire sem usuel :
|
"""Pour un semestre donne, décrit par le biais du dictionnaire sem usuel :
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
#
|
#
|
||||||
# Gestion scolarite IUT
|
# Gestion scolarite IUT
|
||||||
#
|
#
|
||||||
# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved.
|
# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved.
|
||||||
#
|
#
|
||||||
# This program is free software; you can redistribute it and/or modify
|
# This program is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
#
|
#
|
||||||
# Gestion scolarite IUT
|
# Gestion scolarite IUT
|
||||||
#
|
#
|
||||||
# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved.
|
# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved.
|
||||||
#
|
#
|
||||||
# This program is free software; you can redistribute it and/or modify
|
# This program is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
#
|
#
|
||||||
# Gestion scolarite IUT
|
# Gestion scolarite IUT
|
||||||
#
|
#
|
||||||
# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved.
|
# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved.
|
||||||
#
|
#
|
||||||
# This program is free software; you can redistribute it and/or modify
|
# This program is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
#
|
#
|
||||||
# Gestion scolarite IUT
|
# Gestion scolarite IUT
|
||||||
#
|
#
|
||||||
# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved.
|
# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved.
|
||||||
#
|
#
|
||||||
# This program is free software; you can redistribute it and/or modify
|
# This program is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
@ -74,6 +74,7 @@ PE_LOCAL_FOOTER_TMPL = REP_LOCAL_AVIS + "local/modeles/un_footer.tex"
|
|||||||
|
|
||||||
# ----------------------------------------------------------------------------------------
|
# ----------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
# ----------------------------------------------------------------------------------------
|
# ----------------------------------------------------------------------------------------
|
||||||
def print_semestres_description(sems, avec_affichage_debug=False):
|
def print_semestres_description(sems, avec_affichage_debug=False):
|
||||||
"""Dediee a l'affichage d'un semestre pour debug du module"""
|
"""Dediee a l'affichage d'un semestre pour debug du module"""
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
#
|
#
|
||||||
# Gestion scolarite IUT
|
# Gestion scolarite IUT
|
||||||
#
|
#
|
||||||
# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved.
|
# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved.
|
||||||
#
|
#
|
||||||
# This program is free software; you can redistribute it and/or modify
|
# This program is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
#
|
#
|
||||||
# Gestion scolarite IUT
|
# Gestion scolarite IUT
|
||||||
#
|
#
|
||||||
# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved.
|
# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved.
|
||||||
#
|
#
|
||||||
# This program is free software; you can redistribute it and/or modify
|
# This program is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
#
|
#
|
||||||
# Gestion scolarite IUT
|
# Gestion scolarite IUT
|
||||||
#
|
#
|
||||||
# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved.
|
# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved.
|
||||||
#
|
#
|
||||||
# This program is free software; you can redistribute it and/or modify
|
# This program is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
#
|
#
|
||||||
# Gestion scolarite IUT
|
# Gestion scolarite IUT
|
||||||
#
|
#
|
||||||
# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved.
|
# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved.
|
||||||
#
|
#
|
||||||
# This program is free software; you can redistribute it and/or modify
|
# This program is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
#
|
#
|
||||||
# Gestion scolarite IUT
|
# Gestion scolarite IUT
|
||||||
#
|
#
|
||||||
# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved.
|
# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved.
|
||||||
#
|
#
|
||||||
# This program is free software; you can redistribute it and/or modify
|
# This program is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
#
|
#
|
||||||
# Gestion scolarite IUT
|
# Gestion scolarite IUT
|
||||||
#
|
#
|
||||||
# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved.
|
# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved.
|
||||||
#
|
#
|
||||||
# This program is free software; you can redistribute it and/or modify
|
# This program is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
#
|
#
|
||||||
# Gestion scolarite IUT
|
# Gestion scolarite IUT
|
||||||
#
|
#
|
||||||
# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved.
|
# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved.
|
||||||
#
|
#
|
||||||
# This program is free software; you can redistribute it and/or modify
|
# This program is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
#
|
#
|
||||||
# Gestion scolarite IUT
|
# Gestion scolarite IUT
|
||||||
#
|
#
|
||||||
# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved.
|
# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved.
|
||||||
#
|
#
|
||||||
# This program is free software; you can redistribute it and/or modify
|
# This program is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
#
|
#
|
||||||
# Gestion scolarite IUT
|
# Gestion scolarite IUT
|
||||||
#
|
#
|
||||||
# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved.
|
# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved.
|
||||||
#
|
#
|
||||||
# This program is free software; you can redistribute it and/or modify
|
# This program is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
@ -33,6 +33,7 @@ from html.parser import HTMLParser
|
|||||||
(Python 3 only)
|
(Python 3 only)
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
|
||||||
# permet de conserver les liens
|
# permet de conserver les liens
|
||||||
def html_to_safe_html(text, convert_br=True): # was HTML2SafeHTML
|
def html_to_safe_html(text, convert_br=True): # was HTML2SafeHTML
|
||||||
# text = html_to_safe_html(text, valid_tags=("b", "a", "i", "br", "p"))
|
# text = html_to_safe_html(text, valid_tags=("b", "a", "i", "br", "p"))
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
#
|
#
|
||||||
# Gestion scolarite IUT
|
# Gestion scolarite IUT
|
||||||
#
|
#
|
||||||
# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved.
|
# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved.
|
||||||
#
|
#
|
||||||
# This program is free software; you can redistribute it and/or modify
|
# This program is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
@ -429,8 +429,8 @@ def list_abs_date(etudid, beg_date=None, end_date=None):
|
|||||||
""
|
""
|
||||||
if beg_date is None
|
if beg_date is None
|
||||||
else """
|
else """
|
||||||
AND A.jour >= %(beg_date)s
|
AND A.jour >= %(beg_date)s
|
||||||
AND A.jour <= %(end_date)s
|
AND A.jour <= %(end_date)s
|
||||||
"""
|
"""
|
||||||
)
|
)
|
||||||
cursor.execute(
|
cursor.execute(
|
||||||
@ -516,7 +516,7 @@ def list_abs_jour(date, am=True, pm=True, is_abs=True, is_just=None) -> list[dic
|
|||||||
"""
|
"""
|
||||||
cnx = ndb.GetDBConnexion()
|
cnx = ndb.GetDBConnexion()
|
||||||
cursor = cnx.cursor(cursor_factory=ndb.ScoDocCursor)
|
cursor = cnx.cursor(cursor_factory=ndb.ScoDocCursor)
|
||||||
req = """SELECT DISTINCT etudid, jour, matin FROM ABSENCES A
|
req = """SELECT DISTINCT etudid, jour, matin FROM ABSENCES A
|
||||||
WHERE A.jour = %(date)s
|
WHERE A.jour = %(date)s
|
||||||
"""
|
"""
|
||||||
if is_abs is not None:
|
if is_abs is not None:
|
||||||
@ -545,12 +545,12 @@ def list_abs_non_just_jour(date, am=True, pm=True) -> list[dict]:
|
|||||||
if not pm:
|
if not pm:
|
||||||
reqa += " AND matin "
|
reqa += " AND matin "
|
||||||
req = (
|
req = (
|
||||||
"""SELECT etudid, jour, matin FROM ABSENCES A
|
"""SELECT etudid, jour, matin FROM ABSENCES A
|
||||||
WHERE A.estabs
|
WHERE A.estabs
|
||||||
AND A.jour = %(date)s
|
AND A.jour = %(date)s
|
||||||
"""
|
"""
|
||||||
+ reqa
|
+ reqa
|
||||||
+ """EXCEPT SELECT etudid, jour, matin FROM ABSENCES B
|
+ """EXCEPT SELECT etudid, jour, matin FROM ABSENCES B
|
||||||
WHERE B.estjust AND B.jour = %(date)s"""
|
WHERE B.estjust AND B.jour = %(date)s"""
|
||||||
+ reqa
|
+ reqa
|
||||||
)
|
)
|
||||||
@ -630,7 +630,7 @@ AND A.JOUR >= %(datedebut)s"""
|
|||||||
req += """AND A.JOUR <= %(datefin)s"""
|
req += """AND A.JOUR <= %(datefin)s"""
|
||||||
if only_no_abs:
|
if only_no_abs:
|
||||||
req += """
|
req += """
|
||||||
EXCEPT SELECT ETUDID, JOUR, MATIN FROM ABSENCES B
|
EXCEPT SELECT ETUDID, JOUR, MATIN FROM ABSENCES B
|
||||||
WHERE B.estabs
|
WHERE B.estabs
|
||||||
AND B.ETUDID = %(etudid)s
|
AND B.ETUDID = %(etudid)s
|
||||||
"""
|
"""
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
#
|
#
|
||||||
# Gestion scolarite IUT
|
# Gestion scolarite IUT
|
||||||
#
|
#
|
||||||
# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved.
|
# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved.
|
||||||
#
|
#
|
||||||
# This program is free software; you can redistribute it and/or modify
|
# This program is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
#
|
#
|
||||||
# Gestion scolarite IUT
|
# Gestion scolarite IUT
|
||||||
#
|
#
|
||||||
# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved.
|
# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved.
|
||||||
#
|
#
|
||||||
# This program is free software; you can redistribute it and/or modify
|
# This program is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
#
|
#
|
||||||
# Gestion scolarite IUT
|
# Gestion scolarite IUT
|
||||||
#
|
#
|
||||||
# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved.
|
# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved.
|
||||||
#
|
#
|
||||||
# This program is free software; you can redistribute it and/or modify
|
# This program is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
@ -73,11 +73,11 @@ def apo_compare_csv_form():
|
|||||||
_HELP_TXT,
|
_HELP_TXT,
|
||||||
"""
|
"""
|
||||||
<div class="apo_compare_csv_form_but">
|
<div class="apo_compare_csv_form_but">
|
||||||
Fichier Apogée A:
|
Fichier Apogée A:
|
||||||
<input type="file" size="30" name="file_a"/>
|
<input type="file" size="30" name="file_a"/>
|
||||||
</div>
|
</div>
|
||||||
<div class="apo_compare_csv_form_but">
|
<div class="apo_compare_csv_form_but">
|
||||||
Fichier Apogée B:
|
Fichier Apogée B:
|
||||||
<input type="file" size="30" name="file_b"/>
|
<input type="file" size="30" name="file_b"/>
|
||||||
</div>
|
</div>
|
||||||
<input type="checkbox" name="autodetect" checked/>autodétecter encodage</input>
|
<input type="checkbox" name="autodetect" checked/>autodétecter encodage</input>
|
||||||
@ -101,7 +101,7 @@ def apo_compare_csv(file_a, file_b, autodetect=True):
|
|||||||
raise ScoValueError(
|
raise ScoValueError(
|
||||||
"""
|
"""
|
||||||
Erreur: l'encodage de l'un des fichiers est mal détecté.
|
Erreur: l'encodage de l'un des fichiers est mal détecté.
|
||||||
Essayez sans auto-détection, ou vérifiez le codage et le contenu
|
Essayez sans auto-détection, ou vérifiez le codage et le contenu
|
||||||
des fichiers.
|
des fichiers.
|
||||||
""",
|
""",
|
||||||
dest_url=dest_url,
|
dest_url=dest_url,
|
||||||
@ -258,9 +258,9 @@ def _apo_compare_csv(apo_a: ApoData, apo_b: ApoData):
|
|||||||
L.append(T.html())
|
L.append(T.html())
|
||||||
else:
|
else:
|
||||||
L.append(
|
L.append(
|
||||||
f"""<p class="p_ok">aucune différence de résultats
|
f"""<p class="p_ok">aucune différence de résultats
|
||||||
sur les {nb_etuds_communs} étudiants communs
|
sur les {nb_etuds_communs} étudiants communs
|
||||||
(<em>les éléments Apogée n'apparaissant pas dans les deux
|
(<em>les éléments Apogée n'apparaissant pas dans les deux
|
||||||
fichiers sont omis</em>)
|
fichiers sont omis</em>)
|
||||||
</p>
|
</p>
|
||||||
"""
|
"""
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
#
|
#
|
||||||
# Gestion scolarite IUT
|
# Gestion scolarite IUT
|
||||||
#
|
#
|
||||||
# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved.
|
# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved.
|
||||||
#
|
#
|
||||||
# This program is free software; you can redistribute it and/or modify
|
# This program is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
@ -29,8 +29,8 @@ Ce code a été au départ inspiré par les travaux de Damien Mascré, scodoc2ap
|
|||||||
A utiliser en fin de semestre, après les jury.
|
A utiliser en fin de semestre, après les jury.
|
||||||
On communique avec Apogée via des fichiers CSV.
|
On communique avec Apogée via des fichiers CSV.
|
||||||
|
|
||||||
XXX A vérifier: AJAC car 1 sem. validé et pas de NAR
|
XXX A vérifier: AJAC car 1 sem. validé et pas de NAR
|
||||||
|
|
||||||
"""
|
"""
|
||||||
|
|
||||||
import datetime
|
import datetime
|
||||||
@ -762,7 +762,7 @@ class ApoData:
|
|||||||
|
|
||||||
raise ScoValueError(
|
raise ScoValueError(
|
||||||
f"""Incohérence détectée !
|
f"""Incohérence détectée !
|
||||||
|
|
||||||
Les semestres de la période n'ont pas tous le même indice.
|
Les semestres de la période n'ont pas tous le même indice.
|
||||||
|
|
||||||
Période: {self.periode}. Indice courant: {self.cur_semestre_id}
|
Période: {self.periode}. Indice courant: {self.cur_semestre_id}
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
#
|
#
|
||||||
# Gestion scolarite IUT
|
# Gestion scolarite IUT
|
||||||
#
|
#
|
||||||
# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved.
|
# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved.
|
||||||
#
|
#
|
||||||
# This program is free software; you can redistribute it and/or modify
|
# This program is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
@ -57,7 +57,7 @@ Le fichier CSV, champs séparés par des tabulations, a la structure suivante:
|
|||||||
10601232 AARIF MALIKA 22/09/1986 18 20 ADM 18 20 ADM 18 20 ADM 18 20 ADM 18 20 ADM 18 20 18 20 ADM 18 20 ADM 18 20 ADM 18 20 ADM
|
10601232 AARIF MALIKA 22/09/1986 18 20 ADM 18 20 ADM 18 20 ADM 18 20 ADM 18 20 ADM 18 20 18 20 ADM 18 20 ADM 18 20 ADM 18 20 ADM
|
||||||
</pre>
|
</pre>
|
||||||
|
|
||||||
|
|
||||||
On récupère nos éléments pédagogiques dans la section XX-APO-COLONNES-XX et
|
On récupère nos éléments pédagogiques dans la section XX-APO-COLONNES-XX et
|
||||||
notre liste d'étudiants dans la section XX-APO_VALEURS-XX. Les champs de la
|
notre liste d'étudiants dans la section XX-APO_VALEURS-XX. Les champs de la
|
||||||
section XX-APO_VALEURS-XX sont décrits par les lignes successives de la
|
section XX-APO_VALEURS-XX sont décrits par les lignes successives de la
|
||||||
@ -290,7 +290,7 @@ class ApoCSVReadWrite:
|
|||||||
fields = line.split(APO_SEP)
|
fields = line.split(APO_SEP)
|
||||||
if len(fields) < 4:
|
if len(fields) < 4:
|
||||||
raise ScoFormatError(
|
raise ScoFormatError(
|
||||||
"""Ligne étudiant invalide
|
"""Ligne étudiant invalide
|
||||||
(doit commencer par 'NIP NOM PRENOM dd/mm/yyyy')""",
|
(doit commencer par 'NIP NOM PRENOM dd/mm/yyyy')""",
|
||||||
filename=self.get_filename(),
|
filename=self.get_filename(),
|
||||||
)
|
)
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
#
|
#
|
||||||
# Gestion scolarite IUT
|
# Gestion scolarite IUT
|
||||||
#
|
#
|
||||||
# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved.
|
# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved.
|
||||||
#
|
#
|
||||||
# This program is free software; you can redistribute it and/or modify
|
# This program is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
#
|
#
|
||||||
# Gestion scolarite IUT
|
# Gestion scolarite IUT
|
||||||
#
|
#
|
||||||
# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved.
|
# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved.
|
||||||
#
|
#
|
||||||
# This program is free software; you can redistribute it and/or modify
|
# This program is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
@ -147,10 +147,10 @@ def etud_upload_file_form(etudid):
|
|||||||
html_sco_header.sco_header(
|
html_sco_header.sco_header(
|
||||||
page_title="Chargement d'un document associé à %(nomprenom)s" % etud,
|
page_title="Chargement d'un document associé à %(nomprenom)s" % etud,
|
||||||
),
|
),
|
||||||
"""<h2>Chargement d'un document associé à %(nomprenom)s</h2>
|
"""<h2>Chargement d'un document associé à %(nomprenom)s</h2>
|
||||||
"""
|
"""
|
||||||
% etud,
|
% etud,
|
||||||
"""<p>Le fichier ne doit pas dépasser %sMo.</p>
|
"""<p>Le fichier ne doit pas dépasser %sMo.</p>
|
||||||
"""
|
"""
|
||||||
% (scu.CONFIG.ETUD_MAX_FILE_SIZE // (1024 * 1024)),
|
% (scu.CONFIG.ETUD_MAX_FILE_SIZE // (1024 * 1024)),
|
||||||
]
|
]
|
||||||
@ -287,8 +287,8 @@ def etudarchive_import_files_form(group_id):
|
|||||||
page_title="Import de fichiers associés aux étudiants"
|
page_title="Import de fichiers associés aux étudiants"
|
||||||
),
|
),
|
||||||
"""<h2 class="formsemestre">Téléchargement de fichier associés aux étudiants</h2>
|
"""<h2 class="formsemestre">Téléchargement de fichier associés aux étudiants</h2>
|
||||||
<p>Les fichiers associés (dossiers d'admission, certificats, ...), de
|
<p>Les fichiers associés (dossiers d'admission, certificats, ...), de
|
||||||
types quelconques (pdf, doc, images) sont accessibles aux utilisateurs via
|
types quelconques (pdf, doc, images) sont accessibles aux utilisateurs via
|
||||||
la fiche individuelle de l'étudiant.
|
la fiche individuelle de l'étudiant.
|
||||||
</p>
|
</p>
|
||||||
<p class="warning">Ne pas confondre avec les photos des étudiants, qui se
|
<p class="warning">Ne pas confondre avec les photos des étudiants, qui se
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
#
|
#
|
||||||
# Gestion scolarite IUT
|
# Gestion scolarite IUT
|
||||||
#
|
#
|
||||||
# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved.
|
# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved.
|
||||||
#
|
#
|
||||||
# This program is free software; you can redistribute it and/or modify
|
# This program is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
#
|
#
|
||||||
# Gestion scolarite IUT
|
# Gestion scolarite IUT
|
||||||
#
|
#
|
||||||
# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved.
|
# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved.
|
||||||
#
|
#
|
||||||
# This program is free software; you can redistribute it and/or modify
|
# This program is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
#
|
#
|
||||||
# Gestion scolarite IUT
|
# Gestion scolarite IUT
|
||||||
#
|
#
|
||||||
# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved.
|
# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved.
|
||||||
#
|
#
|
||||||
# This program is free software; you can redistribute it and/or modify
|
# This program is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
#
|
#
|
||||||
# Gestion scolarite IUT
|
# Gestion scolarite IUT
|
||||||
#
|
#
|
||||||
# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved.
|
# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved.
|
||||||
#
|
#
|
||||||
# This program is free software; you can redistribute it and/or modify
|
# This program is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
#
|
#
|
||||||
# Gestion scolarite IUT
|
# Gestion scolarite IUT
|
||||||
#
|
#
|
||||||
# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved.
|
# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved.
|
||||||
#
|
#
|
||||||
# This program is free software; you can redistribute it and/or modify
|
# This program is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
#
|
#
|
||||||
# Gestion scolarite IUT
|
# Gestion scolarite IUT
|
||||||
#
|
#
|
||||||
# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved.
|
# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved.
|
||||||
#
|
#
|
||||||
# This program is free software; you can redistribute it and/or modify
|
# This program is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
#
|
#
|
||||||
# Gestion scolarite IUT
|
# Gestion scolarite IUT
|
||||||
#
|
#
|
||||||
# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved.
|
# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved.
|
||||||
#
|
#
|
||||||
# This program is free software; you can redistribute it and/or modify
|
# This program is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
#
|
#
|
||||||
# Gestion scolarite IUT
|
# Gestion scolarite IUT
|
||||||
#
|
#
|
||||||
# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved.
|
# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved.
|
||||||
#
|
#
|
||||||
# This program is free software; you can redistribute it and/or modify
|
# This program is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
#
|
#
|
||||||
# Gestion scolarite IUT
|
# Gestion scolarite IUT
|
||||||
#
|
#
|
||||||
# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved.
|
# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved.
|
||||||
#
|
#
|
||||||
# This program is free software; you can redistribute it and/or modify
|
# This program is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
@ -38,9 +38,9 @@ envois par mail).
|
|||||||
La signature est controlée par:
|
La signature est controlée par:
|
||||||
- la présence d'un fichier .../ScoDoc/static/signatures/<DeptId>/<formsemestre_id>/bul_sig_{left|right}
|
- la présence d'un fichier .../ScoDoc/static/signatures/<DeptId>/<formsemestre_id>/bul_sig_{left|right}
|
||||||
ou, à défaut, .../ScoDoc/signatures/<DeptId>/bul_sig_{left|right}
|
ou, à défaut, .../ScoDoc/signatures/<DeptId>/bul_sig_{left|right}
|
||||||
- les préférences booléennes bul_sig_left et bul_sig_right
|
- les préférences booléennes bul_sig_left et bul_sig_right
|
||||||
(ne pas confondre avec bul_show_sig_left...)
|
(ne pas confondre avec bul_show_sig_left...)
|
||||||
- les préférences bul_sig_left_image_height et bul_sig_right_image_height
|
- les préférences bul_sig_left_image_height et bul_sig_right_image_height
|
||||||
(hauteur de l'image, float, en mm)
|
(hauteur de l'image, float, en mm)
|
||||||
|
|
||||||
API:
|
API:
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
#
|
#
|
||||||
# Gestion scolarite IUT
|
# Gestion scolarite IUT
|
||||||
#
|
#
|
||||||
# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved.
|
# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved.
|
||||||
#
|
#
|
||||||
# This program is free software; you can redistribute it and/or modify
|
# This program is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
#
|
#
|
||||||
# Gestion scolarite IUT
|
# Gestion scolarite IUT
|
||||||
#
|
#
|
||||||
# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved.
|
# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved.
|
||||||
#
|
#
|
||||||
# This program is free software; you can redistribute it and/or modify
|
# This program is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
@ -25,7 +25,7 @@
|
|||||||
#
|
#
|
||||||
##############################################################################
|
##############################################################################
|
||||||
|
|
||||||
"""Generation bulletins de notes
|
"""Generation bulletins de notes
|
||||||
|
|
||||||
Format table "UCAC"
|
Format table "UCAC"
|
||||||
On redéfini la table centrale du bulletin de note et hérite de tout le reste du bulletin standard.
|
On redéfini la table centrale du bulletin de note et hérite de tout le reste du bulletin standard.
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
#
|
#
|
||||||
# Gestion scolarite IUT
|
# Gestion scolarite IUT
|
||||||
#
|
#
|
||||||
# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved.
|
# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved.
|
||||||
#
|
#
|
||||||
# This program is free software; you can redistribute it and/or modify
|
# This program is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
#
|
#
|
||||||
# Gestion scolarite IUT
|
# Gestion scolarite IUT
|
||||||
#
|
#
|
||||||
# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved.
|
# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved.
|
||||||
#
|
#
|
||||||
# This program is free software; you can redistribute it and/or modify
|
# This program is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
#
|
#
|
||||||
# Gestion scolarite IUT
|
# Gestion scolarite IUT
|
||||||
#
|
#
|
||||||
# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved.
|
# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved.
|
||||||
#
|
#
|
||||||
# This program is free software; you can redistribute it and/or modify
|
# This program is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
#
|
#
|
||||||
# Gestion scolarite IUT
|
# Gestion scolarite IUT
|
||||||
#
|
#
|
||||||
# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved.
|
# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved.
|
||||||
#
|
#
|
||||||
# This program is free software; you can redistribute it and/or modify
|
# This program is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
#
|
#
|
||||||
# ScoDoc
|
# ScoDoc
|
||||||
#
|
#
|
||||||
# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved.
|
# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved.
|
||||||
#
|
#
|
||||||
# This program is free software; you can redistribute it and/or modify
|
# This program is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user