Assiduite : bug fix liste justifier

This commit is contained in:
Iziram 2023-10-27 16:51:06 +02:00
parent 943055b328
commit 4aebece03e
2 changed files with 31 additions and 35 deletions

View File

@ -1650,36 +1650,33 @@ function fastJustify(assiduite) {
fin: new moment.tz(assiduite.date_fin, TIMEZONE), fin: new moment.tz(assiduite.date_fin, TIMEZONE),
}; };
const action = (justifs) => { const action = (justifs) => {
if (justifs.length > 0) { //créer un nouveau justificatif
justifyAssiduite(assiduite.assiduite_id, !assiduite.est_just); // Afficher prompt -> demander raison et état
} else {
//créer un nouveau justificatif
// Afficher prompt -> demander raison et état
const success = () => { const success = () => {
const raison = document.getElementById("promptText").value; const raison = document.getElementById("promptText").value;
const etat = document.getElementById("promptSelect").value; const etat = document.getElementById("promptSelect").value;
//créer justificatif //créer justificatif
const justif = { const justif = {
date_debut: new moment.tz(assiduite.date_debut, TIMEZONE).format(), date_debut: new moment.tz(assiduite.date_debut, TIMEZONE).format(),
date_fin: new moment.tz(assiduite.date_fin, TIMEZONE).format(), date_fin: new moment.tz(assiduite.date_fin, TIMEZONE).format(),
raison: raison, raison: raison,
etat: etat, etat: etat,
};
createJustificatif(justif);
generateAllEtudRow();
try {
loadAll();
} catch {}
}; };
const content = document.createElement("fieldset"); createJustificatif(justif);
const htmlPrompt = `<legend>Entrez l'état du justificatif :</legend> generateAllEtudRow();
try {
loadAll();
} catch {}
};
const content = document.createElement("fieldset");
const htmlPrompt = `<legend>Entrez l'état du justificatif :</legend>
<select name="promptSelect" id="promptSelect" required> <select name="promptSelect" id="promptSelect" required>
<option value="valide">Valide</option> <option value="valide">Valide</option>
<option value="attente">En Attente de validation</option> <option value="attente">En Attente de validation</option>
@ -1690,16 +1687,15 @@ function fastJustify(assiduite) {
<textarea type="text" placeholder="Explication du justificatif (non obligatoire)" id="promptText" style="width:100%;"></textarea> <textarea type="text" placeholder="Explication du justificatif (non obligatoire)" id="promptText" style="width:100%;"></textarea>
`; `;
content.innerHTML = htmlPrompt; content.innerHTML = htmlPrompt;
openPromptModal( openPromptModal(
"Nouveau justificatif (Rapide)", "Nouveau justificatif (Rapide)",
content, content,
success, success,
() => {}, () => {},
"#7059FF" "#7059FF"
); );
}
}; };
if (assiduite.etudid) { if (assiduite.etudid) {
getJustificatifFromPeriod(period, assiduite.etudid, action); getJustificatifFromPeriod(period, assiduite.etudid, action);

View File

@ -345,8 +345,8 @@
let assi = Object.values(assiduites).flat().filter((a) => { return a.assiduite_id == obj_id })[0] let assi = Object.values(assiduites).flat().filter((a) => { return a.assiduite_id == obj_id })[0]
li.addEventListener('click', () => { li.addEventListener('click', () => {
if (assiduite && !assiduite[0].est_just && assiduite[0].etat != "PRESENT") { if (assi && !assi.est_just && assi.etat != "PRESENT") {
fastJustify(assiduite[0]) fastJustify(assi)
} else { } else {
openAlertModal("Erreur", document.createTextNode("L'assiduité est déjà justifiée.")) openAlertModal("Erreur", document.createTextNode("L'assiduité est déjà justifiée."))
} }