예제 #1
0
 /**
  * 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);
 }
예제 #2
0
 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;
 }