/** * @Route("/addPatient", name="addPatient") * @Method({"GET", "POST"}) */ public function addPatientAction(Request $request) { $user = new User(); $form = $this->createForm(UserType::class, $user); $form->handleRequest($request); if ($form->isSubmitted() && $form->isValid()) { $em = $this->getDoctrine()->getManager(); $this->get('app_bundle.user_manager')->setUserPassword($user, $user->getPassword()); //add role based on value off checkbox $user->setRoles(array('ROLE_PATIENT')); $image = new ProfileImage(); $image->setPath('defaultProfileImage.png'); $em->persist($image); $em->flush(); $user->setImage($image); $em->persist($user); $em->flush(); $patient = new Patient(); $patient->setUser($user); $em->persist($patient); $em->flush(); return $this->redirectToRoute('patientDetail', array('id' => $patient->getId())); } return $this->render('AppBundle:Patient:addPatient.html.twig', array('user' => $user, 'form' => $form->createView())); }