Skip to content

Instantly share code, notes, and snippets.

@ollo-ride-nico
Created February 1, 2018 14:01
Show Gist options
  • Save ollo-ride-nico/5b0692dc9f89b447f4dd179f65e4de3a to your computer and use it in GitHub Desktop.
Save ollo-ride-nico/5b0692dc9f89b447f4dd179f65e4de3a to your computer and use it in GitHub Desktop.
class UpdateTrickController extends Controller
{
public function __invoke($id, Request $request)
{
// On récupère le trick à modifier
$updateTrick = $this->getDoctrine()
->getManager()
->getRepository('App:Tricks')
->find($id);
// On ajoute la date de modification
$updateTrick->setDateModification(new \DateTime());
// On crée le formulaire avec TricksUpdateType, On lui envoi le trick à modifier
$form = $this->createForm(TrickUpdateType::class, $updateTrick);
$form->handleRequest($request);
if ($form->isSubmitted() && $form->isValid()) {
// Afficher message flash
$this->addFlash(
'notice',
'Le trick à bien été modifié !'
);
$updateTrick = $form->getData();
// Modification du trick en base de donnée
$em = $this->getDoctrine()->getManager();
$em->persist($updateTrick);
$em->flush();
// Si le trick à été modifié, on redirige vers la vue du trick avec un message de confirmation
return $this->redirectToRoute('formGetTrick', array('id' => $id));
}
// Si le formulaire n est pas soumis, on propose le formulaire incluant le trick à modifier
return $this->render('formUpdateTrick.html.twig', array('updateTrick'=> $updateTrick, 'form' => $form->createView() ));
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment