feat: Gestion des classes scolaires
Permet aux administrateurs de créer, modifier et supprimer des classes pour organiser les élèves par niveau. L'archivage soft-delete préserve l'historique tout en masquant les classes obsolètes. Inclut la validation des noms (2-50 caractères), les niveaux scolaires du CP à la Terminale, et les contrôles d'accès par rôle.
This commit is contained in:
@@ -31,11 +31,11 @@
|
||||
<span class="action-label">Gérer les utilisateurs</span>
|
||||
<span class="action-hint">Bientôt disponible</span>
|
||||
</div>
|
||||
<div class="action-card disabled" aria-disabled="true">
|
||||
<a class="action-card" href="/admin/classes">
|
||||
<span class="action-icon">🏫</span>
|
||||
<span class="action-label">Configurer les classes</span>
|
||||
<span class="action-hint">Bientôt disponible</span>
|
||||
</div>
|
||||
<span class="action-hint">Créer et gérer</span>
|
||||
</a>
|
||||
<div class="action-card disabled" aria-disabled="true">
|
||||
<span class="action-icon">📅</span>
|
||||
<span class="action-label">Calendrier scolaire</span>
|
||||
|
||||
33
frontend/src/lib/constants/schoolLevels.ts
Normal file
33
frontend/src/lib/constants/schoolLevels.ts
Normal file
@@ -0,0 +1,33 @@
|
||||
/**
|
||||
* Liste des niveaux scolaires valides selon le référentiel Éducation Nationale.
|
||||
*
|
||||
* Utilisé pour :
|
||||
* - La validation dans les formulaires
|
||||
* - Les selects/dropdowns
|
||||
*
|
||||
* @see backend/src/Administration/Domain/Model/SchoolClass/SchoolLevels.php
|
||||
*/
|
||||
export const SCHOOL_LEVELS = [
|
||||
'CP',
|
||||
'CE1',
|
||||
'CE2',
|
||||
'CM1',
|
||||
'CM2',
|
||||
'6ème',
|
||||
'5ème',
|
||||
'4ème',
|
||||
'3ème',
|
||||
'2nde',
|
||||
'1ère',
|
||||
'Terminale'
|
||||
] as const;
|
||||
|
||||
export type SchoolLevel = (typeof SCHOOL_LEVELS)[number];
|
||||
|
||||
/**
|
||||
* Options pour les selects de niveaux scolaires.
|
||||
*/
|
||||
export const SCHOOL_LEVEL_OPTIONS = SCHOOL_LEVELS.map((level) => ({
|
||||
value: level,
|
||||
label: level
|
||||
}));
|
||||
Reference in New Issue
Block a user