forked from ScoDoc/ScoDoc
Assiduite: supprime lien saisie différée + lien choix semaine
This commit is contained in:
parent
912a213dcd
commit
dcdf6a8012
@ -884,21 +884,6 @@ def _make_listes_sem(formsemestre: FormSemestre) -> str:
|
|||||||
"""
|
"""
|
||||||
)
|
)
|
||||||
|
|
||||||
if can_edit_abs:
|
|
||||||
H.append(
|
|
||||||
f"""
|
|
||||||
<div>
|
|
||||||
<a class="stdlink" href="{
|
|
||||||
url_for("assiduites.signal_assiduites_diff",
|
|
||||||
scodoc_dept=g.scodoc_dept,
|
|
||||||
formsemestre_id=formsemestre.id,
|
|
||||||
group_ids=group.id,
|
|
||||||
)}" title="Page en cours de fusion et sera prochainement supprimée. Veuillez utiliser la page `Saisir l'assiduité`">
|
|
||||||
(Saisie différée)</a>
|
|
||||||
</div>
|
|
||||||
"""
|
|
||||||
)
|
|
||||||
|
|
||||||
H.append("</div>") # /sem-groups-assi
|
H.append("</div>") # /sem-groups-assi
|
||||||
if partition_is_empty:
|
if partition_is_empty:
|
||||||
H.append(
|
H.append(
|
||||||
|
@ -214,7 +214,7 @@
|
|||||||
] // [0]=Lundi ... [6]=Dimanche -> à 00h00
|
] // [0]=Lundi ... [6]=Dimanche -> à 00h00
|
||||||
|
|
||||||
//Une fonction d'action quand un bouton est cliqué
|
//Une fonction d'action quand un bouton est cliqué
|
||||||
// 3 possibilités :
|
// 3 possibilités :
|
||||||
// - assiduite_id = null -> créer nv assi avec état du bouton
|
// - assiduite_id = null -> créer nv assi avec état du bouton
|
||||||
// - assiduite_id non null et bouton coché == etat assi -> suppression de l'assiduité
|
// - assiduite_id non null et bouton coché == etat assi -> suppression de l'assiduité
|
||||||
// - assiduite_id non null et bouton coché != etat assi -> modification de l'assiduité
|
// - assiduite_id non null et bouton coché != etat assi -> modification de l'assiduité
|
||||||
@ -418,14 +418,14 @@
|
|||||||
|
|
||||||
// Peuplement des boutons en fonction des assiduités
|
// Peuplement des boutons en fonction des assiduités
|
||||||
let boutons = `
|
let boutons = `
|
||||||
<input type="checkbox" name="matin-${etudid}" id="matin-${etudid}"
|
<input type="checkbox" name="matin-${etudid}" id="matin-${etudid}"
|
||||||
class="rbtn retard" value="retard">
|
class="rbtn retard" value="retard">
|
||||||
<input type="checkbox" name="matin-${etudid}" id="matin-${etudid}"
|
<input type="checkbox" name="matin-${etudid}" id="matin-${etudid}"
|
||||||
class="rbtn absent" value="absent">
|
class="rbtn absent" value="absent">
|
||||||
`
|
`
|
||||||
|
|
||||||
if (!non_present) {
|
if (!non_present) {
|
||||||
boutons = `<input type="checkbox" name="matin-${etudid}" id="matin-${etudid}"
|
boutons = `<input type="checkbox" name="matin-${etudid}" id="matin-${etudid}"
|
||||||
class="rbtn present" value="present">`+boutons;
|
class="rbtn present" value="present">`+boutons;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -437,8 +437,8 @@
|
|||||||
const deb = new Date(assi.date_debut);
|
const deb = new Date(assi.date_debut);
|
||||||
const fin = new Date(assi.date_fin);
|
const fin = new Date(assi.date_fin);
|
||||||
|
|
||||||
// si dates == periode -> cocher bouton correspondant
|
// si dates == periode -> cocher bouton correspondant
|
||||||
// Sinon supprimer boutons et mettre case "rouge" + tooltip
|
// Sinon supprimer boutons et mettre case "rouge" + tooltip
|
||||||
|
|
||||||
if (deb.isSame(morningPeriod.deb, "minutes") && fin.isSame(morningPeriod.fin, "minutes")) {
|
if (deb.isSame(morningPeriod.deb, "minutes") && fin.isSame(morningPeriod.fin, "minutes")) {
|
||||||
let etat = assi.etat.toLowerCase();
|
let etat = assi.etat.toLowerCase();
|
||||||
@ -468,7 +468,7 @@
|
|||||||
const deb = new Date(assi.date_debut);
|
const deb = new Date(assi.date_debut);
|
||||||
const fin = new Date(assi.date_fin);
|
const fin = new Date(assi.date_fin);
|
||||||
|
|
||||||
// si dates == periode -> cocher bouton correspondant
|
// si dates == periode -> cocher bouton correspondant
|
||||||
// Sinon supprimer boutons et mettre case "rouge" + tooltip
|
// Sinon supprimer boutons et mettre case "rouge" + tooltip
|
||||||
|
|
||||||
if (deb.isSame(afternoonPeriod.deb, "minutes") && fin.isSame(afternoonPeriod.fin, "minutes")) {
|
if (deb.isSame(afternoonPeriod.deb, "minutes") && fin.isSame(afternoonPeriod.fin, "minutes")) {
|
||||||
@ -504,7 +504,7 @@
|
|||||||
|
|
||||||
let target = e.target;
|
let target = e.target;
|
||||||
let parent = target.parentElement;
|
let parent = target.parentElement;
|
||||||
|
|
||||||
let isCancelled = await actionButton(target, !target.checked);
|
let isCancelled = await actionButton(target, !target.checked);
|
||||||
if (isCancelled) {
|
if (isCancelled) {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
@ -690,7 +690,7 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
document.getElementById("text-matin").addEventListener("click", (e)=>{
|
document.getElementById("text-matin").addEventListener("click", (e)=>{
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
@ -801,6 +801,7 @@ document.addEventListener("DOMContentLoaded", ()=>{
|
|||||||
{{moduleimpl_select | safe}}
|
{{moduleimpl_select | safe}}
|
||||||
</label>
|
</label>
|
||||||
<button onclick="changeWeek(false)">Semaine suivante</button>
|
<button onclick="changeWeek(false)">Semaine suivante</button>
|
||||||
|
<span><a href="{{url_choix_semaine}}" class="stdlink">autre semaine<a></span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<h3 id="tableau-dates">
|
<h3 id="tableau-dates">
|
||||||
|
@ -1980,7 +1980,7 @@ def signal_assiduites_hebdo():
|
|||||||
|
|
||||||
# Vérification semaine dans format iso 8601 et formsemestre
|
# Vérification semaine dans format iso 8601 et formsemestre
|
||||||
regex_iso8601 = r"^\d{4}-W\d{2}$"
|
regex_iso8601 = r"^\d{4}-W\d{2}$"
|
||||||
if not re.match(regex_iso8601, week):
|
if week and not re.match(regex_iso8601, week):
|
||||||
raise ScoValueError("Semaine invalide", dest_url=request.referrer)
|
raise ScoValueError("Semaine invalide", dest_url=request.referrer)
|
||||||
|
|
||||||
fs_deb_iso8601 = formsemestre.date_debut.strftime("%Y-W%W")
|
fs_deb_iso8601 = formsemestre.date_debut.strftime("%Y-W%W")
|
||||||
@ -1989,10 +1989,12 @@ def signal_assiduites_hebdo():
|
|||||||
# Utilisation de la propriété de la norme iso 8601
|
# Utilisation de la propriété de la norme iso 8601
|
||||||
# les chaines sont triables par ordre alphanumérique croissant
|
# les chaines sont triables par ordre alphanumérique croissant
|
||||||
# et produiront le même ordre que les dates par ordre chronologique croissant
|
# et produiront le même ordre que les dates par ordre chronologique croissant
|
||||||
if week < fs_deb_iso8601 or week > fs_fin_iso8601:
|
if (not week) or week < fs_deb_iso8601 or week > fs_fin_iso8601:
|
||||||
flash(
|
if week:
|
||||||
"La semaine n'est pas dans le semestre, choisissez la semaine sur laquelle saisir l'assiduité"
|
flash(
|
||||||
)
|
"""La semaine n'est pas dans le semestre,
|
||||||
|
choisissez la semaine sur laquelle saisir l'assiduité"""
|
||||||
|
)
|
||||||
return sco_gen_cal.calendrier_choix_date(
|
return sco_gen_cal.calendrier_choix_date(
|
||||||
date_debut=formsemestre.date_debut,
|
date_debut=formsemestre.date_debut,
|
||||||
date_fin=formsemestre.date_fin,
|
date_fin=formsemestre.date_fin,
|
||||||
@ -2076,6 +2078,15 @@ def signal_assiduites_hebdo():
|
|||||||
for key, val in jours.items():
|
for key, val in jours.items():
|
||||||
hebdo_jours.append((key in non_travail, val))
|
hebdo_jours.append((key in non_travail, val))
|
||||||
|
|
||||||
|
url_choix_semaine = url_for(
|
||||||
|
"assiduites.signal_assiduites_hebdo",
|
||||||
|
group_ids=",".join(map(str, groups_infos.group_ids)),
|
||||||
|
week="",
|
||||||
|
scodoc_dept=g.scodoc_dept,
|
||||||
|
formsemestre_id=groups_infos.formsemestre_id,
|
||||||
|
moduleimpl_id=moduleimpl_id,
|
||||||
|
)
|
||||||
|
|
||||||
return render_template(
|
return render_template(
|
||||||
"assiduites/pages/signal_assiduites_hebdo.j2",
|
"assiduites/pages/signal_assiduites_hebdo.j2",
|
||||||
title="Assiduité: saisie hebdomadaire",
|
title="Assiduité: saisie hebdomadaire",
|
||||||
@ -2091,6 +2102,7 @@ def signal_assiduites_hebdo():
|
|||||||
formsemestre_id=formsemestre_id,
|
formsemestre_id=formsemestre_id,
|
||||||
dept_id=g.scodoc_dept_id,
|
dept_id=g.scodoc_dept_id,
|
||||||
),
|
),
|
||||||
|
url_choix_semaine=url_choix_semaine,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user