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:
@@ -1,3 +1,10 @@
|
||||
<?php
|
||||
// Les rôles sans droit aux semaines types n'ont qu'un seul mode de saisie :
|
||||
// le sélecteur de méthode disparaît et la numérotation des étapes se resserre.
|
||||
$usesTemplates = !empty($permissions['can_use_templates']);
|
||||
$etapeSaisie = $usesTemplates ? 3 : 2;
|
||||
$etapePlanning = $usesTemplates ? 4 : 3;
|
||||
?>
|
||||
<section id="editor-view" class="app-view page-content">
|
||||
<?php if (($accessProfile['role'] ?? '') === 'RESPONSABLE_STRUCTURE'): ?>
|
||||
<div class="message message-info role-page-notice">
|
||||
@@ -33,6 +40,83 @@
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<?php if ($usesTemplates): ?>
|
||||
<section class="card editor-mode-card">
|
||||
<div class="section-heading">
|
||||
<div>
|
||||
<h2>2. Choisir la méthode de saisie</h2>
|
||||
<p class="section-subtitle">Une semaine type se compose une fois puis se duplique sur toute une période. La saisie semaine par semaine reste disponible pour les corrections.</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="editor-mode-choices" role="tablist" aria-label="Méthode de saisie">
|
||||
<button id="editor-mode-template" class="editor-mode-choice is-active" type="button"
|
||||
role="tab" aria-selected="true" aria-controls="template-mode-panel">
|
||||
<span class="editor-mode-choice-badge">Le plus rapide</span>
|
||||
<strong>Semaine type</strong>
|
||||
<small>Composer une semaine de référence, puis la dupliquer sur une période entière.</small>
|
||||
</button>
|
||||
<button id="editor-mode-week" class="editor-mode-choice" type="button"
|
||||
role="tab" aria-selected="false" aria-controls="week-mode-panel">
|
||||
<strong>Semaine précise</strong>
|
||||
<small>Saisir ou corriger une seule semaine, jour par jour.</small>
|
||||
</button>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<div id="template-mode-panel" class="editor-mode-panel" role="tabpanel" aria-labelledby="editor-mode-template">
|
||||
<section class="card template-editor-card">
|
||||
<div class="section-heading">
|
||||
<div>
|
||||
<h2>Éditeur de semaine type</h2>
|
||||
<p class="section-subtitle">Les plages saisies ici ne sont pas encore planifiées : elles décrivent une semaine de référence, réutilisable autant de fois que nécessaire.</p>
|
||||
</div>
|
||||
<div class="totals template-editor-total">
|
||||
<span>Total de la semaine type</span>
|
||||
<strong id="template-editor-total">0 h 00</strong>
|
||||
<small id="template-editor-total-detail">dont 0 h 00 décomptées</small>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="template-editor-toolbar">
|
||||
<label class="field">
|
||||
<span>Semaine type de l’agent</span>
|
||||
<select id="template-editor-select" disabled>
|
||||
<option value="">Nouvelle semaine type</option>
|
||||
</select>
|
||||
</label>
|
||||
<label class="field">
|
||||
<span>Nom de la semaine type <strong>*</strong></span>
|
||||
<input id="template-editor-name" type="text" maxlength="120" placeholder="Ex. Semaine scolaire classique" disabled>
|
||||
</label>
|
||||
<div class="template-editor-toolbar-actions">
|
||||
<button id="template-editor-delete" class="button button-danger" type="button" disabled>Supprimer</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="template-editor-empty" class="empty-state">Choisissez un lieu d’affectation et un agent pour composer sa semaine type.</div>
|
||||
<div id="template-editor-grid" class="template-editor-grid" hidden></div>
|
||||
|
||||
<div id="template-editor-message" class="message" role="status" aria-live="polite"></div>
|
||||
|
||||
<div class="template-editor-actions">
|
||||
<button id="template-editor-save" class="button button-primary" type="button" disabled>
|
||||
Enregistrer la semaine type
|
||||
</button>
|
||||
<button id="template-editor-apply-period" class="button button-success" type="button" disabled>
|
||||
Dupliquer sur une période…
|
||||
</button>
|
||||
<button id="template-editor-apply-week" class="button button-secondary" type="button" disabled>
|
||||
Appliquer à la semaine sélectionnée…
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<p class="hint">Enregistrer une semaine type ne modifie aucun planning. Rien n’est planifié tant que vous ne l’avez pas dupliquée sur une période ou appliquée à une semaine.</p>
|
||||
</section>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
|
||||
<div id="week-mode-panel" class="editor-mode-panel"<?= $usesTemplates ? ' hidden' : '' ?>>
|
||||
|
||||
<section class="quota-strip" id="editor-quota" hidden>
|
||||
<article class="quota-card">
|
||||
<span>Quotité</span>
|
||||
@@ -57,7 +141,7 @@
|
||||
<section class="card" id="entry-card" aria-disabled="true">
|
||||
<div class="section-heading">
|
||||
<div>
|
||||
<h2>2. Saisir ou modifier les affectations</h2>
|
||||
<h2><?= $etapeSaisie ?>. Saisir ou modifier les affectations</h2>
|
||||
<p class="section-subtitle">Chaque plage horaire possède son propre motif et sa propre règle de décompte du quota annuel.</p>
|
||||
</div>
|
||||
</div>
|
||||
@@ -92,7 +176,7 @@
|
||||
<section class="card">
|
||||
<div class="section-heading">
|
||||
<div>
|
||||
<h2>3. Planning global de l’agent</h2>
|
||||
<h2><?= $etapePlanning ?>. Planning global de l’agent</h2>
|
||||
<p id="week-label" class="section-subtitle">Toutes les affectations de l’agent sur la semaine, quel que soit le lieu d’affectation. Cliquez sur un créneau pour le déplacer ou le dupliquer, ou glissez-le directement vers un autre jour.</p>
|
||||
</div>
|
||||
<div class="planning-summary-actions">
|
||||
@@ -133,6 +217,8 @@
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
</div><!-- /#week-mode-panel -->
|
||||
</section>
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user