4 pièce(s) jointe(s)
Données non mises à jour avec l'utilisation de Bootstrap modal
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 :
Pièce jointe 536897
Pièce jointe 536899
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 :
Code:
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> |
Voici la fonction du controller appelée dans le template :
Code:
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()
)
)
;
} |
Quelqu'un aurait une idée sur ce que je dois modifier pour que ça fonctionne correctement?
Merci d'avance pour votre aide!