Afficher 2 vues différentes en fonction des conditions

Par Anouchka25, il y a 5 ans


Bonjour,

Sur mon site Symfony, un utilisateur doit d'abord s'inscrire ensuite il souscrit à un contrat en remplissant un formulaire

Ce que je fais

/** * @Route("/moncompte", name="moncompte", methods={"GET"}) */ public function moncompte(SouscripteurRepository $souscripteurRepository): Response { $userSouscripteur = $souscripteurRepository->findOneBy([ 'user' => $this->getUser() ]); if($userSouscripteur!==null) { return $this->render('souscripteur/moncompte.html.twig', [ 'souscript' => $userSouscripteur, ]); }else { return $this->redirectToRoute('souscripteur_new'); } }

Ce que je veux

Ce code ci-dessus permet que lorsque l'utilisateur clique sur la route /souscripteur/moncompte :

Ce que j'obtiens

Une page vide lorsque je suis connectée à un compte d'un utilisateur qui n'a pas encore souscrit au contrat et que je vais sur la route /souscripteur/moncompte. Je devrais normalement arriver sur la page https://waloude.org/souscripteur/new puisque l'utilisateur n'a pas encore rempli le contrat.

Merci

1 réponse

Jessy Brs, il y a 5 ans

Salut, dans ce cas là je te propose d'ajouter un table "contrat" via ton entité.
Si contrat = true alors.

Sinon vu que c'est un contrat, vu que tu es peut-être dans le mode abonné ou membre.
Tu peux faire ça via le rôle.
C'est à dire le getRole qui extends de ton userInterface depuis ton entité user.