Adapte module assiduité pour SQLAlchemy 2. Tests unitaires sans erreurs.

This commit is contained in:
Emmanuel Viennet 2023-07-11 14:45:48 +02:00
parent f1d085ad50
commit 5da59a6cbe
4 changed files with 21 additions and 11 deletions

View File

@ -156,7 +156,6 @@ class Assiduite(db.Model):
) -> object or int: ) -> object or int:
"""Créer une nouvelle assiduité pour l'étudiant""" """Créer une nouvelle assiduité pour l'étudiant"""
# Vérification de non duplication des périodes # Vérification de non duplication des périodes
nouv_assiduite = Assiduite( nouv_assiduite = Assiduite(
date_debut=date_debut, date_debut=date_debut,
date_fin=date_fin, date_fin=date_fin,

View File

@ -4,6 +4,7 @@ Ecrit par Matthias Hartmann.
from datetime import date, datetime, time, timedelta from datetime import date, datetime, time, timedelta
from pytz import UTC from pytz import UTC
from app import log
import app.scodoc.sco_utils as scu import app.scodoc.sco_utils as scu
from app.models.assiduites import Assiduite, Justificatif from app.models.assiduites import Assiduite, Justificatif
from app.models.etudiants import Identite from app.models.etudiants import Identite

View File

@ -268,16 +268,19 @@ def ajouter_justificatifs(etud):
}, },
] ]
justificatifs = [ justificatifs = []
Justificatif.create_justificatif( for just in obj_justificatifs:
just_obj = Justificatif.create_justificatif(
etud, etud,
scu.is_iso_formated(just["deb"], True), scu.is_iso_formated(just["deb"], True),
scu.is_iso_formated(just["fin"], True), scu.is_iso_formated(just["fin"], True),
just["etat"], just["etat"],
just["raison"], just["raison"],
) )
for just in obj_justificatifs db.session.add(just_obj)
] db.session.commit()
justificatifs.append(just_obj)
# Vérification de la création des justificatifs # Vérification de la création des justificatifs
assert [ assert [
justi for justi in justificatifs if not isinstance(justi, Justificatif) justi for justi in justificatifs if not isinstance(justi, Justificatif)
@ -536,8 +539,9 @@ def ajouter_assiduites(
}, },
] ]
assiduites = [ assiduites = []
Assiduite.create_assiduite( for ass in obj_assiduites:
ass_obj = Assiduite.create_assiduite(
etud, etud,
scu.is_iso_formated(ass["deb"], True), scu.is_iso_formated(ass["deb"], True),
scu.is_iso_formated(ass["fin"], True), scu.is_iso_formated(ass["fin"], True),
@ -545,8 +549,9 @@ def ajouter_assiduites(
ass["moduleimpl"], ass["moduleimpl"],
ass["desc"], ass["desc"],
) )
for ass in obj_assiduites assiduites.append(ass_obj)
] db.session.add(ass_obj)
db.session.commit()
# Vérification de la création des assiduités # Vérification de la création des assiduités
assert [ assert [

View File

@ -3,6 +3,7 @@ Commande permettant de supprimer les assiduités et les justificatifs
Ecrit par Matthias HARTMANN Ecrit par Matthias HARTMANN
""" """
import sqlalchemy as sa
from app import db from app import db
from app.models import Justificatif, Assiduite, Departement from app.models import Justificatif, Assiduite, Departement
@ -42,9 +43,13 @@ def downgrade_module(
if dept is None: if dept is None:
if assiduites: if assiduites:
db.session.execute("ALTER SEQUENCE assiduites_id_seq RESTART WITH 1") db.session.execute(
sa.text("ALTER SEQUENCE assiduites_id_seq RESTART WITH 1")
)
if justificatifs: if justificatifs:
db.session.execute("ALTER SEQUENCE justificatifs_id_seq RESTART WITH 1") db.session.execute(
sa.text("ALTER SEQUENCE justificatifs_id_seq RESTART WITH 1")
)
db.session.commit() db.session.commit()