/** * @Route(name="team_create", path="/team/create", methods={"POST"}) * * @param Request $request * * @return \Symfony\Component\HttpFoundation\Response */ public function teamCreateAction(Request $request) { /** @var User $user */ $user = $this->getUser(); $newTeam = new Team(); $newTeam->setCaptain($user); $newTeam->addMember($user); $teamForm = $this->createForm(new TeamType($this->generateUrl('team_create')), $newTeam); $teamForm->handleRequest($request); if ($teamForm->isValid()) { if ($this->getDoctrine()->getRepository('sdUserBundle:Team')->findOneBy(['name' => $newTeam->getName()])) { $this->addFlash('error', 'Команда с таким именем уже существует!'); } $user->setTeam($newTeam); $this->getDoctrine()->getManager()->persist($user); $this->getDoctrine()->getManager()->persist($newTeam); $this->getDoctrine()->getManager()->flush(); $this->addFlash('success', 'Команда создана!'); } else { $this->addFlash('error', 'Команда не создана!'); } return new RedirectResponse($this->generateUrl('team_settings')); }
private function getEnteredCodes(Team $team, Task $task) { if ($this->enteredCodes === false || !array_key_exists($task->getId(), $this->enteredCodes)) { $this->enteredCodes[$task->getId()] = $this->manager->getRepository('sdGameBundle:CodeEnter')->findBy(['isCorrect' => true, 'user' => $team->getMembers()->toArray(), 'task' => $task]); } return $this->enteredCodes[$task->getId()]; }
/** * @return bool */ public function containsTeam(Team $team) { foreach ($this->teams as $iTeam) { if ($iTeam->getId() == $team->getId()) { return true; } } return false; }