/** * @Route("/administration/presentation/membre/modifier/{member}", name="admin-member-edit") * @Method({"GET", "POST"}) */ public function editAction(Request $request, Member $member) { $form = $this->createForm(new MemberType(), $member, array('method' => 'POST', 'action' => $this->generateUrl('admin-member-edit', array('member' => $member->getId())))); $form->handleRequest($request); if ($form->isSubmitted() && $form->isValid()) { $ic = $this->getImageMemberConstraint(); $errors = $this->get('validator')->validate($request->files->get('member')['photo'], $ic); if (count($errors) > 0) { foreach ($errors as $error) { $form->get('photo')->addError(new FormError($error->getMessage())); } return $this->render('admin/presentation/add.html.twig', array('form' => $form->createView())); } $member = $form->getData(); if (null !== $request->files->get('member')['photo']) { $file = new File(); $file->setFile($request->files->get('member')['photo']); $file->upload(); $member->setPhoto($file); } $em = $this->getDoctrine()->getManager(); $em->persist($member); $em->flush(); $this->get('meli.flasher')->flashSuccess('Le membre a été modifié.'); return $this->redirectToRoute('admin-presentation'); } return $this->render('admin/presentation/add.html.twig', array('form' => $form->createView(), 'submit' => 'Modifier')); }