/** * @Route("/add-experience", name="app_talent_add_experience", options={"expose"=true}) * @Method("POST") */ public function addExperienceAction(Request $request) { $cv = $this->getUser()->getCv(); if ($request->isXmlHttpRequest() && $cv) { $experience = new Experience(); $experience->setCv($cv); $form = $this->createForm(ExperienceType::class, $experience, ['csrf_protection' => false]); $form->handleRequest($request); $form->submit($request->request->get('app_experience')); if ($form->isValid()) { $em = $this->getDoctrine()->getManager(); $em->persist($experience); $em->flush(); return new JsonResponse(['success' => true, 'experience' => $this->renderView(':front/talent:experience.html.twig', ['experience' => $experience])]); } } return new JsonResponse(['success' => false]); }
/** * @param Experience $experience * * @return $this */ public function addExperience(Experience $experience) { $this->experiences[] = $experience; $experience->setCv($this); return $this; }