diff --git a/as-talange-core/src/main/java/com/astalange/core/entity/Equipement.java b/as-talange-core/src/main/java/com/astalange/core/entity/Equipement.java index e63fd76..92505be 100644 --- a/as-talange-core/src/main/java/com/astalange/core/entity/Equipement.java +++ b/as-talange-core/src/main/java/com/astalange/core/entity/Equipement.java @@ -33,6 +33,15 @@ public class Equipement { private String couleursDisponibles; + @Column(name = "has_flocage_prenom", nullable = false) + private boolean hasFlocagePrenom = false; + + @Column(name = "has_flocage_initiales", nullable = false) + private boolean hasFlocageInitiales = false; + + @Column(name = "has_flocage_numero", nullable = false) + private boolean hasFlocageNumero = false; + @ManyToOne(optional = false, fetch = FetchType.LAZY) @JoinColumn(name = "saison_id", nullable = false) private Saison saison; @@ -63,6 +72,15 @@ public class Equipement { public String getCouleursDisponibles() { return couleursDisponibles; } public void setCouleursDisponibles(String couleursDisponibles) { this.couleursDisponibles = couleursDisponibles; } + public boolean isHasFlocagePrenom() { return hasFlocagePrenom; } + public void setHasFlocagePrenom(boolean hasFlocagePrenom) { this.hasFlocagePrenom = hasFlocagePrenom; } + + public boolean isHasFlocageInitiales() { return hasFlocageInitiales; } + public void setHasFlocageInitiales(boolean hasFlocageInitiales) { this.hasFlocageInitiales = hasFlocageInitiales; } + + public boolean isHasFlocageNumero() { return hasFlocageNumero; } + public void setHasFlocageNumero(boolean hasFlocageNumero) { this.hasFlocageNumero = hasFlocageNumero; } + public Saison getSaison() { return saison; } public void setSaison(Saison saison) { this.saison = saison; } } diff --git a/as-talange-core/src/main/resources/db/migration/V38__add_flocage_options_to_equipement.sql b/as-talange-core/src/main/resources/db/migration/V38__add_flocage_options_to_equipement.sql new file mode 100644 index 0000000..78b022f --- /dev/null +++ b/as-talange-core/src/main/resources/db/migration/V38__add_flocage_options_to_equipement.sql @@ -0,0 +1,31 @@ +ALTER TABLE equipement ADD COLUMN has_flocage_prenom BOOLEAN DEFAULT FALSE NOT NULL; +ALTER TABLE equipement ADD COLUMN has_flocage_initiales BOOLEAN DEFAULT FALSE NOT NULL; +ALTER TABLE equipement ADD COLUMN has_flocage_numero BOOLEAN DEFAULT FALSE NOT NULL; + +-- Activation automatique de l'option "numéro" pour les équipements ayant déjà des dotations avec un numéro +UPDATE equipement e +SET has_flocage_numero = TRUE +WHERE EXISTS ( + SELECT 1 FROM dotation d WHERE d.equipement_id = e.id AND d.numero IS NOT NULL AND d.numero != '' +); + +-- Activation automatique de l'option "prénom" (uniquement) pour les équipements ayant déjà des dotations avec un flocage +UPDATE equipement e +SET has_flocage_prenom = TRUE +WHERE EXISTS ( + SELECT 1 FROM dotation d WHERE d.equipement_id = e.id AND d.flocage IS NOT NULL AND d.flocage != '' +); + +UPDATE dotation +SET flocage = a.prenom +FROM licence l +JOIN adherent a ON l.adherent_id = a.id +WHERE dotation.licence_id = l.id + AND dotation.flocage IS NOT NULL + AND dotation.flocage != '' + AND EXISTS ( + SELECT 1 FROM equipement e + WHERE e.id = dotation.equipement_id + AND e.has_flocage_prenom = TRUE + AND e.has_flocage_initiales = FALSE + ); diff --git a/as-talange-web/src/main/resources/templates/parametrage/equipements_form.html b/as-talange-web/src/main/resources/templates/parametrage/equipements_form.html index 0c2fb06..7d7dc7b 100644 --- a/as-talange-web/src/main/resources/templates/parametrage/equipements_form.html +++ b/as-talange-web/src/main/resources/templates/parametrage/equipements_form.html @@ -56,8 +56,32 @@
Séparez les tailles par des virgules. Laissez vide si taille unique ou standard.
+ +Séparez les tailles par des virgules. Vous pouvez utiliser une grille ci-dessus et ajuster manuellement.
+ +