060e610a75
Merge branch 'develop' (squash) – Reprise après refus #111
...
Made-with: Cursor
2026-03-12 23:06:04 +01:00
7e32eef0a7
Merge branch 'develop' (squash) – Refus sans suppression #110
...
Made-with: Cursor
2026-03-12 22:57:45 +01:00
aa4e240ad1
Merge branch 'develop' (squash) – Validation dossier famille #108
...
Made-with: Cursor
2026-03-12 22:47:41 +01:00
a92447aaf0
Merge branch 'develop' (squash) – Liste familles en attente #106
...
Made-with: Cursor
2026-03-12 22:37:41 +01:00
94c8a0d97a
Merge branch 'develop' (squash) – Statut refusé #105 , script Gitea fallback ~/.bashrc
...
Made-with: Cursor
2026-03-12 22:28:13 +01:00
af489f39b4
Merge branch 'develop' (squash) – Numéro de dossier #103 et autres avancements
...
Made-with: Cursor
2026-03-12 22:14:21 +01:00
aefe590d2c
Squash merge develop into master (câblage inscription AM #91 )
...
Made-with: Cursor
2026-02-26 21:21:17 +01:00
f749484731
test(inscription AM): Préremplissage données de test Marie DUBOIS (squash develop)
...
Étapes 1 à 3 du formulaire d'inscription AM : données du jeu de test
officiel (03_seed_test_data.sql) au lieu du générateur aléatoire.
Made-with: Cursor
2026-02-26 19:10:58 +01:00
ca98821b3e
Merge develop into master (squash): ticket #102 NIR harmonisation
...
- Backend: DTO NIR 15 car 2A/2B, validation format+clé, warning cohérence
- BDD: nir_chiffre NOT NULL, migration pour bases existantes
- Seeds: 02 nir_chiffre, 03 Marie 2A / Fatima 99
- Frontend: nir_utils, nir_text_field, formulaire pro, mock inscription AM
Made-with: Cursor
2026-02-26 13:55:42 +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
51d279e341
docs: fermeture ticket #44 (Dashboard Gestionnaire - Structure)
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-25 16:37:54 +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
619e39219f
merge: squash develop into master (login autofill + clavier #98 )
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-25 12:00:51 +01:00
6749f2025a
fix(backend): remove date_consentement_photo from gestionnaire update
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-24 23:15:29 +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
33cc7a9191
feat(backend): add create admin API and update docs
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-24 11:07:14 +01:00
10ebc77ba1
feat(backend): update gestionnaire creation logic and clean up DTOs
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-24 10:26:24 +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
4d37131301
Merge branch 'master' of https://git.ptits-pas.fr/jmartin/petitspas
2026-02-24 00:08:30 +01:00
04b910295c
fix(backend): fix UpdateGestionnaireDto compilation error ( #35 )
...
- Changed UpdateGestionnaireDto to inherit from PartialType(CreateUserDto) instead of CreateGestionnaireDto
- Ensures all fields (like date_consentement_photo) are available for update logic
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-23 23:53:21 +01:00
c136f28f12
fix(backend): remove address from gestionnaire creation ( #35 )
...
- Updated CreateGestionnaireDto to omit address field
- Updated GestionnairesService to not map address on creation
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-23 23:21:26 +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
00c42c7bee
feat(release): Backend Gestionnaire Creation ( #17 )
...
- Implemented MailModule and MailService
- Updated GestionnairesService to send welcome email
- Forced password change on first login for new gestionnaires
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-23 22:50:13 +01:00
42c569e491
feat(release): Backend Relais Module ( #94 )
...
- Implemented Relais entity and CRUD API
- Added relation between Users (Gestionnaires) and Relais
- Updated database initialization script
- Documentation updates
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-21 14:40:32 +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>
stable
2026-02-17 22:17:51 +01:00
1fca0cf132
Merge branch 'master' of https://git.ptits-pas.fr/jmartin/petitspas
2026-02-16 16:22:16 +01:00
b16dd4b55c
merge: resolution conflits develop -> master (ticket #14 )
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-16 16:22:04 +01:00
8682421453
Merge develop into master (squash)
...
- feat(#90 ): API Inscription AM - POST /auth/register/am
- Suppression legacy register/parent/legacy
- BDD assistantes_maternelles alignée entité
- Script test register AM
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-16 16:19:23 +01:00
31bd8c3175
fix( #90 ): BDD assistantes_maternelles alignée entité + script test curl
...
- BDD.sql: ville_residence, annee_experience, specialite, date_agrement nullable
- scripts/test-register-am.sh pour tester POST /auth/register/am
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-16 16:18:06 +01:00
c94f2cf0d5
feat( #90 ): API Inscription AM - POST /auth/register/am
...
- DTO RegisterAMCompletDto (identité, photo, infos pro, CGU)
- Endpoint POST /auth/register/am + inscrireAMComplet() (transaction User + AssistanteMaternelle)
- Photo base64, token création MDP, consentement photo
- Suppression legacy: route register/parent/legacy, registerParent(), RegisterParentDto
- Frontend: ApiConfig.registerAM pour ticket #91
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-16 00:05:23 +01:00
dfe7daed14
Merge squash develop into master (incl. #14 première config setup/complete)
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-15 23:20:15 +01:00
111935e451
Merge branch 'feature/14-premiere-connexion-config' into develop ( #14 )
2026-02-15 23:20:00 +01:00
ae3292a7fc
fix(backend): setup/complete accepte userId null pour éviter erreur UUID ( #14 )
...
- completeSetup: userId = req.user?.id ?? null (plus de fallback 'system')
- markSetupCompleted(userId: string | null), set(..., userId ?? undefined)
- Corrige 'invalid input syntax for type uuid: "system"' au clic Sauvegarder
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-15 23:19:18 +01:00
8e8c6d79b1
feat( #14 ): finalisation redirection et nettoyage
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-15 23:08:02 +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
31857ec891
docs( #14 ): note back config/setup + frontend parsing erreurs
...
- docs/14_NOTE-BACKEND-CONFIG-SETUP.md : modifs à faire côté back (UUID system)
- configuration_service : parsing défensif des réponses d'erreur (évite JSNull)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-13 16:10:04 +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
11aa66feff
Merge squash develop into master (incl. #89 log API requests debug)
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-13 15:26:06 +01:00
358eefdab3
Merge branch 'feature/89-log-api-requests' into develop ( #89 )
2026-02-13 15:25:56 +01:00
d23f3c9f4f
feat(admin): panneau Paramètres - sauvegarde config + test SMTP ( #15 )
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-13 15:23:00 +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
0386785f81
feat(backend): log des appels API en mode debug ( #89 )
...
- Ajout LogRequestInterceptor (méthode, URL, query, body)
- Activé via LOG_API_REQUESTS=true
- Masquage des champs sensibles (password, smtp_password, token...)
- Enregistrement global dans main.ts, doc dans .env.example
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-13 11:15:41 +01:00
c43f55bed6
Merge origin/develop (conflit 23_LISTE-TICKETS résolu, garde numéros = Gitea)
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-10 00:20:59 +01:00
0c48a5c06f
Merge branch 'develop' (docs concept v1.3, conflit résolu)
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-10 00:20:32 +01:00
be8b1f23ed
docs: concept v1.3 config (panneau Paramètres 3 sections, numéros = Gitea)
...
- 21_CONFIGURATION-SYSTEME: workflow sans /admin/setup, 3 sections, panneau unique
- 23_LISTE-TICKETS: numéros de section = numéros Gitea, tickets #14/#15 alignés
- 24_DECISIONS-PROJET: config initiale = panneau + navigation bloquée
- BRIEFING-FRONTEND: tickets #12/#13 remplacés par panneau Paramètres
- Suppression login_screen.dart.bak
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-10 00:19:35 +01:00
18b270eaa3
Merge origin/develop: résolution conflits doc tickets
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-09 23:55:16 +01:00
68e4f54814
Merge develop (squash): correctifs modale MDP (champs lavande/jaune), doc tickets 84/85
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-09 23:53:58 +01:00
6794190916
chore(login): retrait du lien Test modale MDP
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-09 23:52:51 +01:00
790761d576
fix(modale): champs MDP actuel lavande, nouveau et confirmation jaune
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-09 23:52:25 +01:00