diff --git a/test.html b/test.html index 3f557aa..4e1fccf 100644 --- a/test.html +++ b/test.html @@ -39,11 +39,13 @@ async function loadData() { try { + // Chargement des données const [transRes, prodsRes] = await Promise.all([ fetch('translations/fr.json').then(r => r.json()), fetch('api/index.php?action=products_list').then(r => r.json()) ]); categories = transRes.categories || {}; + // Vérification de la structure des données fullProductList = prodsRes.inventory || prodsRes.products || prodsRes; const catSel = document.getElementById('cat-mass'); @@ -91,33 +93,29 @@ let errorCount = 0; for (const checkbox of checkedBoxes) { - let p = fullProductList[checkbox.dataset.index]; - - let formData = new FormData(); - for (let key in p) { - formData.append(key, p[key]); - } - formData.set('category', newCat); + let p = { ...fullProductList[checkbox.dataset.index] }; + p.category = newCat; try { - // Ajout de credentials: 'include' pour envoyer tes cookies de connexion - // Ajout de X-Requested-With pour simuler une requête AJAX authentique + // On force les headers pour simuler une requête de l'interface officielle + // credentials: 'include' envoie les cookies de session let res = await fetch('api/index.php?action=product_save', { method: 'POST', - body: formData, - credentials: 'include', - headers: { - 'X-Requested-With': 'XMLHttpRequest' - } + headers: { + 'Content-Type': 'application/json', + 'X-Requested-With': 'XMLHttpRequest' + }, + body: JSON.stringify(p), + credentials: 'include' }); if (res.ok) { successCount++; } else { - console.error("Erreur serveur sur " + p.name, res.status); + console.error("Erreur serveur sur " + p.name + ":", res.status); errorCount++; } - await new Promise(r => setTimeout(r, 300)); + await new Promise(r => setTimeout(r, 400)); // Pause pour ne pas saturer } catch (e) { console.error("Erreur réseau sur " + p.name, e); errorCount++; @@ -127,8 +125,7 @@ await loadData(); btn.disabled = false; btn.textContent = "APPLIQUER AUX COCHÉS"; - - alert(`Traitement terminé :\n- Succès : ${successCount}\n- Erreurs : ${errorCount}`); + alert(`Terminé :\nSuccès : ${successCount}\nErreurs : ${errorCount}`); }