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");
|
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;
|
dateInput.value = date_fra;
|
||||||
|
*/
|
||||||
date = lastWorkDay;
|
date = lastWorkDay;
|
||||||
|
|
||||||
dateStr = formatDate(lastWorkDay, {
|
dateStr = formatDate(lastWorkDay, {
|
||||||
|
@ -1,4 +1,9 @@
|
|||||||
<h2>Signalement différé de l'assiduité {{gr |safe}}</h2>
|
<h2>Signalement différé de l'assiduité {{gr |safe}}</h2>
|
||||||
|
|
||||||
|
<h3>{{sem | safe }}</h3>
|
||||||
|
|
||||||
|
{{diff | safe}}
|
||||||
|
|
||||||
<div class="help">
|
<div class="help">
|
||||||
<h3>Explication de la saisie différée</h3>
|
<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
|
<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>Vous pouvez supprimer une colonne en appuyant sur la croix qui se situe dans le coin haut droit de la colonne.
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<h3>{{sem | safe }}</h3>
|
|
||||||
|
|
||||||
{{diff | safe}}
|
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
const etudsDefDem = {{ defdem | safe }}
|
const etudsDefDem = {{ defdem | safe }}
|
||||||
|
@ -876,7 +876,7 @@ def calendrier_assi_etud():
|
|||||||
).build()
|
).build()
|
||||||
|
|
||||||
|
|
||||||
@bp.route("/SignalAssiduiteGr")
|
@bp.route("/signal_assiduites_group")
|
||||||
@scodoc
|
@scodoc
|
||||||
@permission_required(Permission.AbsChange)
|
@permission_required(Permission.AbsChange)
|
||||||
def signal_assiduites_group():
|
def signal_assiduites_group():
|
||||||
@ -915,7 +915,10 @@ def signal_assiduites_group():
|
|||||||
|
|
||||||
# Gestion des groupes
|
# Gestion des groupes
|
||||||
groups_infos = sco_groups_view.DisplayedGroupsInfos(
|
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:
|
if not groups_infos.members:
|
||||||
return (
|
return (
|
||||||
@ -1680,13 +1683,16 @@ def _preparer_objet(
|
|||||||
return objet_prepare
|
return objet_prepare
|
||||||
|
|
||||||
|
|
||||||
@bp.route("/SignalAssiduiteDifferee")
|
@bp.route("/signal_assiduites_diff")
|
||||||
@scodoc
|
@scodoc
|
||||||
@permission_required(Permission.AbsChange)
|
@permission_required(Permission.AbsChange)
|
||||||
def signal_assiduites_diff():
|
def signal_assiduites_diff():
|
||||||
|
"""TODO documenter"""
|
||||||
# Récupération des paramètres de la requête
|
# Récupération des paramètres de la requête
|
||||||
group_ids: list[int] = request.args.get("group_ids", None)
|
group_ids: list[int] = request.args.get("group_ids", None)
|
||||||
formsemestre_id: int = request.args.get("formsemestre_id", -1)
|
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: str = request.args.get("jour", datetime.date.today().isoformat())
|
||||||
date_deb: str = request.args.get("date_deb")
|
date_deb: str = request.args.get("date_deb")
|
||||||
date_fin: str = request.args.get("date_fin")
|
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)
|
date_fin: datetime.date = date_deb + datetime.timedelta(days=6)
|
||||||
|
|
||||||
etudiants: list[dict] = []
|
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 ---
|
# --- Vérification de la date ---
|
||||||
|
|
||||||
real_date = scu.is_iso_formated(date, True).date()
|
real_date = scu.is_iso_formated(date, True).date()
|
||||||
|
|
||||||
if real_date < formsemestre.date_debut:
|
if real_date < formsemestre.date_debut:
|
||||||
@ -1730,7 +1726,9 @@ def signal_assiduites_diff():
|
|||||||
else:
|
else:
|
||||||
group_ids = group_ids.split(",")
|
group_ids = group_ids.split(",")
|
||||||
map(str, group_ids)
|
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:
|
if not groups_infos.members:
|
||||||
return (
|
return (
|
||||||
html_sco_header.sco_header(page_title="Assiduité: saisie différée")
|
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
|
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"]))
|
etudiants = list(sorted(etudiants, key=lambda x: x["nom"]))
|
||||||
|
|
||||||
# Génération de l'HTML
|
# 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:
|
if groups_infos.tous_les_etuds_du_sem:
|
||||||
gr_tit = "en"
|
gr_tit = "en"
|
||||||
else:
|
else:
|
||||||
@ -1793,7 +1791,7 @@ def signal_assiduites_diff():
|
|||||||
},
|
},
|
||||||
),
|
),
|
||||||
gr=gr_tit,
|
gr=gr_tit,
|
||||||
sem=sem["titre_num"],
|
sem=formsemestre.titre_num(),
|
||||||
defdem=_get_etuds_dem_def(formsemestre),
|
defdem=_get_etuds_dem_def(formsemestre),
|
||||||
timeMorning=ScoDocSiteConfig.get("assi_morning_time", "08:00:00"),
|
timeMorning=ScoDocSiteConfig.get("assi_morning_time", "08:00:00"),
|
||||||
timeNoon=ScoDocSiteConfig.get("assi_lunch_time", "13:00:00"),
|
timeNoon=ScoDocSiteConfig.get("assi_lunch_time", "13:00:00"),
|
||||||
|
Loading…
Reference in New Issue
Block a user