Ejemplo n.º 1
0
 /**
  * Set moduleSquare
  *
  * @param \Site\MainBundle\Entity\ModuleSquare $moduleSquare
  * @return Level
  */
 public function setModuleSquare(\Site\MainBundle\Entity\ModuleSquare $moduleSquare = null)
 {
     $this->moduleSquare = $moduleSquare;
     $moduleSquare->setLevel($this);
     return $this;
 }
Ejemplo n.º 2
0
 /**
  * Creates a new Level entity.
  *
  */
 public function createAction(Request $request, $project_id, $page_id, $type)
 {
     $entity = new Level();
     $form = $this->createCreateForm($entity, $project_id, $page_id, $type);
     $form->handleRequest($request);
     if ($form->isValid()) {
         //          Квадраты
         if (is_object($entity->getModuleSquare())) {
             foreach ($entity->getModuleSquare()->getSquares() as $square) {
                 $square->setModuleSquare($entity->getModuleSquare());
             }
         }
         //          Отзывы
         if (is_object($entity->getModuleComment())) {
             foreach ($entity->getModuleComment()->getComment() as $comment) {
                 $comment->setModuleComment($entity->getModuleComment());
             }
         }
         $em = $this->getDoctrine()->getManager();
         $page = $this->getDoctrine()->getRepository('SiteMainBundle:Page')->find($page_id);
         if (!$page) {
             throw $this->createNotFoundException($this->get('translator')->trans('backend.page.not_found'));
         }
         $entity->setPage($page);
         $em->persist($entity);
         $em->flush();
         switch ($type) {
             case 'header':
                 // Модуль шапка
                 $moduleHeader = new ModuleHeader();
                 $moduleHeader->setLevel($entity);
                 $em->persist($moduleHeader);
                 $em->flush();
                 $entity->setModuleHeader($moduleHeader);
                 $em->flush();
                 break;
             case 'line':
                 // Модуль линия
                 $moduleLine = new ModuleLine();
                 $moduleLine->setLevel($entity);
                 $em->persist($moduleLine);
                 $em->flush();
                 $entity->setModuleLine($moduleLine);
                 $em->flush();
                 break;
             case 'square':
                 // Модуль квадрат
                 $moduleSquare = new ModuleSquare();
                 $moduleSquare->setLevel($entity);
                 $em->persist($moduleSquare);
                 $em->flush();
                 $entity->setModuleSquare($moduleSquare);
                 $em->flush();
                 break;
             case 'map':
                 // Модуль карта
                 $moduleMap = new ModuleMap();
                 $moduleMap->setLevel($entity);
                 $em->persist($moduleMap);
                 $em->flush();
                 $entity->setModuleMap($moduleMap);
                 $em->flush();
                 break;
             case 'comment':
                 // Модуль отзывов
                 $moduleComment = new ModuleComment();
                 $moduleComment->setLevel($entity);
                 $em->persist($moduleComment);
                 $em->flush();
                 $entity->setModuleComment($moduleComment);
                 $em->flush();
                 break;
             default:
                 // Модуль шапка
                 $moduleHeader = new ModuleHeader();
                 $moduleHeader->setLevel($entity);
                 $em->persist($moduleHeader);
                 $em->flush();
                 $entity->setModuleHeader($moduleHeader);
                 $em->flush();
                 break;
         }
         $entity->setType($type);
         $em->flush();
         return $this->redirect($this->generateUrl('backend_level_edit', array('id' => $entity->getId(), 'page_id' => $page_id, 'project_id' => $project_id, 'type' => $type)));
     }
     return $this->render('SiteMainBundle:Backend/Level:new.html.twig', array('entity' => $entity, 'form' => $form->createView()));
 }