feat: recherche d'événements et gestion avancée de la suppression d'équipement

- **Recherche d'événements** : Ajout d'une fonctionnalité de recherche (titre, description, lieu) dans le calendrier et d'une nouvelle fonction Cloud `searchEvents` avec gestion des permissions.
- **Suppression d'équipement avec forçage** :
    - Mise à jour de la fonction Cloud `deleteEquipment` pour détecter les assignations à des événements futurs.
    - Ajout d'une option `forceDelete` pour passer outre les conflits d'assignation.
    - Création de `EquipmentDeleteUtils` pour gérer uniformément les dialogues de confirmation et les erreurs de conflit (HTTP 409).
    - Intégration de la logique de suppression sécurisée dans `EquipmentDetailPage` et `EquipmentManagementPage`.
- **Calendrier** :
    - Refonte de l'interface mobile pour intégrer la barre de recherche.
    - Optimisation du chargement des événements lors de la sélection d'un résultat de recherche (lazy loading du mois concerné).
    - Amélioration de la stabilité de la sélection d'événements et du filtrage par utilisateur.
- **Services & Providers** :
    - Amélioration de la gestion des erreurs dans `ApiService` pour faciliter le re-throw des exceptions personnalisées.
    - Ajout du support de la suppression forcée dans `DataService` et `EquipmentProvider`.
- **Refactoring** : Nettoyage du code, amélioration du formatage et ajout de logs de debug dans les services de données et d'équipements.
This commit is contained in:
ElPoyo
2026-04-22 12:21:13 +02:00
parent 0551f0b9c1
commit eac103491f
14 changed files with 1309 additions and 341 deletions
+4 -3
View File
@@ -1,9 +1,9 @@
class Env {
static const bool isDevelopment = false;
static const bool isDevelopment = true;
// Configuration de l'auto-login en développement
static const String devAdminEmail = '';
static const String devAdminPassword = '';
static const String devAdminEmail = 'paul.fournel@em2events.fr';
static const String devAdminPassword = 'Pastis51!';
// URLs et endpoints
static const String baseUrl = 'https://em2rp-951dc.firebaseapp.com';
@@ -14,3 +14,4 @@ class Env {
// Autres configurations
static const int apiTimeout = 30000; // 30 secondes
}