feat: Livraison version 3.0.6

- Amélioration de la gestion des entités et des utilisateurs
- Mise à jour des modèles Amicale et Client avec champs supplémentaires
- Ajout du service de logging et amélioration du chargement UI
- Refactoring des formulaires utilisateur et amicale
- Intégration de file_picker et image_picker pour la gestion des fichiers
- Amélioration de la gestion des membres et de leur suppression
- Optimisation des performances de l'API
- Mise à jour de la documentation technique

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2025-08-08 20:33:54 +02:00
parent 599b9fcda0
commit 206c76c7db
69 changed files with 203569 additions and 174972 deletions

View File

@@ -1,16 +1,19 @@
import 'package:flutter/material.dart';
import 'package:geosector_app/core/data/models/user_model.dart';
import 'package:geosector_app/core/data/models/amicale_model.dart';
import 'package:geosector_app/presentation/widgets/user_form.dart';
class UserFormDialog extends StatefulWidget {
final UserModel? user;
final String title;
final bool readOnly;
final Function(UserModel)? onSubmit;
final Function(UserModel, {String? password})? onSubmit; // Modifié pour inclure le mot de passe
final bool showRoleSelector;
final List<RoleOption>? availableRoles;
final bool showActiveCheckbox;
final bool allowUsernameEdit;
final AmicaleModel? amicale; // Nouveau paramètre
final bool isAdmin; // Nouveau paramètre
const UserFormDialog({
super.key,
@@ -22,6 +25,8 @@ class UserFormDialog extends StatefulWidget {
this.availableRoles,
this.showActiveCheckbox = false,
this.allowUsernameEdit = false,
this.amicale,
this.isAdmin = false,
});
@override
@@ -55,6 +60,7 @@ class _UserFormDialogState extends State<UserFormDialog> {
void _handleSubmit() async {
// Utiliser la méthode validateAndGetUser du UserForm
final userData = _userFormKey.currentState?.validateAndGetUser();
final password = _userFormKey.currentState?.getPassword(); // Récupérer le mot de passe
if (userData != null) {
var finalUser = userData;
@@ -70,7 +76,7 @@ class _UserFormDialogState extends State<UserFormDialog> {
}
if (widget.onSubmit != null) {
widget.onSubmit!(finalUser);
widget.onSubmit!(finalUser, password: password); // Passer le mot de passe
}
}
}
@@ -200,6 +206,8 @@ class _UserFormDialogState extends State<UserFormDialog> {
readOnly: widget.readOnly,
allowUsernameEdit: widget.allowUsernameEdit,
allowSectNameEdit: widget.allowUsernameEdit,
amicale: widget.amicale, // Passer l'amicale
isAdmin: widget.isAdmin, // Passer isAdmin
onSubmit: null, // Pas besoin de callback
),
],