/** * Ajax function to confirm a user as the croissants bringer. * * Function used only by Admin * * @return \Symfony\Component\HttpFoundation\Response */ public function confirmUserAction() { $request = $this->getRequest(); if ($request->isXmlHttpRequest()) { $response = new Response(); try { $dayOfConfirmation = DateTime::createFromFormat("dmY", $request->request->get('date')); $dayOfConfirmation->setTime(0, 0); $username = $request->request->get('username'); $em = $this->getDoctrine()->getManager(); $repositoryFS = $em->getRepository('STXCroissantsBundle:Friday_Subscriptions'); $friday_subscribtion = $repositoryFS->findOneBy(array('date' => $dayOfConfirmation)); if (is_null($friday_subscribtion)) { $friday_subscribtion = new Friday_Subscriptions(); $friday_subscribtion->setDate($dayOfConfirmation); } $userManager = $this->get('fos_user.user_manager'); $confirmationUser = new User(); $confirmationUser = $userManager->findUserBy(array('username' => $username)); $friday_subscribtion->setConfirmationUser($confirmationUser); $em->persist($friday_subscribtion); $em->flush(); //$this->get('session')->getFlashBag()->add('success', 'Utilisateur ' . $username . 'a apporté les croissants le ' . $dayOfConfirmation .'!'); $output = array('success' => TRUE, 'message' => 'Confirmation complete!', 'user' => $confirmationUser->getUsername()); } catch (\Exception $e) { //$this->get('session')->getFlashBag()->add('error', 'Erreur survenue!'); $output = array('success' => FALSE, 'message' => 'An undefined exception occurred!'); } $response->headers->set('Content-Type', 'application/json'); $response->setContent(json_encode($output)); return $response; } }