Assiduites : VisuAssiduiteGr logique page fixes #804

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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