forked from ScoDoc/ScoDoc
Update opolka/ScoDoc from ScoDoc/ScoDoc #2
@ -28,6 +28,7 @@
|
||||
"""
|
||||
Génération de la "sidebar" (marge gauche des pages HTML)
|
||||
"""
|
||||
|
||||
from flask import render_template, url_for
|
||||
from flask import g, request
|
||||
from flask_login import current_user
|
||||
@ -193,7 +194,7 @@ def sidebar(etudid: int = None):
|
||||
formsemestre.date_debut.strftime(scu.DATE_FMT)
|
||||
} au {
|
||||
formsemestre.date_fin.strftime(scu.DATE_FMT)
|
||||
}">({
|
||||
}" data-tooltip>({
|
||||
sco_preferences.get_preference("assi_metrique", None)})
|
||||
<br>{nbabsjust:1g} J., {nbabsnj:1g} N.J.</span>"""
|
||||
)
|
||||
@ -227,12 +228,9 @@ def sidebar(etudid: int = None):
|
||||
<li><a href="{ url_for('assiduites.calendrier_assi_etud',
|
||||
scodoc_dept=g.scodoc_dept, etudid=etudid)
|
||||
}">Calendrier</a></li>
|
||||
<li><a href="{ url_for('assiduites.liste_assiduites_etud',
|
||||
scodoc_dept=g.scodoc_dept, etudid=etudid)
|
||||
}">Liste</a></li>
|
||||
<li><a href="{ url_for('assiduites.bilan_etud',
|
||||
scodoc_dept=g.scodoc_dept, etudid=etudid)
|
||||
}">Bilan</a></li>
|
||||
}" title="Les pages bilan et liste ont été fusionnées">Liste/Bilan</a></li>
|
||||
</ul>
|
||||
"""
|
||||
)
|
||||
|
@ -86,9 +86,6 @@ Bilan assiduité de {{sco.etud.nomprenom}}
|
||||
|
||||
<div class="scobox">
|
||||
<section class="nonvalide">
|
||||
<div class="help">Le tableau n'affiche que les assiduités non justifiées
|
||||
et les justificatifs soumis / modifiés
|
||||
</div>
|
||||
{{tableau | safe }}
|
||||
</section>
|
||||
</div>
|
||||
@ -99,6 +96,9 @@ Bilan assiduité de {{sco.etud.nomprenom}}
|
||||
département)</p>
|
||||
<p>Les statistiques sont calculées entre les deux dates sélectionnées. Après modification des dates,
|
||||
appuyer sur le bouton "Actualiser"</p>
|
||||
|
||||
{% include "assiduites/explication_etats_justifs.j2" %}
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
@ -1,27 +0,0 @@
|
||||
{% extends "sco_page.j2" %}
|
||||
|
||||
{% block title %}
|
||||
Assiduité de {{etud.nomprenom}}
|
||||
{% endblock title %}
|
||||
|
||||
{% block styles %}
|
||||
{{ super() }}
|
||||
<link rel="stylesheet" href="{{scu.STATIC_DIR}}/css/assiduites.css">
|
||||
{% endblock styles %}
|
||||
|
||||
{% block scripts %}
|
||||
{{ super() }}
|
||||
<script src="{{scu.STATIC_DIR}}/js/date_utils.js"></script>
|
||||
{% endblock %}
|
||||
|
||||
|
||||
{% block app_content %}
|
||||
<div class="pageContent">
|
||||
|
||||
<h2>Liste de l'assiduité et des justificatifs de {{sco.etud.html_link_fiche()|safe}}</h2>
|
||||
{{tableau | safe }}
|
||||
</div>
|
||||
|
||||
{% include "assiduites/explication_etats_justifs.j2" %}
|
||||
|
||||
{% endblock app_content %}
|
@ -57,7 +57,7 @@
|
||||
<b>Absences</b>
|
||||
{% if sco.etud_cur_sem %}
|
||||
<span title="absences du {{ sco.etud_cur_sem['date_debut'].strftime('%d/%m/%Y') }}
|
||||
au {{ sco.etud_cur_sem['date_fin'].strftime('%d/%m/%Y') }}">({{sco.prefs["assi_metrique"]}})
|
||||
au {{ sco.etud_cur_sem['date_fin'].strftime('%d/%m/%Y') }}" data-tooltip>({{sco.prefs["assi_metrique"]}})
|
||||
<br />{{'%1g'|format(sco.nb_abs_just)}} J., {{'%1g'|format(sco.nb_abs_nj)}} N.J.</span>
|
||||
{% endif %}
|
||||
<ul>
|
||||
@ -73,10 +73,8 @@
|
||||
{% endif %}
|
||||
<li><a href="{{ url_for('assiduites.calendrier_assi_etud', scodoc_dept=g.scodoc_dept,
|
||||
etudid=sco.etud.id) }}">Calendrier</a></li>
|
||||
<li><a href="{{ url_for('assiduites.liste_assiduites_etud', scodoc_dept=g.scodoc_dept,
|
||||
etudid=sco.etud.id) }}">Liste</a></li>
|
||||
<li><a href="{{ url_for('assiduites.bilan_etud', scodoc_dept=g.scodoc_dept,
|
||||
etudid=sco.etud.id) }}">Bilan</a></li>
|
||||
etudid=sco.etud.id) }}" title="Les pages bilan et liste ont été fusionnées">Liste/Bilan</a></li>
|
||||
</ul>
|
||||
{% endif %}
|
||||
</div> {# /etud-insidebar #}
|
||||
|
@ -511,51 +511,6 @@ def _record_assiduite_etud(
|
||||
return False
|
||||
|
||||
|
||||
@bp.route("/liste_assiduites_etud")
|
||||
@scodoc
|
||||
@permission_required(Permission.ScoView)
|
||||
def liste_assiduites_etud():
|
||||
"""
|
||||
liste_assiduites_etud Affichage de toutes les assiduites et justificatifs d'un etudiant
|
||||
Args:
|
||||
etudid (int): l'identifiant de l'étudiant
|
||||
|
||||
Returns:
|
||||
str: l'html généré
|
||||
"""
|
||||
|
||||
# Récupération de l'étudiant concerné
|
||||
etudid = request.args.get("etudid", -1)
|
||||
etud: Identite = Identite.query.get_or_404(etudid)
|
||||
if etud.dept_id != g.scodoc_dept_id:
|
||||
abort(404, "étudiant inexistant dans ce département")
|
||||
|
||||
# Gestion d'une assiduité unique (redirigé depuis le calendrier) TODO-Assiduites
|
||||
assiduite_id: int = request.args.get("assiduite_id", -1)
|
||||
|
||||
# Préparation de la page
|
||||
tableau = _prepare_tableau(
|
||||
liste_assi.AssiJustifData.from_etudiants(
|
||||
etud,
|
||||
),
|
||||
filename=f"assiduites-justificatifs-{etud.id}",
|
||||
afficher_etu=False,
|
||||
filtre=liste_assi.AssiFiltre(type_obj=0),
|
||||
options=liste_assi.AssiDisplayOptions(show_module=True),
|
||||
cache_key=f"tableau-etud-{etud.id}",
|
||||
)
|
||||
if not tableau[0]:
|
||||
return tableau[1]
|
||||
# Page HTML:
|
||||
return render_template(
|
||||
"assiduites/pages/liste_assiduites.j2",
|
||||
assi_id=assiduite_id,
|
||||
etud=etud,
|
||||
tableau=tableau[1],
|
||||
sco=ScoData(etud),
|
||||
)
|
||||
|
||||
|
||||
@bp.route("/bilan_etud")
|
||||
@scodoc
|
||||
@permission_required(Permission.ScoView)
|
||||
@ -583,28 +538,19 @@ def bilan_etud():
|
||||
sco_preferences.get_preference("assi_metrique", dept_id=g.scodoc_dept_id),
|
||||
)
|
||||
|
||||
# Récupération des assiduités et justificatifs de l'étudiant
|
||||
data = liste_assi.AssiJustifData(
|
||||
etud.assiduites.filter(
|
||||
Assiduite.etat != scu.EtatAssiduite.PRESENT, Assiduite.est_just == False
|
||||
# Préparation de la page
|
||||
tableau = _prepare_tableau(
|
||||
liste_assi.AssiJustifData.from_etudiants(
|
||||
etud,
|
||||
),
|
||||
etud.justificatifs.filter(
|
||||
Justificatif.etat.in_(
|
||||
[scu.EtatJustificatif.ATTENTE, scu.EtatJustificatif.MODIFIE]
|
||||
)
|
||||
),
|
||||
)
|
||||
|
||||
table = _prepare_tableau(
|
||||
data,
|
||||
filename=f"assiduites-justificatifs-{etud.id}",
|
||||
afficher_etu=False,
|
||||
filename=f"Bilan assiduité {etud.nomprenom}",
|
||||
titre="Bilan de l'assiduité de l'étudiant",
|
||||
cache_key=f"tableau-etud-{etud.id}-bilan",
|
||||
filtre=liste_assi.AssiFiltre(type_obj=0),
|
||||
options=liste_assi.AssiDisplayOptions(show_module=True),
|
||||
cache_key=f"tableau-etud-{etud.id}",
|
||||
)
|
||||
|
||||
if not table[0]:
|
||||
return table[1]
|
||||
if not tableau[0]:
|
||||
return tableau[1]
|
||||
|
||||
# Génération de la page HTML
|
||||
return render_template(
|
||||
@ -614,7 +560,7 @@ def bilan_etud():
|
||||
date_debut=date_debut,
|
||||
date_fin=date_fin,
|
||||
sco=ScoData(etud),
|
||||
tableau=table[1],
|
||||
tableau=tableau[1],
|
||||
)
|
||||
|
||||
|
||||
@ -654,7 +600,7 @@ def edit_justificatif_etud(justif_id: int):
|
||||
back_url = request.args.get("back_url", None)
|
||||
|
||||
redirect_url = back_url or url_for(
|
||||
"assiduites.liste_assiduites_etud",
|
||||
"assiduites.bilan_etud",
|
||||
scodoc_dept=g.scodoc_dept,
|
||||
etudid=justif.etudiant.id,
|
||||
)
|
||||
|
Loading…
Reference in New Issue
Block a user