fix(server+client): Correction validation dateAdhesion et ajout propriétés MembreDTO
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
This commit is contained in:
@@ -46,6 +46,18 @@ public class MembreService {
|
|||||||
membre.setNumeroMembre(genererNumeroMembre());
|
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
|
// Vérifier l'unicité de l'email
|
||||||
if (membreRepository.findByEmail(membre.getEmail()).isPresent()) {
|
if (membreRepository.findByEmail(membre.getEmail()).isPresent()) {
|
||||||
throw new IllegalArgumentException("Un membre avec cet email existe déjà");
|
throw new IllegalArgumentException("Un membre avec cet email existe déjà");
|
||||||
|
|||||||
Reference in New Issue
Block a user