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:
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user