feat(rgpd): add mandatory consent checkbox to public registration form

This commit is contained in:
2026-06-15 23:09:37 +02:00
parent 2adbdde121
commit d913579c77
3 changed files with 21 additions and 1 deletions
@@ -46,6 +46,9 @@ public class PreInscription {
@JoinColumn(name = "saison_id", nullable = false)
private Saison saison;
@Column(name = "consentement_rgpd", nullable = false)
private Boolean consentementRgpd = false;
// Getters and Setters
public Long getId() { return id; }
public void setId(Long id) { this.id = id; }
@@ -82,4 +85,7 @@ public class PreInscription {
public Saison getSaison() { return saison; }
public void setSaison(Saison saison) { this.saison = saison; }
public Boolean getConsentementRgpd() { return consentementRgpd; }
public void setConsentementRgpd(Boolean consentementRgpd) { this.consentementRgpd = consentementRgpd; }
}
@@ -0,0 +1 @@
ALTER TABLE pre_inscription ADD COLUMN consentement_rgpd BOOLEAN NOT NULL DEFAULT FALSE;
@@ -1,6 +1,7 @@
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<script src="https://unpkg.com/htmx.org@1.9.11"></script>
<meta charset="UTF-8">
<title>AS Talange - Formulaire d'inscription</title>
<script src="https://cdn.tailwindcss.com"></script>
@@ -60,11 +61,23 @@
<input type="email" th:field="*{email}" required class="w-full border border-gray-300 rounded-lg px-4 py-2 text-sm focus:ring-2 focus:ring-blue-500 outline-none">
</div>
<!-- Removed Adresse -->
<div class="flex items-start pt-2">
<div class="flex items-center h-5">
<input id="consentementRgpd" name="consentementRgpd" type="checkbox" required class="w-4 h-4 text-blue-600 border-gray-300 rounded focus:ring-blue-500">
</div>
<div class="ml-3 text-sm">
<label for="consentementRgpd" class="font-medium text-gray-700">Consentement RGPD <span class="text-red-500">*</span></label>
<p class="text-gray-500 text-xs mt-1">J'accepte que l'AS Talange recueille et traite ces données pour la gestion de mon inscription et la logistique de la saison.</p>
</div>
</div>
<button type="submit" class="w-full bg-blue-600 hover:bg-blue-700 text-white font-medium py-3 px-4 rounded-lg transition-colors mt-4">
Soumettre le dossier
</button>
<p class="text-[10px] text-gray-400 text-center mt-4 leading-tight">
Les données sont stockées de manière sécurisée, accessibles uniquement au bureau du club. Vous pouvez demander leur suppression à tout moment.
</p>
</form>
</div>