Modification page "A valider" pour regrouper les créneaux des agents
This commit is contained in:
@@ -205,7 +205,7 @@ final class PageController extends Controller
|
||||
{
|
||||
$this->access->requirePage('pta');
|
||||
$this->renderPage('pta', 'PTA annuel par agent', 'pta', [
|
||||
'pageSubtitle' => 'Le PTA détaillé d’un agent : souhaits de lieux, contraintes et répartition des heures.',
|
||||
'pageSubtitle' => 'Le PTA détaillé d\'un agent : souhaits de lieux, contraintes et répartition des heures.',
|
||||
'agents' => (new AgentModel($this->pdo))->allActive(),
|
||||
'structures' => (new StructureModel($this->pdo))->allActive(),
|
||||
'scripts' => ['pta.js'],
|
||||
@@ -303,8 +303,8 @@ final class PageController extends Controller
|
||||
public function manage_structures(): void
|
||||
{
|
||||
$this->access->requirePage('manage_structures');
|
||||
$this->renderPage('manage_structures', 'Lieux d’affectation', 'manage_structures', [
|
||||
'pageSubtitle' => 'Créer un lieu d’affectation et définir son type : périscolaire ou extrascolaire.',
|
||||
$this->renderPage('manage_structures', 'Lieux d\'affectation', 'manage_structures', [
|
||||
'pageSubtitle' => 'Créer un lieu d\'affectation et définir son type : périscolaire ou extrascolaire.',
|
||||
'structures' => (new StructureModel($this->pdo))->allActive(),
|
||||
'scripts' => ['administration.js'],
|
||||
'modules' => ['administration'],
|
||||
@@ -323,7 +323,7 @@ final class PageController extends Controller
|
||||
{
|
||||
$this->access->requirePage('dsi');
|
||||
$this->renderPage('dsi', 'Espace DSI', 'dsi', [
|
||||
'pageSubtitle' => 'Les comptes d’accès de l’application, leurs jetons, et le journal des connexions, des écritures et des refus.',
|
||||
'pageSubtitle' => 'Les comptes d\'accès de l\'application, leurs jetons, et le journal des connexions, des écritures et des refus.',
|
||||
'scripts' => ['dsi.js'],
|
||||
'modules' => ['dsi'],
|
||||
'pageConfig' => [
|
||||
@@ -343,7 +343,7 @@ final class PageController extends Controller
|
||||
public function faq(): void
|
||||
{
|
||||
$this->access->requirePage('faq');
|
||||
$this->renderPage('faq', 'Guide d’utilisation', 'faq', [
|
||||
$this->renderPage('faq', 'Guide d\'utilisation', 'faq', [
|
||||
'pageSubtitle' => 'Le parcours complet, du paramétrage des lieux à la validation des plannings, et les réponses aux questions les plus fréquentes.',
|
||||
]);
|
||||
}
|
||||
|
||||
@@ -51,10 +51,10 @@ window.PTA_PAGE_CONFIG = <?= json_encode([
|
||||
'params' => $pageConfig,
|
||||
], JSON_THROW_ON_ERROR | JSON_UNESCAPED_UNICODE) ?>;
|
||||
</script>
|
||||
<script src="assets/js/core.js?v=7.23"></script>
|
||||
<script src="assets/js/core.js?v=7.24"></script>
|
||||
<?php foreach ($scripts as $script): ?>
|
||||
<script src="assets/js/<?= htmlspecialchars($script) ?>?v=7.23"></script>
|
||||
<script src="assets/js/<?= htmlspecialchars($script) ?>?v=7.24"></script>
|
||||
<?php endforeach; ?>
|
||||
<script src="assets/js/page-bootstrap.js?v=7.23"></script>
|
||||
<script src="assets/js/page-bootstrap.js?v=7.24"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -104,7 +104,7 @@ $showHelpTab = in_array('faq', $allowedPages, true);
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title><?= htmlspecialchars($pageTitle) ?> — PTA</title>
|
||||
<link rel="stylesheet" href="assets/style.css?v=7.23">
|
||||
<link rel="stylesheet" href="assets/style.css?v=7.24">
|
||||
</head>
|
||||
<body>
|
||||
<main class="app-shell">
|
||||
|
||||
@@ -43,7 +43,7 @@ $titre = $titres[$etape] ?? 'Connexion';
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title><?= htmlspecialchars($titre) ?> — PTA</title>
|
||||
<link rel="stylesheet" href="assets/style.css?v=7.23">
|
||||
<link rel="stylesheet" href="assets/style.css?v=7.24">
|
||||
</head>
|
||||
<body class="role-page-body">
|
||||
<main class="role-page-shell">
|
||||
|
||||
@@ -1,8 +1,13 @@
|
||||
<?php
|
||||
/**
|
||||
* File des plannings en attente de validation.
|
||||
* File des plannings en attente de validation, REGROUPÉE PAR AGENT.
|
||||
* Module JS : `pendingValidation`.
|
||||
*
|
||||
* Le tableau ne liste plus un planning par ligne mais un AGENT par ligne
|
||||
* (nom, lieu d'affectation, nombre de semaines à valider) : la file dépassait
|
||||
* la centaine de lignes en période de saisie. Le détail semaine par semaine
|
||||
* reste accessible en dépliant la ligne de l'agent.
|
||||
*
|
||||
* Partiel de contenu inclus par la vue de page homonyme. Les identifiants HTML
|
||||
* posés ici sont les points d'ancrage du module JS : les renommer casse le
|
||||
* module sans aucune erreur visible.
|
||||
@@ -13,16 +18,16 @@
|
||||
<div class="section-heading">
|
||||
<div>
|
||||
<h2>Plannings en attente de validation</h2>
|
||||
<p class="section-subtitle">Retrouvez tous les brouillons contenant des affectations. Ouvrez un planning pour le contrôler puis le valider directement dans l’écran de saisie.</p>
|
||||
<p class="section-subtitle">Chaque ligne regroupe les brouillons d’un agent. Dépliez-la pour voir le détail des semaines, puis ouvrez celle à contrôler pour la valider dans l’écran de saisie.</p>
|
||||
</div>
|
||||
<button id="refresh-pending-validation" class="button button-secondary" type="button">Actualiser</button>
|
||||
</div>
|
||||
|
||||
<div class="pending-validation-summary" aria-live="polite">
|
||||
<article class="pending-summary-card">
|
||||
<span>À valider</span>
|
||||
<strong id="pending-validation-count">0</strong>
|
||||
<small>planning(s)</small>
|
||||
<span>Agents concernés</span>
|
||||
<strong id="pending-validation-agents">0</strong>
|
||||
<small><span id="pending-validation-count">0</span> planning(s) à valider</small>
|
||||
</article>
|
||||
<article class="pending-summary-card">
|
||||
<span>Volume en attente</span>
|
||||
@@ -47,8 +52,7 @@
|
||||
<tr>
|
||||
<th>Agent</th>
|
||||
<th>Lieu d’affectation</th>
|
||||
<th>Semaine</th>
|
||||
<th>Créneaux</th>
|
||||
<th>Semaines à valider</th>
|
||||
<th>Volume</th>
|
||||
<th>Dernière modification</th>
|
||||
<th></th>
|
||||
|
||||
Reference in New Issue
Block a user