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;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Création / édition des assiduités
|
// Création
|
||||||
const assiduitesACreer = lignesEtuds
|
const assiduitesACreer = lignesEtuds
|
||||||
.filter((e) => e.getAttribute("type") == "creation")
|
.filter((e) => e.getAttribute("type") == "creation")
|
||||||
.map((e) => Number(e.getAttribute("etudid")));
|
.map((e) => Number(e.getAttribute("etudid")));
|
||||||
const assiduitesAEditer = lignesEtuds
|
|
||||||
.filter((e) => e.getAttribute("type") == "edition")
|
|
||||||
.map((e) => Number(e.getAttribute("assiduite_id")));
|
|
||||||
|
|
||||||
// création
|
// création
|
||||||
|
|
||||||
const promiseCreate = async_post(
|
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);
|
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
|
// Affiche un loader
|
||||||
afficheLoader();
|
afficheLoader();
|
||||||
|
|
||||||
Promise.all([promiseCreate, promiseEdit]).then(async () => {
|
Promise.all([promiseCreate]).then(async () => {
|
||||||
retirerLoader();
|
retirerLoader();
|
||||||
await recupAssiduites(etuds, $("#date").datepicker("getDate"));
|
await recupAssiduites(etuds, $("#date").datepicker("getDate"));
|
||||||
creerTousLesEtudiants(etuds);
|
creerTousLesEtudiants(etuds);
|
||||||
envoiToastTous(etat, assiduitesACreer.length + assiduitesAEditer.length);
|
envoiToastTous(etat, assiduitesACreer.length);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -571,7 +571,6 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
let toCreate = []; // [{etudid:<int>}]
|
let toCreate = []; // [{etudid:<int>}]
|
||||||
let toEdit = [];// [{etudid:<int>, assiduite_id:<int>}]
|
|
||||||
|
|
||||||
tds.forEach((td) => {
|
tds.forEach((td) => {
|
||||||
// on ne touche pas aux conflits
|
// on ne touche pas aux conflits
|
||||||
@ -585,8 +584,6 @@
|
|||||||
const assiduite_id = td.getAttribute("assiduite_id");
|
const assiduite_id = td.getAttribute("assiduite_id");
|
||||||
if (assiduite_id == "") {
|
if (assiduite_id == "") {
|
||||||
toCreate.push({ etudid: etudid });
|
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
|
// Appel API
|
||||||
let counts = {
|
let counts = {
|
||||||
create: toCreate.length,
|
create: toCreate.length,
|
||||||
edit: toEdit.length
|
|
||||||
}
|
}
|
||||||
const promiseCreate = async_post(
|
const promiseCreate = async_post(
|
||||||
`../../api/assiduites/create`,
|
`../../api/assiduites/create`,
|
||||||
@ -633,35 +620,13 @@
|
|||||||
console.error("Erreur lors de la création de l'assiduité", error);
|
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
|
// Affiche un loader
|
||||||
afficheLoader();
|
afficheLoader();
|
||||||
|
|
||||||
Promise.all([promiseCreate, promiseEdit]).then(async () => {
|
Promise.all([promiseCreate]).then(async () => {
|
||||||
retirerLoader();
|
retirerLoader();
|
||||||
await recupAssiduitesHebdo(updateTable);
|
await recupAssiduitesHebdo(updateTable);
|
||||||
envoiToastTous("present", counts.create + counts.edit);
|
envoiToastTous("present", counts.create);
|
||||||
});
|
});
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user