[Frontend] Édition fiche parent + AM (dashboard admin/gestionnaire) #131

Closed
opened 2026-06-16 14:27:09 +00:00 by jmartin · 2 comments
Owner

Contexte

Dans parent_managmant_widget.dart et assistante_maternelle_management_widget.dart, l'action Modifier ouvre AdminDetailModal en lecture seule avec le message « Action Modifier a implementer ». Les APIs PATCH /parents/:id et PATCH /assistantes-maternelles/:id existent côté back mais ne sont pas appelées.

Référence CDC : §4.5.2b-c (modification des informations).

Objectif

Permettre la modification des fiches parent et AM depuis le dashboard.

Frontend

  • Modale ou wizard mode édition (réutiliser formulaires #78 : PersonalInfoFormScreen, ProfessionalInfoFormScreen avec DisplayMode.editable)
  • Brancher PATCH via UserService (ticket services API)
  • Champs user (nom, prénom, email, téléphone) + champs métier (adresse, agrément AM, etc.)
  • Feedback succès/erreur, rafraîchissement liste
  • Retirer placeholders « Action Modifier a implementer »

Dépendances

  • [Frontend] UserService — brancher APIs parents, AM et enfants

Note

Les wizards de validation (validation_family_wizard, validation_am_wizard) restent en mode consultation ; ne pas les réutiliser tels quels pour l'édition.

## Contexte Dans `parent_managmant_widget.dart` et `assistante_maternelle_management_widget.dart`, l'action **Modifier** ouvre `AdminDetailModal` en **lecture seule** avec le message « Action Modifier a implementer ». Les APIs `PATCH /parents/:id` et `PATCH /assistantes-maternelles/:id` existent côté back mais ne sont pas appelées. Référence CDC : §4.5.2b-c (modification des informations). ## Objectif Permettre la modification des fiches parent et AM depuis le dashboard. ## Frontend - [ ] Modale ou wizard **mode édition** (réutiliser formulaires #78 : `PersonalInfoFormScreen`, `ProfessionalInfoFormScreen` avec `DisplayMode.editable`) - [ ] Brancher `PATCH` via `UserService` (ticket services API) - [ ] Champs user (nom, prénom, email, téléphone) + champs métier (adresse, agrément AM, etc.) - [ ] Feedback succès/erreur, rafraîchissement liste - [ ] Retirer placeholders « Action Modifier a implementer » ## Dépendances - [Frontend] UserService — brancher APIs parents, AM et enfants ## Note Les wizards de **validation** (`validation_family_wizard`, `validation_am_wizard`) restent en mode consultation ; ne pas les réutiliser tels quels pour l'édition.
jmartin added this to the 0.1.0 milestone 2026-06-16 14:27:09 +00:00
jmartin added the
frontend
gestionnaire
admin
phase-1
ui
v0.1.0
labels 2026-06-16 14:27:09 +00:00
Author
Owner

Branche feature/140-dashboard-admin-ch6-famille depuis develop — commit 1dddc679.\n\nPR: https://git.ptits-pas.fr/jmartin/petitspas/compare/develop...feature/140-dashboard-admin-ch6-famille

Branche `feature/140-dashboard-admin-ch6-famille` depuis `develop` — commit 1dddc679.\n\nPR: https://git.ptits-pas.fr/jmartin/petitspas/compare/develop...feature/140-dashboard-admin-ch6-famille
Author
Owner

Fermeture ticket #131 — livré sur develop et master

Branche feature/131 mergée dans develop, puis squash merge developmaster (déploiement production).

Fiche parent (dashboard admin)

  • Modale AdminParentEditModal éditable dès l'ouverture
  • En-tête dynamique : nom/prénom + sous-titre co-parent (si connu)
  • Gélule statut modifiable
  • PATCH /api/v1/parents/:id/fiche — identité + statut
  • GET /api/v1/parents — liste parents (fix décorateur @Get() manquant)
  • Réponses API : co_parent peuplé, secrets user masqués (sanitizeUserForApi)
  • Liste enfants en bas de fiche + rattachement/détachement

Fiche AM (dashboard admin)

  • Modale AdminAmEditModal — 3 onglets : Identité | Fiche pro | Enfants accueillis
  • PATCH /api/v1/assistantes-maternelles/:id/fiche — identité + champs pro (NIR, date/lieu naissance, date agrément, places, disponibilité)
  • POST/DELETE …/enfants/:enfantId — rattacher / détacher un enfant
  • Grille capacité AdminAmChildrenCapacityGrid (2×2)
  • Rattachement enfants différé jusqu'à Sauvegarder (pas d'appel API immédiat)

Back — placement AM ↔ enfant

  • Table enfants_assistantes_maternelles (placement temporel, 1 garde active/enfant)
  • Enum enfant : a_naitre, garde, sans_garde, scolariseplus actif
  • Rattachement → statut enfant garde ; détachement → sans_garde
  • Migration : database/migrations/2026_enfants_assistantes_maternelles.sql
  • Schéma canonique : database/BDD.sql

Front — statuts & polish

  • enfant_status_utils.dart — libellés/couleurs garde/sans_garde
  • Mise à jour cartes enfants, modale détail, filtres dashboard

Correctifs recette

  • GET /parents 404 → ajout @Get() sur getAll()
  • Sauvegarde AM 400 → alignement DTO UpdateAmFicheAdminDto sur payload front
  • Crash NIR → fix toISOString + pas d'effacement NIR (colonne NOT NULL)

Hors périmètre #131 (tickets voisins)

  • #137 onglet Enfants global · #138 fiche enfant complète · #115/#116 affiliation avancée

Issue fermée après merge sur develop + master et déploiement production.

## Fermeture ticket #131 — livré sur `develop` et `master` Branche **`feature/131`** mergée dans **`develop`**, puis squash merge **`develop` → `master`** (déploiement production). ### Fiche parent (dashboard admin) - Modale **`AdminParentEditModal`** éditable dès l'ouverture - En-tête dynamique : **nom/prénom** + sous-titre **co-parent** (si connu) - Gélule **statut** modifiable - **`PATCH /api/v1/parents/:id/fiche`** — identité + statut - **`GET /api/v1/parents`** — liste parents (fix décorateur `@Get()` manquant) - Réponses API : `co_parent` peuplé, secrets user masqués (`sanitizeUserForApi`) - Liste enfants en bas de fiche + rattachement/détachement ### Fiche AM (dashboard admin) - Modale **`AdminAmEditModal`** — 3 onglets : Identité | Fiche pro | Enfants accueillis - **`PATCH /api/v1/assistantes-maternelles/:id/fiche`** — identité + champs pro (NIR, date/lieu naissance, date agrément, places, disponibilité) - **`POST/DELETE …/enfants/:enfantId`** — rattacher / détacher un enfant - Grille capacité **`AdminAmChildrenCapacityGrid`** (2×2) - Rattachement enfants **différé jusqu'à Sauvegarder** (pas d'appel API immédiat) ### Back — placement AM ↔ enfant - Table **`enfants_assistantes_maternelles`** (placement temporel, 1 garde active/enfant) - Enum enfant : `a_naitre`, `garde`, `sans_garde`, `scolarise` — **plus `actif`** - Rattachement → statut enfant `garde` ; détachement → `sans_garde` - Migration : `database/migrations/2026_enfants_assistantes_maternelles.sql` - Schéma canonique : `database/BDD.sql` ### Front — statuts & polish - **`enfant_status_utils.dart`** — libellés/couleurs `garde`/`sans_garde` - Mise à jour cartes enfants, modale détail, filtres dashboard ### Correctifs recette - `GET /parents` 404 → ajout `@Get()` sur `getAll()` - Sauvegarde AM 400 → alignement DTO `UpdateAmFicheAdminDto` sur payload front - Crash NIR → fix `toISOString` + pas d'effacement NIR (colonne NOT NULL) ### Hors périmètre #131 (tickets voisins) - **#137** onglet Enfants global · **#138** fiche enfant complète · **#115/#116** affiliation avancée --- *Issue fermée après merge sur `develop` + `master` et déploiement production.*
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: jmartin/petitspas#131
No description provided.