forked from ScoDoc/ScoDoc
Assiduité : mettre tout le monde uniquement création closes #917
This commit is contained in:
parent
fed84559fc
commit
ba77b155c5
@ -681,14 +681,10 @@ function mettreToutLeMonde(etat, el = null) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Création / édition des assiduités
|
||||
// Création
|
||||
const assiduitesACreer = lignesEtuds
|
||||
.filter((e) => e.getAttribute("type") == "creation")
|
||||
.map((e) => Number(e.getAttribute("etudid")));
|
||||
const assiduitesAEditer = lignesEtuds
|
||||
.filter((e) => e.getAttribute("type") == "edition")
|
||||
.map((e) => Number(e.getAttribute("assiduite_id")));
|
||||
|
||||
// création
|
||||
|
||||
const promiseCreate = async_post(
|
||||
@ -705,29 +701,15 @@ function mettreToutLeMonde(etat, el = null) {
|
||||
console.error("Erreur lors de la création de l'assiduité", error);
|
||||
}
|
||||
);
|
||||
const promiseEdit = async_post(
|
||||
`../../api/assiduites/edit`,
|
||||
assiduitesAEditer.map((assiduite_id) => {
|
||||
return { ...assiduiteObjet, assiduite_id };
|
||||
}),
|
||||
async (data) => {
|
||||
if (data.errors.length > 0) {
|
||||
console.error(data.errors);
|
||||
}
|
||||
},
|
||||
(error) => {
|
||||
console.error("Erreur lors de l'édition de l'assiduité", error);
|
||||
}
|
||||
);
|
||||
|
||||
// Affiche un loader
|
||||
afficheLoader();
|
||||
|
||||
Promise.all([promiseCreate, promiseEdit]).then(async () => {
|
||||
Promise.all([promiseCreate]).then(async () => {
|
||||
retirerLoader();
|
||||
await recupAssiduites(etuds, $("#date").datepicker("getDate"));
|
||||
creerTousLesEtudiants(etuds);
|
||||
envoiToastTous(etat, assiduitesACreer.length + assiduitesAEditer.length);
|
||||
envoiToastTous(etat, assiduitesACreer.length);
|
||||
});
|
||||
}
|
||||
|
||||
|
@ -571,7 +571,6 @@
|
||||
}
|
||||
|
||||
let toCreate = []; // [{etudid:<int>}]
|
||||
let toEdit = [];// [{etudid:<int>, assiduite_id:<int>}]
|
||||
|
||||
tds.forEach((td) => {
|
||||
// on ne touche pas aux conflits
|
||||
@ -585,8 +584,6 @@
|
||||
const assiduite_id = td.getAttribute("assiduite_id");
|
||||
if (assiduite_id == "") {
|
||||
toCreate.push({ etudid: etudid });
|
||||
} else {
|
||||
toEdit.push({ etudid: etudid, assiduite_id: Number(assiduite_id) });
|
||||
}
|
||||
})
|
||||
|
||||
@ -598,19 +595,9 @@
|
||||
}
|
||||
});
|
||||
|
||||
// Modification
|
||||
toEdit = toEdit.map((el) => {
|
||||
return {
|
||||
...assi,
|
||||
etudid: el.etudid,
|
||||
assiduite_id: el.assiduite_id,
|
||||
}
|
||||
});
|
||||
|
||||
// Appel API
|
||||
let counts = {
|
||||
create: toCreate.length,
|
||||
edit: toEdit.length
|
||||
}
|
||||
const promiseCreate = async_post(
|
||||
`../../api/assiduites/create`,
|
||||
@ -633,35 +620,13 @@
|
||||
console.error("Erreur lors de la création de l'assiduité", error);
|
||||
}
|
||||
);
|
||||
const promiseEdit = async_post(
|
||||
`../../api/assiduites/edit`,
|
||||
toEdit,
|
||||
async (data) => {
|
||||
if (data.errors.length > 0) {
|
||||
console.error(data.errors);
|
||||
data.errors.forEach((err) => {
|
||||
let obj = toEdit[err.indice];
|
||||
let etu = etuds.find((el) => el.id == obj.etudid);
|
||||
|
||||
const text = document.createTextNode(`Erreur pour ${etu.nom} ${etu.prenom} : ${err.message}`);
|
||||
const toast = generateToast(text, "var(--color-error)");
|
||||
pushToast(toast);
|
||||
});
|
||||
}
|
||||
counts.edit = data.success.length;
|
||||
},
|
||||
(error) => {
|
||||
console.error("Erreur lors de l'édition de l'assiduité", error);
|
||||
}
|
||||
);
|
||||
|
||||
// Affiche un loader
|
||||
afficheLoader();
|
||||
|
||||
Promise.all([promiseCreate, promiseEdit]).then(async () => {
|
||||
Promise.all([promiseCreate]).then(async () => {
|
||||
retirerLoader();
|
||||
await recupAssiduitesHebdo(updateTable);
|
||||
envoiToastTous("present", counts.create + counts.edit);
|
||||
envoiToastTous("present", counts.create);
|
||||
});
|
||||
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user