Assiduites : VisuAssiduiteGr logique page fixes #804

This commit is contained in:
Iziram 2024-01-12 11:36:00 +01:00
parent 64417fcde2
commit bcbb0d4060
6 changed files with 37 additions and 20 deletions

View File

@ -158,11 +158,12 @@ function validateSelectors(btn) {
getAssiduitesFromEtuds(true);
document.querySelector(".selectors").disabled = true;
$("#tl_date").datepicker("option", "disabled", true);
// document.querySelector(".selectors").disabled = true;
// $("#tl_date").datepicker("option", "disabled", true);
generateMassAssiduites();
generateAllEtudRow();
btn.remove();
// btn.remove();
btn.textContent = "Actualiser";
onlyAbs();
};
@ -581,6 +582,7 @@ function massAction() {
* puis on ajoute les événements associés
*/
function generateMassAssiduites() {
if (readOnly || document.querySelector(".mass-selection") != null) return;
const content = document.getElementById("content");
const mass = document.createElement("div");
@ -1459,7 +1461,8 @@ function generateEtudRow(
assi += `<input type="checkbox" value="${abs}" name="btn_assiduites_${index}" id="rbtn_${abs}" class="rbtn ${abs}" title="${abs}">`;
}
});
const conflit = assiduite.type == "conflit" ? "conflit" : "";
if (readOnly) assi = "";
const conflit = assiduite.type == "conflit" && !readOnly ? "conflit" : "";
const pdp_url = `${getUrl()}/api/etudiant/etudid/${etud.id}/photo?size=small`;
let defdem = "";
@ -1591,11 +1594,11 @@ function generateAllEtudRow() {
return;
}
if (!document.querySelector(".selectors")?.disabled) {
return;
}
document.querySelector(".etud_holder").innerHTML = "";
// if (!document.querySelector(".selectors")?.disabled) {
// return;
// }
const etud_hodler = document.querySelector(".etud_holder");
if (etud_hodler) etud_hodler.innerHTML = "";
etuds_ids = Object.keys(etuds).sort((a, b) =>
etuds[a].nom > etuds[b].nom ? 1 : etuds[b].nom > etuds[a].nom ? -1 : 0
);

View File

@ -102,6 +102,9 @@
setupTimeLine(() => {
if(document.querySelector('.etud_holder .placeholder') != null){
generateAllEtudRow();
}
updateJustifyBtn();
});

View File

@ -26,11 +26,9 @@
</div>
</fieldset>
{% if readonly == "false" %}
{{timeline|safe}}
{% if readonly == "false" %}
<div style="margin: 1vh 0;">
<div id="forcemodule" style="display: none; margin:10px 0px;">
Vous devez spécifier le module ! (voir réglage préférence du semestre)
@ -40,7 +38,6 @@
{% else %}
{% endif %}
{% if readonly == "true" %}
<button id="validate_selectors" onclick="validateSelectors(this)">
Voir l'assiduité
@ -50,11 +47,11 @@
Faire la saisie
</button>
{% endif %}
<p>Utilisez le bouton "Actualiser" si vous modifier la date ou le(s) groupe(s) sélectionné(s)</p>
<div class="etud_holder">
<p class="placeholder">
Veillez à choisir le groupe concerné et la date.
Après validation, il faudra recharger la page pour changer ces informations.
</p>
</div>
<div class="legende">
@ -84,6 +81,13 @@
<script>
{% if readonly != "false" %}
function getPeriodValues(){
return [0, 23]
}
{% endif %}
const nonWorkDays = [{{ nonworkdays| safe }}];
const readOnly = {{ readonly }};
@ -91,7 +95,13 @@
setupDate();
updateDate();
setupTimeLine();
if (!readOnly){
setupTimeLine(()=>{
if(document.querySelector('.etud_holder .placeholder') != null){
generateAllEtudRow();
}
});
}
window.forceModule = "{{ forcer_module }}"
window.forceModule = window.forceModule == "True" ? true : false

View File

@ -39,6 +39,7 @@
}
array.forEach((assiduité) => {
if(assiduité.etat == "CRENEAU" && readOnly) return;
let startDate = new Date(Date.removeUTC(assiduité.date_debut));
let endDate = new Date(Date.removeUTC(assiduité.date_fin));
if (startDate.isBefore(dayStart)) {
@ -284,7 +285,7 @@
text-align: start;
top: -40px;
transform: translateX(-50%);
z-index: 50;
z-index: 1;
}

View File

@ -119,8 +119,6 @@
};
const mouseUp = () => {
snapHandlesToQuarters();
generateAllEtudRow();
timelineContainer.removeEventListener("mousemove", onMouseMove);
handleMoving = false;
func_call();
@ -264,6 +262,7 @@
}
createTicks();
setPeriodValues(t_start, t_start + period_default);
{% if heures %}
@ -271,6 +270,7 @@
if (heure_deb != '' && heure_fin != '') {
heure_deb = fromTime(heure_deb);
heure_fin = fromTime(heure_fin);
console.warn(heure_deb, heure_fin)
setPeriodValues(heure_deb, heure_fin)
}
{% endif %}

View File

@ -1105,7 +1105,7 @@ def signal_assiduites_group():
).build()
@bp.route("/VisuAssiduiteGr")
@bp.route("/visu_assiduites_group")
@scodoc
@permission_required(Permission.ScoView)
def visu_assiduites_group():