/** * Add new group to a category * @Route("/edit/group/add/{categoryid}", name="_edit_group_add") * @Template("ICupPublicSiteBundle:Host:editgroup.html.twig") */ public function addGroupAction($categoryid, Request $request) { /* @var $utilService Util */ $utilService = $this->get('util'); $returnUrl = $utilService->getReferer(); /* @var $user User */ $user = $utilService->getCurrentUser(); /* @var $category Category */ $category = $this->get('entity')->getCategoryById($categoryid); /* @var $tournament Tournament */ $tournament = $category->getTournament(); $host = $tournament->getHost(); $utilService->validateEditorAdminUser($user, $host); $group = new Group(); $group->setCategory($category); $form = $this->makeGroupForm($group, 'add'); $form->handleRequest($request); if ($form->get('cancel')->isClicked()) { return $this->redirect($returnUrl); } if ($this->checkForm($form, $group)) { $em = $this->getDoctrine()->getManager(); $em->persist($group); $em->flush(); return $this->redirect($returnUrl); } return array('form' => $form->createView(), 'action' => 'add', 'group' => $group, 'error' => null); }
public function makeGroups(Tournament $tournament) { /* @var $category Category */ foreach ($tournament->getCategories() as $category) { foreach (array('A', 'B', 'C') as $groupname) { $group = new Group(); $group->setCategory($category); $group->setClassification(Group::$PRE); $group->setName($groupname); $category->getGroups()->add($group); $this->em->persist($group); } } $this->em->flush(); }
private function importCategories(Tournament $source_tournament, Tournament $tournament) { $em = $this->getDoctrine()->getManager(); $cconversion = array(); /* @var $category Category */ foreach ($source_tournament->getCategories() as $category) { $new_category = new Category(); $new_category->setTournament($tournament); $new_category->setName($category->getName()); $new_category->setGender($category->getGender()); $new_category->setClassification($category->getClassification()); $new_category->setAge($category->getAge()); $new_category->setMatchtime($category->getMatchtime()); $em->persist($new_category); $cconversion[$category->getId()] = $new_category; foreach ($category->getGroups() as $group) { $new_group = new Group(); $new_group->setCategory($new_category); $new_group->setName($group->getName()); $new_group->setClassification($group->getClassification()); $em->persist($new_group); } } $em->flush(); return $cconversion; }