diff --git a/budget.php b/budget.php index 3f39df9..e9a72f1 100644 --- a/budget.php +++ b/budget.php @@ -4,6 +4,18 @@ require __DIR__ . '/includes/db.php'; require_once __DIR__ . '/includes/i18n.php'; require_login('/login.php'); +// ============================================================================ +// DIAGNOSTIC ONBOARDING (Vérifie si le budget est prêt à être utilisé) +// ============================================================================ +$currentYear = date('Y'); +$hasCategories = ((int)$pdo->query("SELECT COUNT(*) FROM pf_budget_categories")->fetchColumn() > 0); +$hasSalaries = ((int)$pdo->query("SELECT COUNT(*) FROM pf_salary_config WHERE year = $currentYear")->fetchColumn() > 0); +$hasAccounts = ((int)$pdo->query("SELECT COUNT(*) FROM pf_bank_accounts")->fetchColumn() > 0); +$hasBudgetItems = ((int)$pdo->query("SELECT COUNT(*) FROM pf_budget_items")->fetchColumn() > 0); + +// Le minimum vital pour que ça tourne +$isBudgetSetupOk = ($hasCategories && $hasSalaries && $hasAccounts); + // Gestion de l'onglet actif (par défaut 'suivi') $tab = $_GET['tab'] ?? 'suivi'; @@ -15,11 +27,15 @@ require __DIR__ . '/header.php'; ?>
✅ = tr('gift_no_debt') ?>
Aucun congé configuré.
`; + return; + } - if (!calGlobalData.leave_types.some((lt) => lt.code === l.type)) { - rowTypeOptions += ``; - } - - return ` -${tr("fc_matrix_desc") || "Définissez les quotas et la date de renouvellement."}
+ types.forEach((lt) => { + container.innerHTML += ` +| ${tr("fc_table_code") || "Code"} | -${tr("fc_table_method") || "Méthode"} | -${tr("fc_table_quota") || "Quota"} | -${tr("fc_table_renewal") || "Renouv."} | -- |
|---|---|---|---|---|
| ${tr("fc_matrix_empty") || "Aucun compteur défini."} | ||||
Chargement...
'; + + // === CAS 1 : C'EST UN ENFANT (On gère les modes de garde) === if (role === "child" || role === "enfant") { const currentPerson = calGlobalData.people.find( - (k) => parseInt(k.id) === window.currentSelectedMemberId, + (k) => parseInt(k.id) === personId, ); let savedModes = []; try { @@ -296,83 +360,145 @@ window.loadMemberConfigView = function () { .join(""); zone.innerHTML = ` -Quels modes de garde s'appliquent à cet enfant ?
-Quels modes de garde s'appliquent à cet enfant ?
+Erreur de chargement.
'; + } + } +} + +// Affichage des congés du membre et du formulaire d'ajout +function renderMemberLeavesView(personId, memberLeaves) { + const zone = document.getElementById("memberConfigZone"); + let html = `Aucun congé attribué à ce membre.
`; + } else { + html += `