From 99c6715712f0e8b0779b2735b891333678f3e44d Mon Sep 17 00:00:00 2001 From: uli Date: Sat, 17 Dec 2016 11:08:28 +0000 Subject: [PATCH] * Behoben: Seitenbaum-Erstellungs-Route nicht aufrufbar * Behoben: Buchungsformular wird nicht aufgerufen, wenn es keine Buchungsoptionen gibt git-svn-id: http://78.47.251.156/svn/dev/sterntours-3@3284 f459cee4-fb09-11de-96c3-f9c5f16c3c76 --- .../views/default/pages/booking.html.twig | 14 +- .../Controller/DefaultController.php | 151 +++++++++--------- 2 files changed, 85 insertions(+), 80 deletions(-) diff --git a/trunk/app/Resources/views/default/pages/booking.html.twig b/trunk/app/Resources/views/default/pages/booking.html.twig index f4f5bba0..aebc2776 100644 --- a/trunk/app/Resources/views/default/pages/booking.html.twig +++ b/trunk/app/Resources/views/default/pages/booking.html.twig @@ -110,12 +110,14 @@ {% endif %} - {% for travelOptionForm in form.travelOptions %} - {% include 'default/components/booking/travelOption.html.twig' with { - 'travelOptionForm': travelOptionForm, - 'travelOption': form.travelOptions.vars.choices[travelOptionForm.vars.value].data - } %} - {% endfor %} + {% if form.travelOptions is defined %} + {% for travelOptionForm in form.travelOptions %} + {% include 'default/components/booking/travelOption.html.twig' with { + 'travelOptionForm': travelOptionForm, + 'travelOption': form.travelOptions.vars.choices[travelOptionForm.vars.value].data + } %} + {% endfor %} + {% endif %} diff --git a/trunk/src/AppBundle/Controller/DefaultController.php b/trunk/src/AppBundle/Controller/DefaultController.php index 6c39f4ef..d3671b9b 100644 --- a/trunk/src/AppBundle/Controller/DefaultController.php +++ b/trunk/src/AppBundle/Controller/DefaultController.php @@ -15,6 +15,83 @@ use Symfony\Component\Stopwatch\Stopwatch; class DefaultController extends Controller { + + /* +Suche Kindknoten +Für jeden Kindknoten + ++LFT + Setze LFT + f() + ++LFT + RGT = LFT + Setze RGT +*/ + + /** + * @Route("/create-tree") + */ + public function createTreeAction() + { + set_time_limit(0); + ini_set('memory_limit', '2048M'); + + $em = $this->getEntityManager(); + + foreach ($em->getEventManager()->getListeners() as $event => $listeners) { + foreach ($listeners as $hash => $listener) { + if ($listener instanceof TreeListener) + { + $em->getEventManager()->removeEventListener($event, $listener); + } + } + } + + $em->beginTransaction(); + $lft = 0; + $this->createTree(0, $lft, 0); + $em->commit(); + $em->flush(); + } + + private function createTree($owner, &$lft, $lvl, $root = null) + { + $em = $this->getEntityManager(); + + $qb = $em->createQueryBuilder()->from('AppBundle:Page', 'p')->select('p'); + $qb->where($qb->expr()->eq('p.owner', $owner)); + if ($owner == 0) + { + $qb->orWhere('p.owner IS NULL'); + } + $qb->orderBy('p.title'); + $pages = $qb->getQuery()->execute(); + foreach ($pages as $page) + { + /** @var Page $page */ + + if ($owner == 0) + { + $root = $page->getId(); + } + + ++$lft; + $page->setLft($lft); + $page->setLvl($lvl); + $page->setRoot($em->getReference('AppBundle:Page', $root)); + if ($owner != 0) + { + $page->setParent($em->getReference('AppBundle:Page', $owner)); + } + + $this->createTree($page->getId(), $lft, $lvl + 1, $root); + + ++$lft; + $page->setRgt($lft); + + $em->persist($page); + } + } + /** * @return EntityManager */ @@ -130,81 +207,7 @@ class DefaultController extends Controller } - /* - Suche Kindknoten - Für jeden Kindknoten - ++LFT - Setze LFT - f() - ++LFT - RGT = LFT - Setze RGT - */ - /** - * @Route("/create-tree") - */ - public function createTreeAction() - { - set_time_limit(0); - ini_set('memory_limit', '2048M'); - - $em = $this->getEntityManager(); - - foreach ($em->getEventManager()->getListeners() as $event => $listeners) { - foreach ($listeners as $hash => $listener) { - if ($listener instanceof TreeListener) - { - $em->getEventManager()->removeEventListener($event, $listener); - } - } - } - - $em->beginTransaction(); - $lft = 0; - $this->createTree(0, $lft, 0); - $em->commit(); - $em->flush(); - } - - private function createTree($owner, &$lft, $lvl, $root = null) - { - $em = $this->getEntityManager(); - - $qb = $em->createQueryBuilder()->from('AppBundle:Page', 'p')->select('p'); - $qb->where($qb->expr()->eq('p.owner', $owner)); - if ($owner == 0) - { - $qb->orWhere('p.owner IS NULL'); - } - $qb->orderBy('p.title'); - $pages = $qb->getQuery()->execute(); - foreach ($pages as $page) - { - /** @var Page $page */ - - if ($owner == 0) - { - $root = $page->getId(); - } - - ++$lft; - $page->setLft($lft); - $page->setLvl($lvl); - $page->setRoot($em->getReference('AppBundle:Page', $root)); - if ($owner != 0) - { - $page->setParent($em->getReference('AppBundle:Page', $owner)); - } - - $this->createTree($page->getId(), $lft, $lvl + 1, $root); - - ++$lft; - $page->setRgt($lft); - - $em->persist($page); - } - } }