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) <noreply@anthropic.com>
This commit is contained in:
Serreau Jovann
2026-03-26 12:11:25 +01:00
parent e5110017d9
commit 3945fbb0ef
4 changed files with 34 additions and 1 deletions

View File

@@ -31,6 +31,15 @@ class RgpdService
$visitors = $this->em->getRepository(AnalyticsUniqId::class)->findBy(['ipHash' => $ipHash]); $visitors = $this->em->getRepository(AnalyticsUniqId::class)->findBy(['ipHash' => $ipHash]);
if (0 === \count($visitors)) { 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]; return ['found' => false, 'count' => 0];
} }
@@ -73,6 +82,15 @@ class RgpdService
$visitors = $this->em->getRepository(AnalyticsUniqId::class)->findBy(['ipHash' => $ipHash]); $visitors = $this->em->getRepository(AnalyticsUniqId::class)->findBy(['ipHash' => $ipHash]);
if (0 === \count($visitors)) { 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]; return ['found' => false, 'deleted' => 0];
} }

View File

@@ -0,0 +1,7 @@
{% extends 'email/base.html.twig' %}
{% block content %}
<p>Bonjour,</p>
<p>Suite a votre demande RGPD, nous vous informons qu'aucune donnee personnelle n'a ete trouvee dans nos systemes pour l'adresse IP indiquee.</p>
<p>Si vous pensez qu'il s'agit d'une erreur, veuillez nous contacter a l'adresse <a href="mailto:contact@e-cosplay.fr">contact@e-cosplay.fr</a>.</p>
<p>Cordialement,<br>L'equipe E-Ticket</p>
{% endblock %}

View File

@@ -46,7 +46,13 @@ th { background: #f5f5f5; font-weight: bold; }
<p style="margin-top: 20px; font-size: 10px; color: #666;"> <p style="margin-top: 20px; font-size: 10px; color: #666;">
Document genere automatiquement par E-Ticket (Association E-Cosplay) conformement au Reglement General sur la Protection des Donnees (RGPD). 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 </p>
<p style="font-size: 10px; color: #666; margin-top: 10px;">
<strong>Delegue a la Protection des Donnees (DPO)</strong><br>
Identifiant : DPO-167945<br>
Association E-Cosplay — SIREN : 943121517 / RNA : W022006988<br>
42 rue de Saint-Quentin, 02800 Beautor, France<br>
Contact : contact@e-cosplay.fr
</p> </p>
</body> </body>
</html> </html>

View File

@@ -33,6 +33,8 @@ h1 { font-size: 20px; text-align: center; margin-bottom: 30px; }
<p>SIREN : 943121517 / RNA : W022006988</p> <p>SIREN : 943121517 / RNA : W022006988</p>
<p>42 rue de Saint-Quentin, 02800 Beautor, France</p> <p>42 rue de Saint-Quentin, 02800 Beautor, France</p>
<p>contact@e-cosplay.fr</p> <p>contact@e-cosplay.fr</p>
<p style="margin-top: 10px;"><strong>Delegue a la Protection des Donnees (DPO)</strong></p>
<p>Identifiant : DPO-167945 — Contact : contact@e-cosplay.fr</p>
<p style="margin-top: 10px;">Document genere automatiquement — Reference : RGPD-DEL-{{ date|date('YmdHis') }}</p> <p style="margin-top: 10px;">Document genere automatiquement — Reference : RGPD-DEL-{{ date|date('YmdHis') }}</p>
</div> </div>
</div> </div>