/** * @Route("/ajax/registration", name="team_ajax_registration") */ public function ajaxRegistrationAction(Request $request) { if ($request->isXmlHttpRequest()) { $user = $this->getUser(); if (!empty($user) && empty($user->getTeam())) { $errors = $this->validateTeam($request->get('name'), $request->get('players'), $request->get('dispo')); if (empty($errors)) { try { $em = $this->getDoctrine()->getManager(); $team = new Team(); $team->setName($request->get('name')); $team->setInscriptionDate(new \DateTime()); $team->setPaid(false); $team->setValid(false); $team->setAvailable($request->get('dispo')); $players = json_decode($request->get('players'), true); foreach ($players as $k => $v) { $player = new Player(); $class = $em->getRepository('TeamBundle:Classe')->findOneBy(array('id' => $v['class'])); $player->setPseudo($v['name']); $player->setLevel($v['level']); $player->setClass($class); $player->setIsRemplacant(false); $player->setTeam($team); $em->persist($player); if (!empty($v['remplacant']['name']) && !empty($v['remplacant']['level'])) { $player = new Player(); $player->setPseudo($v['remplacant']['name']); $player->setLevel($v['remplacant']['level']); $player->setClass($class); $player->setIsRemplacant(true); $player->setTeam($team); $em->persist($player); } } $user->setTeam($team); // On set la team de l'utilisateur si tout est ok $em->persist($team); $em->flush(); $response = new Response(json_encode(array('status' => 'ok'))); $this->addFlash('success', 'Votre équipe a bien été inscrite !'); } catch (\Exception $e) { $response = new Response(json_encode(array('status' => 'ko', 'message' => 'Une erreur inconnue s\'est produite', 'debug' => $e->getMessage()))); } } else { $response = new Response(json_encode(array('status' => 'ko', 'message' => $errors))); } } else { $response = new Response(json_encode(array('status' => 'ko', 'message' => 'Vous possédez déjà une équipe ou vous n\'êtes pas connecté'))); } $response->headers->set('Content-Type', 'application/json'); return $response; } $response = new Response(json_encode(array('status' => 'ko', 'message' => 'Accès non autorisé', 'debug' => 'Bad request'))); $response->headers->set('Content-Type', 'application/json'); return $response; }
/** * @SuppressWarnings(PHPMD.UnusedFormalParameter) * * @param ObjectManager $manager Object manager * * @return null */ public function load(ObjectManager $manager) { $lorem = 'Lorem ipsum dolor amet consectetur adipiscing elit sed eiusmod tempor incididunt labore dolore magna aliqua enim ad minim veniam quis nostrud exercitation ullamco laboris nisi aliquip ex ea commodo consequat'; $nameList = explode(' ', $lorem); $groupCpt = 1; for ($i = 1; $i <= 12; $i++) { $team = new Team(); $teamName = $nameList[array_rand($nameList)]; $team->setName($teamName); $team->setScore(666); $team->setGroup($this->getReference('group' . $groupCpt)); $manager->persist($team); $this->addReference('team' . $i, $team); if ($i % 3 == 0) { $groupCpt++; } } $manager->flush(); }