forked from ScoDoc/ScoDoc
Assiduite: fix JS bug + misc code review
This commit is contained in:
parent
97ec0524c4
commit
f7d16900b1
@ -646,8 +646,10 @@ function updateDate() {
|
||||
);
|
||||
openAlertModal("Attention", div, "", "#eec660");
|
||||
|
||||
$(dateInput).datepicker("setDate", date_fra);
|
||||
/* BUG TODO MATHIAS
|
||||
$(dateInput).datepicker("setDate", date_fra); // XXX ??? non définie
|
||||
dateInput.value = date_fra;
|
||||
*/
|
||||
date = lastWorkDay;
|
||||
|
||||
dateStr = formatDate(lastWorkDay, {
|
||||
|
@ -1,4 +1,9 @@
|
||||
<h2>Signalement différé de l'assiduité {{gr |safe}}</h2>
|
||||
|
||||
<h3>{{sem | safe }}</h3>
|
||||
|
||||
{{diff | safe}}
|
||||
|
||||
<div class="help">
|
||||
<h3>Explication de la saisie différée</h3>
|
||||
<p>Si la colonne n'est pas valide elle sera affichée en rouge, passez le curseur sur la colonne pour afficher
|
||||
@ -13,9 +18,6 @@
|
||||
<p>Vous pouvez supprimer une colonne en appuyant sur la croix qui se situe dans le coin haut droit de la colonne.
|
||||
</p>
|
||||
</div>
|
||||
<h3>{{sem | safe }}</h3>
|
||||
|
||||
{{diff | safe}}
|
||||
|
||||
<script>
|
||||
const etudsDefDem = {{ defdem | safe }}
|
||||
|
@ -876,7 +876,7 @@ def calendrier_assi_etud():
|
||||
).build()
|
||||
|
||||
|
||||
@bp.route("/SignalAssiduiteGr")
|
||||
@bp.route("/signal_assiduites_group")
|
||||
@scodoc
|
||||
@permission_required(Permission.AbsChange)
|
||||
def signal_assiduites_group():
|
||||
@ -915,7 +915,10 @@ def signal_assiduites_group():
|
||||
|
||||
# Gestion des groupes
|
||||
groups_infos = sco_groups_view.DisplayedGroupsInfos(
|
||||
group_ids, moduleimpl_id=moduleimpl_id, formsemestre_id=formsemestre_id
|
||||
group_ids,
|
||||
moduleimpl_id=moduleimpl_id,
|
||||
formsemestre_id=formsemestre_id,
|
||||
select_all_when_unspecified=True,
|
||||
)
|
||||
if not groups_infos.members:
|
||||
return (
|
||||
@ -1680,13 +1683,16 @@ def _preparer_objet(
|
||||
return objet_prepare
|
||||
|
||||
|
||||
@bp.route("/SignalAssiduiteDifferee")
|
||||
@bp.route("/signal_assiduites_diff")
|
||||
@scodoc
|
||||
@permission_required(Permission.AbsChange)
|
||||
def signal_assiduites_diff():
|
||||
"""TODO documenter"""
|
||||
# Récupération des paramètres de la requête
|
||||
group_ids: list[int] = request.args.get("group_ids", None)
|
||||
formsemestre_id: int = request.args.get("formsemestre_id", -1)
|
||||
formsemestre: FormSemestre = FormSemestre.get_formsemestre(formsemestre_id)
|
||||
|
||||
date: str = request.args.get("jour", datetime.date.today().isoformat())
|
||||
date_deb: str = request.args.get("date_deb")
|
||||
date_fin: str = request.args.get("date_fin")
|
||||
@ -1705,18 +1711,8 @@ def signal_assiduites_diff():
|
||||
date_fin: datetime.date = date_deb + datetime.timedelta(days=6)
|
||||
|
||||
etudiants: list[dict] = []
|
||||
titre = None
|
||||
|
||||
# Vérification du formsemestre_id
|
||||
try:
|
||||
formsemestre_id = int(formsemestre_id)
|
||||
except (TypeError, ValueError):
|
||||
formsemestre_id = None
|
||||
|
||||
formsemestre: FormSemestre = FormSemestre.query.get_or_404(formsemestre_id)
|
||||
|
||||
# --- Vérification de la date ---
|
||||
|
||||
real_date = scu.is_iso_formated(date, True).date()
|
||||
|
||||
if real_date < formsemestre.date_debut:
|
||||
@ -1730,7 +1726,9 @@ def signal_assiduites_diff():
|
||||
else:
|
||||
group_ids = group_ids.split(",")
|
||||
map(str, group_ids)
|
||||
groups_infos = sco_groups_view.DisplayedGroupsInfos(group_ids)
|
||||
groups_infos = sco_groups_view.DisplayedGroupsInfos(
|
||||
group_ids, formsemestre_id=formsemestre.id, select_all_when_unspecified=True
|
||||
)
|
||||
if not groups_infos.members:
|
||||
return (
|
||||
html_sco_header.sco_header(page_title="Assiduité: saisie différée")
|
||||
@ -1745,7 +1743,9 @@ def signal_assiduites_diff():
|
||||
for m in groups_infos.members
|
||||
]
|
||||
)
|
||||
|
||||
# XXX utiliser des instances d'Identite et non des dict
|
||||
# puis trier avec etud.sort_key
|
||||
# afin de bien prendre en compte nom usuel etc
|
||||
etudiants = list(sorted(etudiants, key=lambda x: x["nom"]))
|
||||
|
||||
# Génération de l'HTML
|
||||
@ -1764,8 +1764,6 @@ def signal_assiduites_diff():
|
||||
],
|
||||
)
|
||||
|
||||
sem = formsemestre.to_dict()
|
||||
|
||||
if groups_infos.tous_les_etuds_du_sem:
|
||||
gr_tit = "en"
|
||||
else:
|
||||
@ -1793,7 +1791,7 @@ def signal_assiduites_diff():
|
||||
},
|
||||
),
|
||||
gr=gr_tit,
|
||||
sem=sem["titre_num"],
|
||||
sem=formsemestre.titre_num(),
|
||||
defdem=_get_etuds_dem_def(formsemestre),
|
||||
timeMorning=ScoDocSiteConfig.get("assi_morning_time", "08:00:00"),
|
||||
timeNoon=ScoDocSiteConfig.get("assi_lunch_time", "13:00:00"),
|
||||
|
Loading…
Reference in New Issue
Block a user