Checkpoint: Ajout du tri chronologique des séquences dans la gestion des attestations:
- Modification du backend pour inclure la première date de chaque séquence - Tri des séquences par ordre chronologique (première date en premier) - Les séquences sont maintenant affichées dans l'ordre temporel pour une meilleure organisation
This commit is contained in:
@@ -459,13 +459,22 @@ export default function AdminGestionAttestations() {
|
||||
{/* Regrouper les apprenants par séquence */}
|
||||
{Object.entries(
|
||||
apprenants.reduce((acc: Record<string, typeof apprenants>, item) => {
|
||||
const sequenceKey = `${item.sequence.id}-${item.sequence.nom}`;
|
||||
const sequenceKey = `${item.sequence.id}-${item.sequence.nom}-${item.sequence.premiereDate || ''}`;
|
||||
if (!acc[sequenceKey]) acc[sequenceKey] = [];
|
||||
acc[sequenceKey].push(item);
|
||||
return acc;
|
||||
}, {})
|
||||
).map(([sequenceKey, sequenceApprenants]) => {
|
||||
const sequenceName = sequenceKey.split('-').slice(1).join('-');
|
||||
)
|
||||
.sort((a, b) => {
|
||||
// Extraire la première date de la clé de séquence
|
||||
const dateA = a[0].split('-').pop() || '';
|
||||
const dateB = b[0].split('-').pop() || '';
|
||||
return dateA.localeCompare(dateB);
|
||||
})
|
||||
.map(([sequenceKey, sequenceApprenants]) => {
|
||||
// Extraire le nom de la séquence (sans l'ID ni la date)
|
||||
const parts = sequenceKey.split('-');
|
||||
const sequenceName = parts.slice(1, -1).join('-');
|
||||
return (
|
||||
<div key={sequenceKey} className="border rounded-lg overflow-hidden">
|
||||
{/* En-tête de séquence */}
|
||||
|
||||
@@ -174,6 +174,7 @@ export async function getApprenantsWithAttestationStatus(formationId: number) {
|
||||
sequence: {
|
||||
id: sequences.id,
|
||||
nom: sequences.nom,
|
||||
premiereDate: sequences.premiereDate,
|
||||
},
|
||||
attestation: {
|
||||
id: attestations.id,
|
||||
|
||||
6
todo.md
6
todo.md
@@ -1272,4 +1272,10 @@
|
||||
- [x] Analyser l'affichage actuel (regroupement par formation)
|
||||
- [x] Vérifier le backend (données de séquence déjà présentes)
|
||||
- [x] Adapter l'interface pour afficher les apprenants regroupés par séquence
|
||||
- [x] Déployer sur le VPS
|
||||
|
||||
## Trier les séquences par ordre chronologique dans la gestion des attestations
|
||||
|
||||
- [x] Modifier le backend pour inclure la première date de chaque séquence
|
||||
- [x] Adapter le frontend pour trier les séquences par date
|
||||
- [ ] Déployer sur le VPS
|
||||
|
||||
Reference in New Issue
Block a user