From fde728c88859e400d7fd2ae2aef0194a0a2256c6 Mon Sep 17 00:00:00 2001 From: "fefe.clochette" Date: Mon, 16 Feb 2026 10:15:00 +0100 Subject: [PATCH] =?UTF-8?q?check=20=C3=A0=20definir?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modules/budget/views/suivi.php | 27 +++++++++++++++++++-------- 1 file changed, 19 insertions(+), 8 deletions(-) diff --git a/modules/budget/views/suivi.php b/modules/budget/views/suivi.php index f8d83c2..adbf3bf 100644 --- a/modules/budget/views/suivi.php +++ b/modules/budget/views/suivi.php @@ -448,14 +448,14 @@ function getDisplayLogic($spent, $bg, $type) { - - @@ -741,6 +741,7 @@ function toggleAll(src) { document.querySelectorAll('.line-checkbox:not([disable function checkValidation() { const cbs = document.querySelectorAll('.line-checkbox:checked'); let miss = 0; + cbs.forEach(cb => { const row = cb.closest('tr'); const isCredit = row.querySelector('.is-credit-flag').value === '1'; @@ -751,18 +752,22 @@ function checkValidation() { let rowValid = true; if (mainCat === "") { + // Si pas de catégorie : c'est une erreur pour les Débits, mais OK pour les Crédits (qu'on ignore) if(!isCredit) rowValid = false; } else if (mainCat === 'Frais') { + // Si Frais choisi, le sous-menu Frais doit être rempli if (fraisSelect.value === "") rowValid = false; } else if (mainCat === 'Income') { + // Si Income choisi, le sous-menu Income doit être rempli if (incomeSelect.value === "") rowValid = false; } if (!rowValid) { miss++; - row.style.background = isCredit ? '' : '#fff1f2'; + // On met en rouge s'il y a une erreur, MÊME si c'est un crédit (car l'utilisateur a essayé de le mapper) + row.style.background = '#fff1f2'; } else { row.style.background = ''; } @@ -770,12 +775,18 @@ function checkValidation() { const btn = document.getElementById('btnImport'); const msg = document.getElementById('missingCount'); - if(miss>0) { - btn.disabled = true; btn.style.opacity=0.5; btn.style.cursor='not-allowed'; - msg.style.display='inline'; msg.innerText=miss+' à définir'; + + if(miss > 0) { + btn.disabled = true; + btn.style.opacity = 0.5; + btn.style.cursor = 'not-allowed'; + msg.style.display = 'inline'; + msg.innerText = miss + ' à définir'; } else { - btn.disabled = false; btn.style.opacity=1; btn.style.cursor='pointer'; - msg.style.display='none'; + btn.disabled = false; + btn.style.opacity = 1; + btn.style.cursor = 'pointer'; + msg.style.display = 'none'; } }