Fix: Assiduité: saisie/éditiion date dépôt justif. Fix #852
This commit is contained in:
parent
5446ac0ed2
commit
eefbe70944
@ -102,7 +102,7 @@ class AjoutAssiOrJustForm(FlaskForm):
|
||||
)
|
||||
|
||||
entry_date = StringField(
|
||||
"Date de dépot ou saisie",
|
||||
"Date de dépôt ou saisie",
|
||||
validators=[validators.Length(max=10)],
|
||||
render_kw={
|
||||
"class": "datepicker",
|
||||
@ -110,6 +110,16 @@ class AjoutAssiOrJustForm(FlaskForm):
|
||||
"id": "entry_date",
|
||||
},
|
||||
)
|
||||
entry_time = StringField(
|
||||
"Heure dépôt",
|
||||
default="",
|
||||
validators=[validators.Length(max=5)],
|
||||
render_kw={
|
||||
"class": "timepicker",
|
||||
"size": 5,
|
||||
"id": "assi_heure_fin",
|
||||
},
|
||||
)
|
||||
submit = SubmitField("Enregistrer")
|
||||
cancel = SubmitField("Annuler", render_kw={"formnovalidate": True})
|
||||
|
||||
|
@ -418,7 +418,7 @@ class Justificatif(ScoDocModel):
|
||||
|
||||
entry_date = db.Column(db.DateTime(timezone=True), server_default=db.func.now())
|
||||
"date de création de l'élément: date de saisie"
|
||||
# pourrait devenir date de dépot au secrétariat, si différente
|
||||
# pourrait devenir date de dépôt au secrétariat, si différente
|
||||
|
||||
user_id = db.Column(
|
||||
db.Integer,
|
||||
|
@ -19,7 +19,7 @@ class Trace:
|
||||
"""gestionnaire de la trace des fichiers justificatifs
|
||||
|
||||
Role des fichiers traces :
|
||||
- Sauvegarder la date de dépot du fichier
|
||||
- Sauvegarder la date de dépôt du fichier
|
||||
- Sauvegarder la date de suppression du fichier (dans le cas de plusieurs fichiers pour un même justif)
|
||||
- Sauvegarder l'user_id de l'utilisateur ayant déposé le fichier (=> permet de montrer les fichiers qu'aux personnes qui l'on déposé / qui ont le rôle AssiJustifView)
|
||||
|
||||
@ -116,7 +116,7 @@ class JustificatifArchiver(BaseArchiver):
|
||||
|
||||
TOTALK:
|
||||
- oid -> etudid
|
||||
- archive_id -> date de création de l'archive (une archive par dépot de document)
|
||||
- archive_id -> date de création de l'archive (une archive par dépôt de document)
|
||||
|
||||
justificatif
|
||||
└── <dept_id>
|
||||
|
@ -100,7 +100,7 @@ div.submit > input {
|
||||
{{ form.description() }}
|
||||
{{ render_field_errors(form, 'description') }}
|
||||
</div>
|
||||
{# Date dépot #}
|
||||
{# Date dépôt #}
|
||||
{{ form.entry_date.label }} : {{ form.entry_date }}
|
||||
<span class="help">laisser vide pour date courante</span>
|
||||
{{ render_field_errors(form, 'entry_date') }}
|
||||
|
@ -123,9 +123,9 @@ div.submit > input {
|
||||
{{ render_field_errors(form, 'fichiers') }}
|
||||
</div>
|
||||
</div>
|
||||
{# Date dépot #}
|
||||
{{ form.entry_date.label }} : {{ form.entry_date }}
|
||||
<span class="help">laisser vide pour date courante</span>
|
||||
{# Date dépôt #}
|
||||
{{ form.entry_date.label }} : {{ form.entry_date }} à {{ form.entry_time }}
|
||||
<span class="help" style="margin-left: 12px;">laisser vide pour date courante</span>
|
||||
{{ render_field_errors(form, 'entry_date') }}
|
||||
|
||||
{# Submit #}
|
||||
|
@ -334,7 +334,7 @@ def _get_dates_from_assi_form(
|
||||
dt_fin = datetime.datetime.combine(date_fin or date_debut, heure_fin)
|
||||
if dt_fin <= dt_debut:
|
||||
form.set_error("dates début/fin incohérentes")
|
||||
# La date de dépot (si vide, la date actuelle)
|
||||
# La date de dépôt (si vide, la date actuelle)
|
||||
try:
|
||||
dt_entry_date = (
|
||||
datetime.datetime.strptime(form.entry_date.data, "%d/%m/%Y")
|
||||
@ -344,7 +344,16 @@ def _get_dates_from_assi_form(
|
||||
except ValueError:
|
||||
dt_entry_date = None
|
||||
form.set_error("format de date de dépôt invalide", form.entry_date)
|
||||
|
||||
# L'heure de dépôt
|
||||
try:
|
||||
entry_time = datetime.time.fromisoformat(
|
||||
form.entry_time.data or datetime.datetime.now().time().isoformat("seconds")
|
||||
)
|
||||
except ValueError:
|
||||
dt_entry_date = None
|
||||
form.set_error("format d'heure de dépôt invalide", form.entry_date)
|
||||
if dt_entry_date:
|
||||
dt_entry_date = datetime.datetime.combine(dt_entry_date, entry_time)
|
||||
# Ajoute time zone serveur
|
||||
dt_debut_tz_server = scu.TIME_ZONE.localize(dt_debut)
|
||||
dt_fin_tz_server = scu.TIME_ZONE.localize(dt_fin)
|
||||
@ -576,6 +585,9 @@ def edit_justificatif_etud(justif_id: int):
|
||||
form.entry_date.data = (
|
||||
justif.entry_date.strftime("%d/%m/%Y") if justif.entry_date else ""
|
||||
)
|
||||
form.entry_time.data = (
|
||||
justif.entry_date.strftime("%H:%M") if justif.entry_date else ""
|
||||
)
|
||||
form.etat.data = str(justif.etat)
|
||||
|
||||
redirect_url = url_for(
|
||||
|
Loading…
Reference in New Issue
Block a user