Assiduites: 3 bugs

This commit is contained in:
Emmanuel Viennet 2024-01-22 17:01:01 +01:00
parent 9989f419cb
commit 2a239ab92f
3 changed files with 12 additions and 8 deletions

View File

@ -2,8 +2,10 @@
"""Gestion de l'assiduité (assiduités + justificatifs) """Gestion de l'assiduité (assiduités + justificatifs)
""" """
from datetime import datetime from datetime import datetime
from flask_login import current_user from flask_login import current_user
from flask_sqlalchemy.query import Query from flask_sqlalchemy.query import Query
from psycopg2.errors import InvalidTextRepresentation # c'est ok
from sqlalchemy.exc import DataError from sqlalchemy.exc import DataError
from app import db, log, g, set_sco_dept from app import db, log, g, set_sco_dept
@ -285,11 +287,11 @@ class Assiduite(ScoDocModel):
else: else:
raise ScoValueError("L'étudiant n'est pas inscrit au module") raise ScoValueError("L'étudiant n'est pas inscrit au module")
except DataError: except (DataError, InvalidTextRepresentation) as exc:
# On arrive ici si moduleimpl_id == "autre" ou moduleimpl_id == <str> non parsé # On arrive ici si moduleimpl_id == "autre" ou moduleimpl_id == <str> non parsé
if moduleimpl_id != "autre": if moduleimpl_id != "autre":
raise ScoValueError("Module non reconnu") raise ScoValueError("Module non reconnu") from exc
# Configuration de external_data pour Module Autre # Configuration de external_data pour Module Autre
# Si self.external_data None alors on créé un dictionnaire {"module": "autre"} # Si self.external_data None alors on créé un dictionnaire {"module": "autre"}

View File

@ -47,7 +47,8 @@ div.submit > input {
{% if justif %} {% if justif %}
<div class="info-saisie"> <div class="info-saisie">
Saisie par {{justif.user.get_prenomnom()}} le {{justif.entry_date.strftime("%d/%m/%Y à %H:%M")}} Saisie par {{justif.user.get_prenomnom() if justif.user else "inconnu"}}
le {{justif.entry_date.strftime("%d/%m/%Y à %H:%M") if justif.entry_date else "?"}}
</div> </div>
{% endif %} {% endif %}

View File

@ -1247,7 +1247,8 @@ def etat_abs_date():
# On récupère l'état de la première assiduité sur la période # On récupère l'état de la première assiduité sur la période
assi = assiduites.filter_by(etudid=etud.id).first() assi = assiduites.filter_by(etudid=etud.id).first()
etat = "" etat = ""
if assi is not None and assi.etat != scu.EtatAssiduite.PRESENT: if assi is not None:
if assi.etat != scu.EtatAssiduite.PRESENT:
etat = scu.EtatAssiduite.inverse().get(assi.etat).name etat = scu.EtatAssiduite.inverse().get(assi.etat).name
row = table.row_class(table, etud, etat, assi.est_just) row = table.row_class(table, etud, etat, assi.est_just)
row.add_etud_cols() row.add_etud_cols()