003fe6b762
feat( #131 ): fiches parent/AM éditable, placement AM↔enfant, statuts garde/sans_garde
...
Squash merge develop → master.
- Fiche parent éditable (co-parent, PATCH fiche, GET /parents)
- Fiche AM 3 onglets (PATCH fiche, rattacher/détacher enfants)
- Table enfants_assistantes_maternelles + enum garde/sans_garde
- Migration SQL + BDD.sql canonique
- Correctifs recette : @Get() parents, DTO fiche AM, fix NIR
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-11 22:49:57 +02:00
f71943fa79
fix(front): afficher le statut Refusé pour les parents ( #110 )
...
_displayStatus refuse → Refusé ; filtre dropdown Parents aligné.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-15 22:19:29 +02:00
65f10e9ca6
fix(front): refus famille en un seul appel API ( #110 )
...
Le back propage le refus et les mails aux co-parents ; évite la 2e requête en erreur.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-11 22:36:38 +02:00
b6e83bf9ef
fix(front): SnackBar de confirmation après refus dossier ( #110 )
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-13 18:56:31 +02:00
7ba8d51668
feat(front): câbler PATCH refus utilisateur depuis wizards validation ( #110 )
...
- UserService.refuseUser → /users/:id/refuser
- AM + famille : envoi motifs, onSuccess + refresh liste
- Famille : refus séquentiel pour chaque parent en_attente
- ValidationRefusForm : état isSubmitting (UX)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-13 17:38:29 +02:00
0befd4eb2a
feat(admin): validation AM/famille, À valider au survol, nettoyage logs
...
- À valider : ligne avec survol type AdminUserCard, icône Ouvrir centrée et plus grande (iconSize 34).
- Wizard AM : titres Identité et coordonnées / Dossier professionnel / Présentation ; photo à gauche, grille droite [2,2,2,2] (NIR, naissance, agrément, capacité) ; AppUser champs naissance ; dates dd/MM/yyyy via formatIsoDateFr ; ValidationDetailSection titre optionnel.
- Wizard famille : titre étape 4 « Présentation ».
- Suppression des debugPrint liés médias / images / dossier (api_config, auth_network_image, dossier_unifie, user_service, validation_family).
Made-with: Cursor
2026-04-13 17:22:08 +02:00
4dedd9b87a
fix(web): withOpacity à la place de withValues (Flutter 3.19 / dart2js)
...
Made-with: Cursor
2026-04-12 21:11:06 +02:00
fdd1e06e77
[ #101 ] [Frontend] Inscription parent — API, soumission et validation
...
Squash merge de develop vers master.
Livrables principaux (ticket #101 et mise au point associée) :
- Branchement du formulaire d'inscription parent sur POST /api/v1/auth/register/parent
- Payload DTO (parents, enfants, photos base64, CGU) et services Auth
- Parcours gestionnaire : cartes dossiers, wizard validation famille, images authentifiées
- Scripts d'inscription test (Martin, Durand/Rousseau, Lecomte) ; .gitignore .cursor/
Inclut également les ajustements develop fusionnés dans ce lot (inscription AM, champs relais, etc.).
Closes #101
Made-with: Cursor
2026-04-11 18:07:24 +02:00
cde676c4f9
feat: alignement master sur develop (squash)
...
- Dossiers unifiés #119 , pending-families enrichi, validation admin (wizards)
- Front: modèles dossier_unifie / pending_family, NIR, auth
- Migrations dossier_famille, scripts de test API
- Résolution conflits: parents.*, docs tickets, auth_service, nir_utils
Made-with: Cursor
2026-03-26 00:20:47 +01:00
b1a80f85c9
Squash merge develop into master (feat #25 API users/pending, dashboards, login)
...
Made-with: Cursor
2026-02-26 10:44:04 +01:00
e713c05da1
feat: Bandeau générique, dashboards et doc (squash develop, Closes #100 )
...
- Bandeau générique (DashboardBandeau) pour Parent, Admin, Gestionnaire, AM
- ParentDashboardScreen, AdminDashboardScreen, GestionnaireDashboardScreen, AM dashboard
- AppFooter responsive, scripts Gitea (create/list issues parent API)
- Doc: ticket #101 Inscription Parent API, mise à jour 23_LISTE-TICKETS
- User.fromJson robustesse (nullable id/email/role)
- Suppression dashboard_app_bar.dart au profit de dashboard_bandeau.dart
Refs: #100 , #101
Made-with: Cursor
2026-02-25 21:48:38 +01:00
fffe8cd202
merge: squash develop into master ( #44 Dashboard Gestionnaire - Structure)
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-25 16:37:15 +01:00
119edbcfb4
merge: squash develop into master
...
Intègre en un seul commit les évolutions récentes de develop vers master, incluant la modale admin/gestionnaire, les protections super admin, les ajustements API associés et la mise à jour documentaire des tickets/spec.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-24 22:58:40 +01:00
f9477d3fbe
feat: livrer ticket #35 et synchroniser les évolutions admin
...
Intègre en un seul commit les évolutions de develop, avec la création/édition/suppression de gestionnaires via modale unifiée (#35 ) et les correctifs associés sur la gestion admin.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-24 00:20:33 +01:00
4b176b7083
feat: livrer ticket #93 et finaliser #17 avec gestion des Relais ( #95 )
...
Homogénéise le dashboard admin (onglets/listes/cartes/états) via composants réutilisables, finalise la création gestionnaire côté backend, et intègre la gestion des Relais avec rattachement gestionnaire.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-23 23:07:04 +01:00
d32d956b0e
feat(dashboard-admin): connect admin dashboard to real API data (Ticket #92 )
...
- Frontend:
- Create UserService to handle user-related API calls (gestionnaires, parents, AMs, admins)
- Update AdminDashboardScreen to use dynamic widgets
- Implement dynamic management widgets:
- GestionnaireManagementWidget
- ParentManagementWidget
- AssistanteMaternelleManagementWidget
- AdminManagementWidget
- Add data models: ParentModel, AssistanteMaternelleModel
- Update AppUser model
- Update ApiConfig
- Backend:
- Update controllers (Parents, AMs, Gestionnaires, Users) to allow ADMINISTRATEUR role to list users
- Fix: Activate endpoint GET /gestionnaires (import GestionnairesModule in UserModule)
- Docs:
- Add note about backend fix for Gestionnaires module
- Update .cursorrules to forbid worktrees
- Seed:
- Add test data seed script (reset-and-seed-db.sh)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-17 22:17:51 +01:00
6752dc97b4
feat( #14 ): redirection première connexion config
...
- Redirection vers /login après première config réussie
- Gestion défensive des réponses API (200/201, bool/string)
- Force l'onglet Paramètres si setup non terminé
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-15 23:02:12 +01:00
ca7ef862da
feat(admin): première connexion → panneau Paramètres, reste grisé jusqu'à Sauvegarder ( #14 )
...
- Au chargement admin: appel getSetupStatus(), si non terminé → onglet Paramètres par défaut
- Onglet Gestion des utilisateurs grisé et inaccessible tant que setup non complété
- Sauvegarder: updateBulk + completeSetup + déblocage des panneaux
- Tester SMTP: saveBulkOnly puis test (sans completeSetup, panneaux restent verrouillés)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-13 15:54:47 +01:00
1834eb8c79
feat(admin): panneau Paramètres - sauvegarde config + test SMTP
...
- Onglet Paramètres dans l'admin avec 3 sections (Email, Personnalisation, Avancé)
- Service ConfigurationService (GET config, PATCH bulk, POST test-smtp)
- Bouton Sauvegarder et bouton Tester SMTP (sauvegarde avant test)
- Endpoints api_config pour configuration
Closes #15
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-13 11:16:37 +01:00
9cb4162165
feat: Intégration du frontend Flutter depuis YNOV
...
- Framework: Flutter web
- Pages: Login, inscription, dashboards
- Services: API client, authentification, gestion d'état
- Intégration avec backend NestJS
- Dockerfile pour déploiement web
2025-11-24 15:44:15 +01:00