jmartin and Cursor
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
jmartin and Cursor
a10dc5a195
docs: mark ticket #17 as completed
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-02-23 22:47:15 +01:00
jmartin
04c0b05aae
feat(backend): merge feature/17-backend-create-gestionnaire
2026-02-23 22:46:36 +01:00
jmartin and Cursor
d0b730c8ab
feat(backend): implement gestionnaire creation with email notification ( #17 )
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-02-23 22:46:30 +01:00
jmartin and Cursor
bc8362bdb7
refactor( #93 ): extraire un widget UserList réutilisable
...
Centralise le pattern d'affichage des listes utilisateurs pour garantir une UI homogène entre gestionnaires, parents, assistantes maternelles et administrateurs.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-02-23 17:59:03 +01:00
jmartin and Cursor
ac3178903d
docs( #93 ): tracer l'évolution RBAC intra-RPE dans le CDC
...
Documente la future gouvernance par rôles au sein d'un même relais pour cadrer les évolutions ultérieures sans l'intégrer au périmètre des tickets backend/frontend actuels.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-02-23 17:32:09 +01:00
jmartin and Cursor
aec1990ec9
refactor( #93 ): uniformiser la ligne utilisateur et afficher Modifier au survol
...
Met le rendu des lignes sur une seule ligne (icone, nom, infos) et n’affiche l’action Modifier qu’au hover pour alléger visuellement les listes.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-02-23 17:32:09 +01:00
jmartin and Cursor
5da2ab9005
feat( #93 ): optimiser l’affichage Parents/AM avec modale de détails
...
Intègre un bandeau unique (onglets à gauche, recherche/filtre en pilule, bouton Ajouter à droite) et compacte les cartes Parents/AM avec ouverture d’une modale complète sur Modifier (croix, actions Modifier/Supprimer).
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-02-23 17:32:03 +01:00
jmartin and Cursor
b2d6414fab
refactor( #93 ): homogénéiser la présentation des onglets admin
...
Uniformise les 4 onglets de gestion admin avec des composants UI partagés (header, états de liste, carte utilisateur) pour garantir une expérience cohérente sans changement backend.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-02-23 17:31:50 +01:00
jmartin and Cursor
fbafef8f2c
feat( #95 ): implémenter la gestion Relais admin et le rattachement gestionnaire
...
Ajoute la section Paramètres territoriaux avec CRUD Relais, modale de saisie structurée, états visuels harmonisés, et rattachement d'un relais principal aux gestionnaires via l'API.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-02-21 20:06:17 +01:00
jmartin and Cursor
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
jmartin and Cursor
135c7c2255
docs: mark ticket #94 as completed
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-02-21 14:39:17 +01:00
jmartin
9cce326046
feat(backend): merge feature/94-backend-relais (Relais module and database update)
2026-02-21 14:38:44 +01:00
jmartin and Cursor
d697083f54
feat(database): add Relais table to initialization script
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-02-21 14:34:45 +01:00
jmartin and Cursor
ae786426fd
feat(backend): implement Relais module and relation with Gestionnaire (Ticket #94 )
...
- Create Relais entity
- Create Relais module, controller, service with CRUD
- Update Users entity with ManyToOne relation to Relais
- Update GestionnairesService to handle relaisId
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-02-21 14:27:14 +01:00
jmartin and Cursor
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
jmartin and Cursor
e4f7a35f0f
fix( #92 ): activer endpoint GET /gestionnaires (note backend)
...
- UserModule: importer GestionnairesModule
- GestionnairesModule: importer AuthModule (AuthGuard/JwtService)
- user_service: appeler /gestionnaires au lieu de /users + filtre
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-02-16 22:46:11 +01:00
jmartin and Cursor
8a6768b316
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
- Note: Gestionnaires endpoint is currently bypassed in frontend (using /users filter) due to module import issue (documented in docs/92_NOTE-BACKEND-GESTIONNAIRES.md)
- Docs:
- Add note about backend fix for Gestionnaires module
- Update .cursorrules to forbid worktrees
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-02-16 21:43:27 +01:00
jmartin and Cursor
3892a8beab
feat( #92 ): seed données de test dashboard admin + script reset BDD
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-02-16 17:27:26 +01:00
jmartin and Cursor
d39bc55be3
chore(backend): variables LOG_API_REQUESTS et CONFIG_ENCRYPTION_KEY dans docker-compose
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-02-16 17:26:19 +01:00
jmartin and Cursor
e0debf0394
docs: README BDD seed/reset, liste tickets #92 , procédure API Gitea, statut application
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-02-16 17:26:13 +01:00
jmartin
1fca0cf132
Merge branch 'master' of https://git.ptits-pas.fr/jmartin/petitspas
2026-02-16 16:22:16 +01:00
jmartin and Cursor
b16dd4b55c
merge: resolution conflits develop -> master (ticket #14 )
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-02-16 16:22:04 +01:00
jmartin and Cursor
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
jmartin and Cursor
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
jmartin and Cursor
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
jmartin and Cursor
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
jmartin
111935e451
Merge branch 'feature/14-premiere-connexion-config' into develop ( #14 )
2026-02-15 23:20:00 +01:00
jmartin and Cursor
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
jmartin and Cursor
8e8c6d79b1
feat( #14 ): finalisation redirection et nettoyage
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-02-15 23:08:02 +01:00
jmartin and Cursor
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
jmartin and Cursor
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
jmartin and Cursor
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
jmartin and Cursor
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
jmartin
358eefdab3
Merge branch 'feature/89-log-api-requests' into develop ( #89 )
2026-02-13 15:25:56 +01:00
jmartin and Cursor
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
jmartin and Cursor
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
jmartin and Cursor
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
jmartin and Cursor
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
jmartin and Cursor
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
jmartin and Cursor
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
jmartin and Cursor
18b270eaa3
Merge origin/develop: résolution conflits doc tickets
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-02-09 23:55:16 +01:00
jmartin and Cursor
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
jmartin and Cursor
6794190916
chore(login): retrait du lien Test modale MDP
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-02-09 23:52:51 +01:00
jmartin and Cursor
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
jmartin and Cursor
930097f87d
Merge develop: fix auth connexion admin ( #84 )
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-02-09 22:37:48 +01:00
jmartin and Cursor
18af5c9034
fix(auth): connexion admin - token snake_case, routes GoRouter, profil ( Closes #84 )
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-02-09 22:36:52 +01:00
jmartin and Cursor
10bf2553e7
fix(ui): renforcer ombre des boutons Parents/AM sur mobile (écran choix)
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-02-08 19:15:10 +01:00
jmartin and Cursor
678f4219b5
docs: ticket #82 fermé (écran Login mobile)
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-02-08 18:56:07 +01:00
jmartin and Cursor
5295e8ec72
Merge develop (squash): login mobile, formulaire sous slogan par ratio
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-02-08 18:54:16 +01:00