fix: SonarQube - LegalController rgpdVerify split GET/POST (4->3 returns max)

Split rgpdVerify en 2 methodes distinctes :
- rgpdVerifyForm (GET) : affiche le formulaire, 2 returns
- rgpdVerifyPost (POST) : verifie le code et execute, 3 returns

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Serreau Jovann
2026-04-08 09:14:36 +02:00
parent abb3402428
commit e253870e9d

View File

@@ -140,12 +140,12 @@ class LegalController extends AbstractController
return $this->redirect($this->generateUrl('app_legal_rgpd_verify', ['type' => 'deletion', 'email' => $email, 'ip' => $ip]));
}
#[Route('/rgpd/verify', name: 'rgpd_verify', methods: ['GET', 'POST'])]
public function rgpdVerify(Request $request, RgpdService $rgpd): Response
#[Route('/rgpd/verify', name: 'rgpd_verify', methods: ['GET'])]
public function rgpdVerifyForm(Request $request): Response
{
$type = $request->query->getString('type', $request->request->getString('type'));
$email = $request->query->getString('email', $request->request->getString('email'));
$ip = $request->query->getString('ip', $request->request->getString('ip'));
$type = $request->query->getString('type');
$email = $request->query->getString('email');
$ip = $request->query->getString('ip');
if ('' === $type || '' === $email || '' === $ip) {
$this->addFlash('error', 'Parametres manquants.');
@@ -153,17 +153,27 @@ class LegalController extends AbstractController
return $this->redirect($this->generateUrl('app_legal_rgpd').self::RGPD_ANCHOR);
}
// GET : affiche le formulaire de saisie du code
if ('GET' === $request->getMethod()) {
return $this->render('legal/rgpd_verify.html.twig', [
'type' => $type,
'email' => $email,
'ip' => $ip,
]);
return $this->render('legal/rgpd_verify.html.twig', [
'type' => $type,
'email' => $email,
'ip' => $ip,
]);
}
#[Route('/rgpd/verify', name: 'rgpd_verify_post', methods: ['POST'])]
public function rgpdVerifyPost(Request $request, RgpdService $rgpd): Response
{
$type = $request->request->getString('type');
$email = $request->request->getString('email');
$ip = $request->request->getString('ip');
$code = trim($request->request->getString('code'));
if ('' === $type || '' === $email || '' === $ip) {
$this->addFlash('error', 'Parametres manquants.');
return $this->redirect($this->generateUrl('app_legal_rgpd').self::RGPD_ANCHOR);
}
// POST : verifie le code
$code = trim($request->request->getString('code'));
if (!$rgpd->verifyCode($email, $ip, $type, $code)) {
$this->addFlash('error', 'Code invalide ou expire. Veuillez reessayer.');
@@ -174,7 +184,6 @@ class LegalController extends AbstractController
]);
}
// Code valide : executer la demande
try {
if ('access' === $type) {
$result = $rgpd->handleAccessRequest($ip, $email);