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


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.