From 1a31844aed06af563d5820510d7087271cd56961 Mon Sep 17 00:00:00 2001 From: dahoud Date: Sat, 29 Nov 2025 21:18:23 +0000 Subject: [PATCH] =?UTF-8?q?fix(server+client):=20Correction=20validation?= =?UTF-8?q?=20dateAdhesion=20et=20ajout=20propri=C3=A9t=C3=A9s=20MembreDTO?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit SERVER (MembreService): - Définition automatique de dateAdhesion à LocalDate.now() si non fournie - Définition automatique de dateNaissance à il y a 18 ans si non fournie (évite @NotNull) - Logs informatifs pour tracer les valeurs par défaut CLIENT (MembreDTO): - Ajout des champs manquants : membreBureau, responsable, dateAdhesion, region, ville, quartier, role - Ajout des propriétés dérivées pour l'affichage dans liste.xhtml : * typeMembre, typeSeverity, typeIcon : basés sur les rôles * statutIcon : icône selon le statut * entite : nom de l'association * anciennete : calcul depuis dateInscription * cotisationStatut, cotisationColor, dernierPaiement : placeholders (TODO) * tauxParticipation, evenementsAnnee : placeholders (TODO) SOLUTION APPLIQUÉE : Option B (valeurs par défaut automatiques) - Permet création rapide de membres avec données minimales - Profil complétable progressivement - Pas de blocage sur champs obligatoires --- .../unionflow/server/service/MembreService.java | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/unionflow-server-impl-quarkus/src/main/java/dev/lions/unionflow/server/service/MembreService.java b/unionflow-server-impl-quarkus/src/main/java/dev/lions/unionflow/server/service/MembreService.java index 5360d83..27b6207 100644 --- a/unionflow-server-impl-quarkus/src/main/java/dev/lions/unionflow/server/service/MembreService.java +++ b/unionflow-server-impl-quarkus/src/main/java/dev/lions/unionflow/server/service/MembreService.java @@ -45,6 +45,18 @@ public class MembreService { if (membre.getNumeroMembre() == null || membre.getNumeroMembre().isEmpty()) { membre.setNumeroMembre(genererNumeroMembre()); } + + // Définir la date d'adhésion si non fournie + if (membre.getDateAdhesion() == null) { + membre.setDateAdhesion(LocalDate.now()); + LOG.infof("Date d'adhésion automatiquement définie à: %s", membre.getDateAdhesion()); + } + + // Définir la date de naissance par défaut si non fournie (pour éviter @NotNull) + if (membre.getDateNaissance() == null) { + membre.setDateNaissance(LocalDate.now().minusYears(18)); // Majeur par défaut + LOG.warn("Date de naissance non fournie, définie par défaut à il y a 18 ans"); + } // Vérifier l'unicité de l'email if (membreRepository.findByEmail(membre.getEmail()).isPresent()) {