From 3945fbb0ef2b992de000a83923ed2087b9349b48 Mon Sep 17 00:00:00 2001 From: Serreau Jovann Date: Thu, 26 Mar 2026 12:11:25 +0100 Subject: [PATCH] Send email when no RGPD data found, add DPO contact to PDFs - Send confirmation email when no data found for access or deletion request - Add DPO contact (DPO-167945, E-Cosplay) to both access and deletion PDFs Co-Authored-By: Claude Opus 4.6 (1M context) --- src/Service/RgpdService.php | 18 ++++++++++++++++++ templates/emails/rgpd_no_data.html.twig | 7 +++++++ templates/pdf/rgpd_access.html.twig | 8 +++++++- templates/pdf/rgpd_deletion.html.twig | 2 ++ 4 files changed, 34 insertions(+), 1 deletion(-) create mode 100644 templates/emails/rgpd_no_data.html.twig diff --git a/src/Service/RgpdService.php b/src/Service/RgpdService.php index 1df5088..f3257a9 100644 --- a/src/Service/RgpdService.php +++ b/src/Service/RgpdService.php @@ -31,6 +31,15 @@ class RgpdService $visitors = $this->em->getRepository(AnalyticsUniqId::class)->findBy(['ipHash' => $ipHash]); if (0 === \count($visitors)) { + $this->mailer->sendEmail( + $email, + 'E-Ticket - Demande d\'acces aux donnees (RGPD)', + $this->twig->render('emails/rgpd_no_data.html.twig'), + null, + null, + false, + ); + return ['found' => false, 'count' => 0]; } @@ -73,6 +82,15 @@ class RgpdService $visitors = $this->em->getRepository(AnalyticsUniqId::class)->findBy(['ipHash' => $ipHash]); if (0 === \count($visitors)) { + $this->mailer->sendEmail( + $email, + 'E-Ticket - Demande de suppression (RGPD)', + $this->twig->render('emails/rgpd_no_data.html.twig'), + null, + null, + false, + ); + return ['found' => false, 'deleted' => 0]; } diff --git a/templates/emails/rgpd_no_data.html.twig b/templates/emails/rgpd_no_data.html.twig new file mode 100644 index 0000000..4ae884f --- /dev/null +++ b/templates/emails/rgpd_no_data.html.twig @@ -0,0 +1,7 @@ +{% extends 'email/base.html.twig' %} +{% block content %} +

Bonjour,

+

Suite a votre demande RGPD, nous vous informons qu'aucune donnee personnelle n'a ete trouvee dans nos systemes pour l'adresse IP indiquee.

+

Si vous pensez qu'il s'agit d'une erreur, veuillez nous contacter a l'adresse contact@e-cosplay.fr.

+

Cordialement,
L'equipe E-Ticket

+{% endblock %} diff --git a/templates/pdf/rgpd_access.html.twig b/templates/pdf/rgpd_access.html.twig index 14bff67..b38181a 100644 --- a/templates/pdf/rgpd_access.html.twig +++ b/templates/pdf/rgpd_access.html.twig @@ -46,7 +46,13 @@ th { background: #f5f5f5; font-weight: bold; }

Document genere automatiquement par E-Ticket (Association E-Cosplay) conformement au Reglement General sur la Protection des Donnees (RGPD). -Pour toute question : contact@e-cosplay.fr +

+

+Delegue a la Protection des Donnees (DPO)
+Identifiant : DPO-167945
+Association E-Cosplay — SIREN : 943121517 / RNA : W022006988
+42 rue de Saint-Quentin, 02800 Beautor, France
+Contact : contact@e-cosplay.fr

diff --git a/templates/pdf/rgpd_deletion.html.twig b/templates/pdf/rgpd_deletion.html.twig index f46ef75..7ea1cf6 100644 --- a/templates/pdf/rgpd_deletion.html.twig +++ b/templates/pdf/rgpd_deletion.html.twig @@ -33,6 +33,8 @@ h1 { font-size: 20px; text-align: center; margin-bottom: 30px; }

SIREN : 943121517 / RNA : W022006988

42 rue de Saint-Quentin, 02800 Beautor, France

contact@e-cosplay.fr

+

Delegue a la Protection des Donnees (DPO)

+

Identifiant : DPO-167945 — Contact : contact@e-cosplay.fr

Document genere automatiquement — Reference : RGPD-DEL-{{ date|date('YmdHis') }}