forked from ScoDoc/ScoDoc
Update opolka/ScoDoc from ScoDoc/ScoDoc #2
@ -74,9 +74,11 @@ class Identite(db.Model):
|
|||||||
)
|
)
|
||||||
|
|
||||||
# Relations avec les assiduites et les justificatifs
|
# Relations avec les assiduites et les justificatifs
|
||||||
assiduites = db.relationship("Assiduite", back_populates="etudiant", lazy="dynamic")
|
assiduites = db.relationship(
|
||||||
|
"Assiduite", back_populates="etudiant", lazy="dynamic", cascade="all, delete"
|
||||||
|
)
|
||||||
justificatifs = db.relationship(
|
justificatifs = db.relationship(
|
||||||
"Justificatif", back_populates="etudiant", lazy="dynamic"
|
"Justificatif", back_populates="etudiant", lazy="dynamic", cascade="all, delete"
|
||||||
)
|
)
|
||||||
|
|
||||||
def __repr__(self):
|
def __repr__(self):
|
||||||
|
@ -23,15 +23,18 @@ import app
|
|||||||
from app import db
|
from app import db
|
||||||
from app.comp import res_sem
|
from app.comp import res_sem
|
||||||
from app.comp.res_compat import NotesTableCompat
|
from app.comp.res_compat import NotesTableCompat
|
||||||
from app.models import FormSemestre
|
from app.models import FormSemestre, Assiduite, Justificatif
|
||||||
from app.scodoc import sco_formsemestre
|
from app.scodoc import sco_formsemestre
|
||||||
from app.scodoc import sco_bulletins
|
from app.scodoc import sco_bulletins
|
||||||
from app.scodoc import codes_cursus
|
from app.scodoc import codes_cursus
|
||||||
|
from app.scodoc import sco_assiduites as scass
|
||||||
from app.scodoc import sco_evaluations
|
from app.scodoc import sco_evaluations
|
||||||
from app.scodoc import sco_evaluation_db
|
from app.scodoc import sco_evaluation_db
|
||||||
from app.scodoc import sco_formsemestre_validation
|
from app.scodoc import sco_formsemestre_validation
|
||||||
from app.scodoc import sco_cursus_dut
|
from app.scodoc import sco_cursus_dut
|
||||||
from app.scodoc import sco_saisie_notes
|
from app.scodoc import sco_saisie_notes
|
||||||
|
from app.scodoc.sco_utils import EtatAssiduite, EtatJustificatif, localize_datetime
|
||||||
|
from app.models.assiduites import compute_assiduites_justified
|
||||||
|
|
||||||
DEPT = TestConfig.DEPT_TEST
|
DEPT = TestConfig.DEPT_TEST
|
||||||
|
|
||||||
@ -186,21 +189,10 @@ def run_sco_basic(verbose=False) -> FormSemestre:
|
|||||||
# -----------------------
|
# -----------------------
|
||||||
etudid = etuds[0]["etudid"]
|
etudid = etuds[0]["etudid"]
|
||||||
|
|
||||||
# XXX TODO-ASSIDUITE
|
_signal_absences_justificatifs(etudid)
|
||||||
# _ = sco_abs_views.doSignaleAbsence(
|
nbabs, nbabsjust = scass.get_assiduites_count(etudid, sem)
|
||||||
# "15/01/2020", "18/01/2020", demijournee=2, etudid=etudid
|
assert nbabs == 6, f"incorrect nbabs ({nbabs})"
|
||||||
# )
|
assert nbabsjust == 2, f"incorrect nbabsjust ({nbabsjust})"
|
||||||
|
|
||||||
# _ = sco_abs_views.doJustifAbsence(
|
|
||||||
# "17/01/2020",
|
|
||||||
# "18/01/2020",
|
|
||||||
# demijournee=2,
|
|
||||||
# etudid=etudid,
|
|
||||||
# )
|
|
||||||
|
|
||||||
# nbabs, nbabsjust = sco_abs.get_abs_count(etudid, sem)
|
|
||||||
# assert nbabs == 6, f"incorrect nbabs ({nbabs})"
|
|
||||||
# assert nbabsjust == 2, f"incorrect nbabsjust ({nbabsjust})"
|
|
||||||
|
|
||||||
# --- Permission saisie notes et décisions de jury, avec ou sans démission ou défaillance
|
# --- Permission saisie notes et décisions de jury, avec ou sans démission ou défaillance
|
||||||
# on n'a pas encore saisi de décisions
|
# on n'a pas encore saisi de décisions
|
||||||
@ -251,3 +243,30 @@ def run_sco_basic(verbose=False) -> FormSemestre:
|
|||||||
)
|
)
|
||||||
assert q.count() == 0
|
assert q.count() == 0
|
||||||
return formsemestre
|
return formsemestre
|
||||||
|
|
||||||
|
|
||||||
|
def _signal_absences_justificatifs(etudid: int):
|
||||||
|
etud: Identite = Identite.query.get(etudid)
|
||||||
|
db.session.commit()
|
||||||
|
for i in range(15, 18):
|
||||||
|
db.session.add(
|
||||||
|
Assiduite.create_assiduite(
|
||||||
|
etud=etud,
|
||||||
|
date_debut=localize_datetime(datetime.datetime(2020, 1, i, 8, 0)),
|
||||||
|
date_fin=localize_datetime(datetime.datetime(2020, 1, i, 18, 0)),
|
||||||
|
etat=EtatAssiduite.ABSENT,
|
||||||
|
)
|
||||||
|
)
|
||||||
|
db.session.commit()
|
||||||
|
justif: Justificatif = Justificatif.create_justificatif(
|
||||||
|
etud=etud,
|
||||||
|
date_debut=localize_datetime(datetime.datetime(2020, 1, 17, 8, 0)),
|
||||||
|
date_fin=localize_datetime(datetime.datetime(2020, 1, 17, 18, 0)),
|
||||||
|
etat=EtatJustificatif.VALIDE,
|
||||||
|
)
|
||||||
|
db.session.add(justif)
|
||||||
|
compute_assiduites_justified(
|
||||||
|
etud.etudid,
|
||||||
|
[justif],
|
||||||
|
)
|
||||||
|
db.session.commit()
|
||||||
|
Loading…
Reference in New Issue
Block a user