From c0e2998ffe25d73aae71047efd69f9cd6a42391f Mon Sep 17 00:00:00 2001 From: Cedric Date: Wed, 24 Jun 2026 13:52:51 +0200 Subject: [PATCH] Actualiser js/admin.js --- js/admin.js | 29 +++++++++++++++++++++++++---- 1 file changed, 25 insertions(+), 4 deletions(-) diff --git a/js/admin.js b/js/admin.js index e44263b..825af96 100644 --- a/js/admin.js +++ b/js/admin.js @@ -408,13 +408,34 @@ async function handleCritiqueUpload(input) { } function normalizeVideothequeRow(row) { + // 🔥 CORRECTION : Ne PAS convertir l'EAN en nombre (perte de précision > 15 chiffres) let ean = row['ean_isbn13'] || row['EAN'] || ''; - if (ean !== '') { const eanNum = parseFloat(ean); ean = isNaN(eanNum) ? '' : String(Math.round(eanNum)); } + if (ean !== '') { + // Nettoyer uniquement les caractères non numériques SANS conversion + ean = String(ean).replace(/[^0-9]/g, ''); + // Supprimer les zéros non significatifs au début + ean = ean.replace(/^0+/, ''); + } + + // Length et discs peuvent rester en conversion numérique (petits nombres) let length = row['length'] || ''; - if (length !== '' && length !== null) { const l = parseFloat(length); length = isNaN(l) ? '' : String(Math.round(l)); } + if (length !== '' && length !== null) { + const l = parseFloat(length); + length = isNaN(l) ? '' : String(Math.round(l)); + } + let discs = row['number_of_discs'] || ''; - if (discs === '' || discs === null || isNaN(parseFloat(discs))) { discs = 1; } else { discs = Math.round(parseFloat(discs)); } - return Object.assign({}, row, { ean_isbn13: ean, length: length, number_of_discs: discs }); + if (discs === '' || discs === null || isNaN(parseFloat(discs))) { + discs = 1; + } else { + discs = Math.round(parseFloat(discs)); + } + + return Object.assign({}, row, { + ean_isbn13: ean, + length: length, + number_of_discs: discs + }); } async function handleVideothequeUpload(input) {