/** * @Route("/ajax/survey/url", name="ajax_survey_url", condition="request.isXmlHttpRequest()") */ public function ajaxSurveyUrl(Request $request) { $manager = $this->getDoctrine()->getManager(); $id = $request->request->get('id'); $survey = $manager->getRepository('SurveyBundle:Survey')->find($id); $randomString = RandomString::generate(20); $newUrlForSurvey = $request->getScheme() . '://' . $request->getHttpHost() . $this->generateUrl('survey_show', array('url' => $randomString)); $url = new Session(); $url->setName($randomString); $url->setSurvey($survey); $url->setFromDate(new \DateTime()); $url->setActive(true); $url->setUrl($randomString); foreach ($survey->getQuestions() as $question) { $url->addQuestion($question); } $manager->persist($url); $manager->flush(); $data = array('url' => $newUrlForSurvey); return new Response(json_encode($data), 200); }