update
This commit is contained in:
@@ -254,12 +254,83 @@ final class PageController extends Controller
|
||||
{
|
||||
$this->access->requirePage('administration');
|
||||
$this->renderPage('administration', 'Administration', 'administration', [
|
||||
'pageSubtitle' => 'Les référentiels de PTA : agents, lieux d’affectation, postes et horaires de couverture attendus.',
|
||||
'agents' => (new AgentModel($this->pdo))->allActive(),
|
||||
'pageSubtitle' => 'Les horaires de couverture attendus de chaque lieu : les plages où un effectif minimum doit être présent.',
|
||||
// Depuis la V7.14, cet écran ne porte plus que les règles de
|
||||
// couverture : agents et lieux ont leur propre page (management).
|
||||
// Seule la liste des lieux reste nécessaire, pour son sélecteur.
|
||||
'structures' => (new StructureModel($this->pdo))->allActive(),
|
||||
'posts' => (new AgentModel($this->pdo))->allPosts(),
|
||||
'scripts' => ['administration.js', 'coverage.js'],
|
||||
'modules' => ['administration', 'coverage'],
|
||||
'scripts' => ['coverage.js'],
|
||||
'modules' => ['coverage'],
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* Management — Agents (V7.14) : création, liste et fiche des agents.
|
||||
*
|
||||
* Ce référentiel partageait l'écran « Administration » avec celui des lieux
|
||||
* et les horaires de couverture, trois objets sans rapport. Chacun a
|
||||
* désormais son onglet, réunis sous le groupe « Management » de la barre de
|
||||
* navigation.
|
||||
*
|
||||
* NOM DE MÉTHODE EN SNAKE_CASE, à rebours du reste du projet : le nom de la
|
||||
* méthode EST la clé de page passée à runPage() et inscrite dans
|
||||
* acces_role_page, où les clés sont en minuscules. Les garder identiques
|
||||
* prime sur l'uniformité de style — voir l'en-tête de cette classe.
|
||||
*
|
||||
* La liste des lieux est nécessaire ici aussi : le formulaire de création
|
||||
* demande le lieu principal de l'agent.
|
||||
*/
|
||||
public function manage_agents(): void
|
||||
{
|
||||
$this->access->requirePage('manage_agents');
|
||||
$agentModel = new AgentModel($this->pdo);
|
||||
$this->renderPage('manage_agents', 'Agents', 'manage_agents', [
|
||||
'pageSubtitle' => 'Créer un agent, corriger sa fiche, changer son lieu principal de rattachement.',
|
||||
'agents' => $agentModel->allActive(),
|
||||
'structures' => (new StructureModel($this->pdo))->allActive(),
|
||||
'posts' => $agentModel->allPosts(),
|
||||
'scripts' => ['administration.js'],
|
||||
'modules' => ['administration'],
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* Management — Lieux d'affectation (V7.14) : création et paramètres.
|
||||
*
|
||||
* Les horaires de couverture d'un lieu restent sur « Administration » : ils
|
||||
* ne décrivent pas le lieu mais une exigence de présence.
|
||||
*/
|
||||
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.',
|
||||
'structures' => (new StructureModel($this->pdo))->allActive(),
|
||||
'scripts' => ['administration.js'],
|
||||
'modules' => ['administration'],
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* Espace DSI (V7.11) : comptes d'accès, jetons et journal d'activité.
|
||||
*
|
||||
* Page d'administration TECHNIQUE, ouverte au seul rôle DSI par
|
||||
* acces_role_page. Elle ne charge aucun référentiel métier — la DSI n'a rien
|
||||
* à connaître des agents ni des plannings ; les seules listes qu'elle
|
||||
* manipule (identités sans compte) sont servies par l'API.
|
||||
*/
|
||||
public function dsi(): void
|
||||
{
|
||||
$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.',
|
||||
'scripts' => ['dsi.js'],
|
||||
'modules' => ['dsi'],
|
||||
'pageConfig' => [
|
||||
// Lien profond « journal de ce compte » : filtre d'emblée le
|
||||
// journal sur le compte désigné.
|
||||
'compteId' => $this->positiveInt($_GET['compte_id'] ?? null),
|
||||
],
|
||||
]);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user