Bonjour,
J'ai un problème d'enregistrement des données d'un formulaire avec Bootstrap modal.
Dans une vue d'enregistrement d'un véhicule, l'utilisateur a la possibilité d'utiliser l'adresse utilisée dans son profil comme étant l'adresse où se trouve le véhicule. Mais avant cela, si l'adresse de son profil n'est pas correcte, il a la possibilité de la modifier via un formulaire modal :
Après l'envoi du formulaire, la modification n'est pas enregistrée en base de données et aucune erreur ne m'est affichée.
Voici l'appel du formulaire modal dans ma vue :
Voici la fonction du controller appelée dans le template :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 ... {{ include('_flashMessages.html.twig') }} // Fichier m'affichant les messages flash ... <div class="col"> <a href"#" data-focus=true data-backdrop="static" data-keyboard="false" data-toggle="modal" href="#profileAddress">Edit</a> </div> ... <div id="profileAddress" tabindex="-1" class="modal fade" role="dialog"> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header"> <h4 class="modal-title">Profile address</h4> <button type="button" class="close" data-dismiss="modal" aria-label="Close"> <span aria-hidden="true">×</span> </button> </div> <div class="modal-body"> {{ render(controller('App\\Controller\\user\\ProfileController::editAddress', { 'advert': advert.id })) }} </div> </div> </div> </div>
Quelqu'un aurait une idée sur ce que je dois modifier pour que ça fonctionne correctement?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40 /** * @Route("/user/profile/address/edit/{profile}/{advert}", name="user.profile.address.edit") * * @param Profile $profile * @param Advert $advert * @param EntityManagerInterface $manager * @param EntityManagerInterface $manager * * @return Response */ public function editAddress(Advert $advert, EntityManagerInterface $manager, Request $request): Response { $profile = $this->getUser()->getProfile(); $profileAddressForm = $this->createForm(ProfileAddressType::class, $profile); $profileAddressForm->handleRequest($request); if ($profileAddressForm->isSubmitted() && $profileAddressForm->isValid()) { $manager->persist($profile); $manager->flush(); $this->addFlash('success', "Your profile address was successfully updated"); return $this->redirectToRoute('advert.vehicle.create', array('id' => $advert->getId())); } return $this->render('user/profile/profileAddress.html.twig', array( 'bodyId' => 'profileUpdate', 'profileAddressForm' => $profileAddressForm->createView() ) ) ; }
Merci d'avance pour votre aide!
Partager