forked from ScoDoc/ScoDoc
Update opolka/ScoDoc from ScoDoc/ScoDoc #2
@ -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"}
|
||||||
|
@ -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 %}
|
||||||
|
|
||||||
|
@ -1247,11 +1247,12 @@ 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:
|
||||||
etat = scu.EtatAssiduite.inverse().get(assi.etat).name
|
if assi.etat != scu.EtatAssiduite.PRESENT:
|
||||||
row = table.row_class(table, etud, etat, assi.est_just)
|
etat = scu.EtatAssiduite.inverse().get(assi.etat).name
|
||||||
row.add_etud_cols()
|
row = table.row_class(table, etud, etat, assi.est_just)
|
||||||
table.add_row(row)
|
row.add_etud_cols()
|
||||||
|
table.add_row(row)
|
||||||
|
|
||||||
if fmt.startswith("xls"):
|
if fmt.startswith("xls"):
|
||||||
return scu.send_file(
|
return scu.send_file(
|
||||||
|
Loading…
Reference in New Issue
Block a user