V7.10 — Tableau de bord, guide, semaine type et enveloppe de formation
Reprise dans le répertoire de production du travail mené dans le worktree ux-service-enfance : - tableau de bord Service Enfance (dashboard.php) et navigation regroupée ; - guide d'utilisation (faq.php) accessible depuis toute la navigation ; - éditeur de semaine type mis en avant sur l'écran de saisie ; - droit à l'enveloppe de formation par agent, en remplacement de la case « formation déjà prévue dans la répartition annuelle » ; - correctif de « [object Object] » sur les cartes de quota du PTA ; - motif de travail par défaut à la saisie, heures travaillées complètes dans les PDF. Le docker-compose.yml de production est conservé : celui du worktree décrit une pile de test (conteneurs et volume suffixés « test », ports 9080/9081), qui aurait fait redémarrer l'application sur un volume MariaDB vide. Les migrations database/migration_v7_9*.sql sont obligatoires ; le service db-migrate les applique au déploiement. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
154
app/Views/partials/dashboard.php
Normal file
154
app/Views/partials/dashboard.php
Normal file
@@ -0,0 +1,154 @@
|
||||
<?php
|
||||
/** @var string $currentWeek */
|
||||
?>
|
||||
<section id="dashboard-view" class="app-view page-content dashboard-page">
|
||||
|
||||
<section class="card dashboard-context-card">
|
||||
<div class="section-heading">
|
||||
<div>
|
||||
<h2>Semaine de travail</h2>
|
||||
<p class="section-subtitle" id="dashboard-week-label">Chargement de la semaine en cours…</p>
|
||||
</div>
|
||||
<div class="dashboard-context-actions">
|
||||
<label class="field dashboard-week-field">
|
||||
<span>Semaine analysée</span>
|
||||
<input id="dashboard-week" type="week" value="<?= htmlspecialchars($currentWeek) ?>">
|
||||
</label>
|
||||
<button id="dashboard-refresh" class="button button-secondary" type="button">Actualiser</button>
|
||||
</div>
|
||||
</div>
|
||||
<p class="dashboard-context-note" id="dashboard-week-context" hidden></p>
|
||||
</section>
|
||||
|
||||
<div id="dashboard-message" class="message" role="status" aria-live="polite"></div>
|
||||
<div id="dashboard-loading" class="empty-state" hidden>Consolidation des indicateurs…</div>
|
||||
|
||||
<div class="dashboard-tiles" aria-live="polite">
|
||||
<a class="dashboard-tile dashboard-tile-action" id="dashboard-tile-pending" href="pending.php">
|
||||
<span class="dashboard-tile-label">Plannings à valider</span>
|
||||
<strong class="dashboard-tile-value" id="dashboard-pending-count">—</strong>
|
||||
<small class="dashboard-tile-detail" id="dashboard-pending-detail">Brouillons contenant des affectations</small>
|
||||
<span class="dashboard-tile-cta">Ouvrir la file de validation</span>
|
||||
</a>
|
||||
<a class="dashboard-tile dashboard-tile-action" id="dashboard-tile-coverage" href="coverage.php">
|
||||
<span class="dashboard-tile-label">Manques de couverture</span>
|
||||
<strong class="dashboard-tile-value" id="dashboard-coverage-count">—</strong>
|
||||
<small class="dashboard-tile-detail" id="dashboard-coverage-detail">Sur la semaine analysée</small>
|
||||
<span class="dashboard-tile-cta">Voir le détail des plages</span>
|
||||
</a>
|
||||
<a class="dashboard-tile dashboard-tile-action" id="dashboard-tile-quota" href="annual.php">
|
||||
<span class="dashboard-tile-label">Quotas dépassés</span>
|
||||
<strong class="dashboard-tile-value" id="dashboard-quota-count">—</strong>
|
||||
<small class="dashboard-tile-detail" id="dashboard-quota-detail">Agents au-delà de leur quota annuel</small>
|
||||
<span class="dashboard-tile-cta">Ouvrir la vue annuelle</span>
|
||||
</a>
|
||||
<a class="dashboard-tile dashboard-tile-action" id="dashboard-tile-setup" href="administration.php">
|
||||
<span class="dashboard-tile-label">Lieux à paramétrer</span>
|
||||
<strong class="dashboard-tile-value" id="dashboard-setup-count">—</strong>
|
||||
<small class="dashboard-tile-detail" id="dashboard-setup-detail">Sans horaires de couverture attendus</small>
|
||||
<span class="dashboard-tile-cta">Ouvrir l’administration</span>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<div class="dashboard-columns">
|
||||
<section class="card dashboard-list-card">
|
||||
<div class="section-heading">
|
||||
<div>
|
||||
<h2>À valider en priorité</h2>
|
||||
<p class="section-subtitle">Les brouillons dont la semaine est la plus ancienne.</p>
|
||||
</div>
|
||||
<a class="button button-secondary" href="pending.php">Tout voir</a>
|
||||
</div>
|
||||
<div id="dashboard-pending-empty" class="empty-state" hidden>Aucun planning n’attend de validation.</div>
|
||||
<ul class="dashboard-list" id="dashboard-pending-list"></ul>
|
||||
</section>
|
||||
|
||||
<section class="card dashboard-list-card">
|
||||
<div class="section-heading">
|
||||
<div>
|
||||
<h2>Couverture à renforcer</h2>
|
||||
<p class="section-subtitle">Les plages les plus déficitaires de la semaine analysée.</p>
|
||||
</div>
|
||||
<a class="button button-secondary" id="dashboard-coverage-link" href="coverage.php">Tout voir</a>
|
||||
</div>
|
||||
<div id="dashboard-coverage-empty" class="empty-state" hidden>Aucun manque de couverture sur cette semaine.</div>
|
||||
<ul class="dashboard-list" id="dashboard-coverage-list"></ul>
|
||||
<div id="dashboard-coverage-unconfigured" class="dashboard-inline-note" hidden></div>
|
||||
</section>
|
||||
</div>
|
||||
|
||||
<section class="card dashboard-quota-card">
|
||||
<div class="section-heading">
|
||||
<div>
|
||||
<h2>Suivi des quotas annuels</h2>
|
||||
<p class="section-subtitle" id="dashboard-quota-subtitle">Heures affectées, validées et brouillon comprises, sur l’année civile.</p>
|
||||
</div>
|
||||
<a class="button button-secondary" href="annual.php">Vue annuelle détaillée</a>
|
||||
</div>
|
||||
|
||||
<div class="dashboard-quota-summary">
|
||||
<article class="summary-card">
|
||||
<span>Agents suivis</span>
|
||||
<strong id="dashboard-quota-agents">—</strong>
|
||||
<small>actifs</small>
|
||||
</article>
|
||||
<article class="summary-card">
|
||||
<span>Sans aucune heure</span>
|
||||
<strong id="dashboard-quota-empty">—</strong>
|
||||
<small>agent(s) non planifié(s)</small>
|
||||
</article>
|
||||
</div>
|
||||
|
||||
<div id="dashboard-quota-empty-state" class="empty-state" hidden>Aucun agent actif à suivre.</div>
|
||||
<div class="dashboard-quota-table-wrap">
|
||||
<table class="dashboard-quota-table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Agent</th>
|
||||
<th>Lieu de rattachement</th>
|
||||
<th>Quota annuel</th>
|
||||
<th>Affecté</th>
|
||||
<th>Consommation</th>
|
||||
<th></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody id="dashboard-quota-body"></tbody>
|
||||
</table>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="card dashboard-shortcuts-card">
|
||||
<div class="section-heading">
|
||||
<div>
|
||||
<h2>Actions fréquentes</h2>
|
||||
<p class="section-subtitle">Les écrans les plus utilisés, accessibles en un clic.</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="dashboard-shortcuts">
|
||||
<a class="dashboard-shortcut" href="planning.php">
|
||||
<strong>Saisir un planning</strong>
|
||||
<small>Un agent, une semaine, un lieu.</small>
|
||||
</a>
|
||||
<a class="dashboard-shortcut" href="structures.php">
|
||||
<strong>Consulter un lieu</strong>
|
||||
<small>Qui travaille où cette semaine.</small>
|
||||
</a>
|
||||
<a class="dashboard-shortcut" href="teams.php">
|
||||
<strong>Composer une équipe</strong>
|
||||
<small>Mercredis et vacances scolaires.</small>
|
||||
</a>
|
||||
<a class="dashboard-shortcut" href="vacations.php">
|
||||
<strong>Mettre à jour les vacances</strong>
|
||||
<small>Périodes scolaires de référence.</small>
|
||||
</a>
|
||||
<a class="dashboard-shortcut" href="pta.php">
|
||||
<strong>Ouvrir un PTA détaillé</strong>
|
||||
<small>Souhaits, contraintes et répartition.</small>
|
||||
</a>
|
||||
<a class="dashboard-shortcut" href="administration.php">
|
||||
<strong>Gérer les référentiels</strong>
|
||||
<small>Agents, lieux, postes, couverture.</small>
|
||||
</a>
|
||||
</div>
|
||||
</section>
|
||||
</section>
|
||||
Reference in New Issue
Block a user