forked from ScoDoc/ScoDoc
Update opolka/ScoDoc from ScoDoc/ScoDoc #2
@ -52,7 +52,7 @@ def get_model_api_object(model_cls: db.Model, model_id: int, join_cls: db.Model
|
|||||||
"""
|
"""
|
||||||
Retourne une réponse contenant la représentation api de l'objet "Model[model_id]"
|
Retourne une réponse contenant la représentation api de l'objet "Model[model_id]"
|
||||||
|
|
||||||
Filtrage du département en fonction d'une classe de jointure (eg: Identite, Formsemstre) -> join_cls
|
Filtrage du département en fonction d'une classe de jointure (eg: Identite, Formsemestre) -> join_cls
|
||||||
|
|
||||||
exemple d'utilisation : fonction "justificatif()" -> app/api/justificatifs.py
|
exemple d'utilisation : fonction "justificatif()" -> app/api/justificatifs.py
|
||||||
"""
|
"""
|
||||||
|
@ -49,6 +49,11 @@ def decisions_jury(formsemestre_id: int):
|
|||||||
"""Décisions du jury des étudiants du formsemestre."""
|
"""Décisions du jury des étudiants du formsemestre."""
|
||||||
# APC, pair:
|
# APC, pair:
|
||||||
formsemestre: FormSemestre = db.session.get(FormSemestre, formsemestre_id)
|
formsemestre: FormSemestre = db.session.get(FormSemestre, formsemestre_id)
|
||||||
|
if formsemestre is None:
|
||||||
|
return json_error(
|
||||||
|
404,
|
||||||
|
message="formsemestre inconnu",
|
||||||
|
)
|
||||||
if formsemestre.formation.is_apc():
|
if formsemestre.formation.is_apc():
|
||||||
app.set_sco_dept(formsemestre.departement.acronym)
|
app.set_sco_dept(formsemestre.departement.acronym)
|
||||||
rows = jury_but_results.get_jury_but_results(formsemestre)
|
rows = jury_but_results.get_jury_but_results(formsemestre)
|
||||||
|
@ -102,7 +102,7 @@ class ScoPDFFormatError(ScoValueError):
|
|||||||
super().__init__(
|
super().__init__(
|
||||||
f"""Erreur dans un format pdf:
|
f"""Erreur dans un format pdf:
|
||||||
<p>{msg}</p>
|
<p>{msg}</p>
|
||||||
<p>Vérifiez les paramètres (polices de caractères, balisage)
|
<p>Vérifiez les paramètres (polices de caractères, balisage)
|
||||||
dans les paramètres ou préférences.
|
dans les paramètres ou préférences.
|
||||||
</p>
|
</p>
|
||||||
""",
|
""",
|
||||||
@ -146,8 +146,8 @@ class ScoNonEmptyFormationObject(ScoValueError):
|
|||||||
|
|
||||||
def __init__(self, type_objet="objet'", msg="", dest_url=None):
|
def __init__(self, type_objet="objet'", msg="", dest_url=None):
|
||||||
msg = f"""<h3>{type_objet} "{msg}" utilisé(e) dans des semestres: suppression impossible.</h3>
|
msg = f"""<h3>{type_objet} "{msg}" utilisé(e) dans des semestres: suppression impossible.</h3>
|
||||||
<p class="help">Il faut d'abord supprimer le semestre (ou en retirer ce {type_objet}).
|
<p class="help">Il faut d'abord supprimer le semestre (ou en retirer ce {type_objet}).
|
||||||
Mais il est peut-être préférable de laisser ce programme intact et d'en créer une
|
Mais il est peut-être préférable de laisser ce programme intact et d'en créer une
|
||||||
nouvelle version pour la modifier sans affecter les semestres déjà en place.
|
nouvelle version pour la modifier sans affecter les semestres déjà en place.
|
||||||
</p>
|
</p>
|
||||||
"""
|
"""
|
||||||
@ -164,7 +164,7 @@ class ScoInvalidIdType(ScoValueError):
|
|||||||
|
|
||||||
msg = f"""<h3>Adresse de page invalide</h3>
|
msg = f"""<h3>Adresse de page invalide</h3>
|
||||||
<p class="help">
|
<p class="help">
|
||||||
Vous utilisez un lien invalide, qui correspond probablement
|
Vous utilisez un lien invalide, qui correspond probablement
|
||||||
à une ancienne version du logiciel. <br>
|
à une ancienne version du logiciel. <br>
|
||||||
Au besoin, mettre à jour vos marque-pages.
|
Au besoin, mettre à jour vos marque-pages.
|
||||||
</p>
|
</p>
|
||||||
|
@ -232,6 +232,11 @@ class EtatJustificatif(int, BiDirectionalEnum):
|
|||||||
EtatJustificatif.NON_VALIDE: "invalide",
|
EtatJustificatif.NON_VALIDE: "invalide",
|
||||||
}.get(self, "")
|
}.get(self, "")
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def is_valid_etat(cls, etat: int) -> bool:
|
||||||
|
"True if etat is valid"
|
||||||
|
return etat in cls._value2member_map_
|
||||||
|
|
||||||
|
|
||||||
def is_iso_formated(date: str, convert=False) -> bool or datetime.datetime or None:
|
def is_iso_formated(date: str, convert=False) -> bool or datetime.datetime or None:
|
||||||
"""
|
"""
|
||||||
|
@ -132,7 +132,7 @@ function sco_message(msg, className = "message_custom", duration = 0) {
|
|||||||
if (duration) {
|
if (duration) {
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
div.remove();
|
div.remove();
|
||||||
}, 8000);
|
}, duration);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
"""Test de base de ScoDoc
|
"""Test de base de ScoDoc
|
||||||
|
|
||||||
|
|
||||||
Utiliser comme:
|
Utiliser comme:
|
||||||
pytest tests/unit/test_sco_basic.py
|
pytest tests/unit/test_sco_basic.py
|
||||||
|
|
||||||
Au besoin, créer un base de test neuve:
|
Au besoin, créer un base de test neuve:
|
||||||
@ -259,9 +259,9 @@ def _signal_absences_justificatifs(etudid: int):
|
|||||||
)
|
)
|
||||||
db.session.commit()
|
db.session.commit()
|
||||||
justif: Justificatif = Justificatif.create_justificatif(
|
justif: Justificatif = Justificatif.create_justificatif(
|
||||||
etud=etud,
|
etud,
|
||||||
date_debut=localize_datetime(datetime.datetime(2020, 1, 17, 8, 0)),
|
localize_datetime(datetime.datetime(2020, 1, 17, 8, 0)),
|
||||||
date_fin=localize_datetime(datetime.datetime(2020, 1, 17, 18, 0)),
|
localize_datetime(datetime.datetime(2020, 1, 17, 18, 0)),
|
||||||
etat=EtatJustificatif.VALIDE,
|
etat=EtatJustificatif.VALIDE,
|
||||||
)
|
)
|
||||||
db.session.add(justif)
|
db.session.add(justif)
|
||||||
|
@ -414,9 +414,9 @@ def ajouter_assiduites_justificatifs(formsemestre: FormSemestre):
|
|||||||
raison = random.choice(["raison", None])
|
raison = random.choice(["raison", None])
|
||||||
|
|
||||||
code = Justificatif.create_justificatif(
|
code = Justificatif.create_justificatif(
|
||||||
etud=etud,
|
etud,
|
||||||
date_debut=deb_date,
|
deb_date,
|
||||||
date_fin=fin_date,
|
fin_date,
|
||||||
etat=etat,
|
etat=etat,
|
||||||
raison=raison,
|
raison=raison,
|
||||||
)
|
)
|
||||||
|
Loading…
Reference in New Issue
Block a user