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)
"""
from datetime import datetime
from flask_login import current_user
from flask_sqlalchemy.query import Query
from psycopg2.errors import InvalidTextRepresentation # c'est ok
from sqlalchemy.exc import DataError
from app import db, log, g, set_sco_dept
@ -285,11 +287,11 @@ class Assiduite(ScoDocModel):
else:
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é
if moduleimpl_id != "autre":
raise ScoValueError("Module non reconnu")
raise ScoValueError("Module non reconnu") from exc
# Configuration de external_data pour 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 %}
<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>
{% endif %}

View File

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