diff --git a/as-talange-core/src/main/java/com/astalange/core/entity/Adherent.java b/as-talange-core/src/main/java/com/astalange/core/entity/Adherent.java index 20deb9b..0f70569 100644 --- a/as-talange-core/src/main/java/com/astalange/core/entity/Adherent.java +++ b/as-talange-core/src/main/java/com/astalange/core/entity/Adherent.java @@ -35,7 +35,7 @@ public class Adherent { @Column(nullable = false, length = 100) private String email; - @Column(length = 20) + @Column(nullable = false, length = 20) private String telephone; @Column(name = "representant_legal", length = 150) @@ -47,6 +47,9 @@ public class Adherent { @Column(name = "ancien_club", length = 150) private String ancienClub; + @Column(name = "ancienne_categorie", length = 50) + private String ancienneCategorie; + private boolean residentTalange = true; @Column(nullable = false, length = 10) @@ -99,6 +102,9 @@ public class Adherent { public String getAncienClub() { return ancienClub; } public void setAncienClub(String ancienClub) { this.ancienClub = ancienClub; } + public String getAncienneCategorie() { return ancienneCategorie; } + public void setAncienneCategorie(String ancienneCategorie) { this.ancienneCategorie = ancienneCategorie; } + public boolean isResidentTalange() { return residentTalange; } public void setResidentTalange(boolean residentTalange) { this.residentTalange = residentTalange; } diff --git a/as-talange-core/src/main/java/com/astalange/core/entity/PreInscription.java b/as-talange-core/src/main/java/com/astalange/core/entity/PreInscription.java index 7e932b6..d039aa1 100644 --- a/as-talange-core/src/main/java/com/astalange/core/entity/PreInscription.java +++ b/as-talange-core/src/main/java/com/astalange/core/entity/PreInscription.java @@ -33,7 +33,7 @@ public class PreInscription { @Column(nullable = false, length = 150) private String email; - @Column(length = 20) + @Column(nullable = false, length = 20) private String telephone; @Column(name = "representant_legal", length = 150) @@ -58,6 +58,9 @@ public class PreInscription { @Column(name = "ancien_club", length = 150) private String ancienClub; + @Column(name = "ancienne_categorie", length = 50) + private String ancienneCategorie = "NA"; + // Getters and Setters public Long getId() { return id; } public void setId(Long id) { this.id = id; } @@ -106,4 +109,7 @@ public class PreInscription { public String getAncienClub() { return ancienClub; } public void setAncienClub(String ancienClub) { this.ancienClub = ancienClub; } + + public String getAncienneCategorie() { return ancienneCategorie; } + public void setAncienneCategorie(String ancienneCategorie) { this.ancienneCategorie = ancienneCategorie; } } diff --git a/as-talange-core/src/main/java/com/astalange/core/service/PreInscriptionService.java b/as-talange-core/src/main/java/com/astalange/core/service/PreInscriptionService.java index 9dd7c0e..bdf6d32 100644 --- a/as-talange-core/src/main/java/com/astalange/core/service/PreInscriptionService.java +++ b/as-talange-core/src/main/java/com/astalange/core/service/PreInscriptionService.java @@ -46,6 +46,7 @@ public class PreInscriptionService { adherent.setRepresentantLegal(pre.getRepresentantLegal()); adherent.setTypeDemande(pre.getTypeDemande()); adherent.setAncienClub(pre.getAncienClub()); + adherent.setAncienneCategorie(pre.getAncienneCategorie()); // Par défaut adherent.setSexe("MASCULIN"); adherent.setTypeMaillot("JOUEUR"); diff --git a/as-talange-web/src/main/resources/templates/adherents/form.html b/as-talange-web/src/main/resources/templates/adherents/form.html index 50b06f2..241ae82 100644 --- a/as-talange-web/src/main/resources/templates/adherents/form.html +++ b/as-talange-web/src/main/resources/templates/adherents/form.html @@ -120,8 +120,8 @@
- - Téléphone * +

@@ -166,6 +166,29 @@
+
+
+ + +
+
+
@@ -681,6 +704,27 @@ } } + const ancienClubInput = document.getElementById('ancienClub'); + const ancienneCategorieBlock = document.getElementById('ancienneCategorieBlock'); + const ancienneCategorieSelect = document.getElementById('ancienneCategorie'); + + if (ancienClubInput) { + ancienClubInput.addEventListener('input', function() { + if (this.value.trim().length > 0) { + ancienneCategorieBlock.classList.remove('hidden-block'); + ancienneCategorieSelect.required = true; + } else { + ancienneCategorieBlock.classList.add('hidden-block'); + ancienneCategorieSelect.required = false; + } + }); + + if (ancienClubInput.value.trim().length > 0) { + ancienneCategorieBlock.classList.remove('hidden-block'); + ancienneCategorieSelect.required = true; + } + } + function updateLicencesCategoryAndPrices() { if (!dateInput.value) return; const dob = new Date(dateInput.value); diff --git a/as-talange-web/src/main/resources/templates/public/formulaire.html b/as-talange-web/src/main/resources/templates/public/formulaire.html index e55b57e..43aac1c 100644 --- a/as-talange-web/src/main/resources/templates/public/formulaire.html +++ b/as-talange-web/src/main/resources/templates/public/formulaire.html @@ -52,7 +52,27 @@ @@ -184,6 +204,27 @@ nouvelleLicenceBlock.classList.remove('hidden'); } + const ancienClubInput = document.getElementById('ancienClub'); + const ancienneCategorieBlock = document.getElementById('ancienneCategorieBlock'); + const ancienneCategorieSelect = document.getElementById('ancienneCategorie'); + + if (ancienClubInput) { + ancienClubInput.addEventListener('input', function() { + if (this.value.trim().length > 0) { + ancienneCategorieBlock.classList.remove('hidden'); + ancienneCategorieSelect.required = true; + } else { + ancienneCategorieBlock.classList.add('hidden'); + ancienneCategorieSelect.required = false; + } + }); + // Initial check + if (ancienClubInput.value.trim().length > 0) { + ancienneCategorieBlock.classList.remove('hidden'); + ancienneCategorieSelect.required = true; + } + } + document.getElementById('dateNaissance').addEventListener('change', function() { const dateInput = this.value; const repBlock = document.getElementById('representantBlock');