* Buchungsseite aus Suchmaschinen-Index entfernen

* ab-Preis in Box nur anzeigen, wenn Termine verfügbar
* Behoben: ab-Preis in Box berücksichtigt Rabatt nicht
* Behoben: Sidebar-Navigation wird auf manchen Seiten nicht angezeigt
* AGB Buchungsformular in Abh. des Reiseveranstalters anzeigen
* Behoben: Server-Fehler bei Zugriff auf Reisetermine, falls Zielflughafen im Reiseprogramm nicht gesetzt

git-svn-id: http://78.47.251.156/svn/dev/sterntours-3@3294 f459cee4-fb09-11de-96c3-f9c5f16c3c76
This commit is contained in:
uli 2017-02-16 06:43:19 +00:00
parent 6bb5c271c6
commit 4c2fb2fd08
12 changed files with 55 additions and 17 deletions

View file

@ -5,9 +5,11 @@
<!--[if (gte IE 9)|!(IE)]><!--><html lang="de"><!--<![endif]-->
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
{% block metatags %}
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
{% endblock %}
<title>STERNTOURS</title>

View file

@ -112,7 +112,7 @@
<div class="container">
<div class="row">
<div class="col-md-6 text-left">
<p>STERN TOURS © 2016</p>
<p>STERN TOURS © {{ 'now'|date('Y') }}</p>
</div><!-- end col -->
<div class="col-md-6 text-right">

View file

@ -7,7 +7,7 @@
{% if child_page.boxStar is not empty %}
<div class="cstar_left">{{ child_page.boxStar|raw }}</div>
{% endif %}
{% if child_page.travelProgram is not empty %}
{% if child_page.travelProgram is not empty and child_page.travelProgram.lowestPrice > 0 %}
<div class="cprice">ab {{ child_page.travelProgram.lowestPrice|number_format }} € p.P.</div>
{% endif %}
{% if child_page.boxDiscount is not empty %}

View file

@ -1,6 +1,11 @@
{% extends 'base.html.twig' %}
{% form_theme form 'default/form/theme.html.twig' %}
{% block metatags %}
{{ parent() }}
<meta name="robots" content="noindex" />
{% endblock %}
{% block stylesheets %}
{{ parent() }}
{% stylesheets 'bundles/app/css/booking.css' filter='cssrewrite' %}
@ -339,8 +344,15 @@
{{ form_widget(form.acceptTerms) }}
<label for="{{ form.acceptTerms.vars.id }}">
Ich habe alle Daten und Angaben auf Richtigkeit überprüft. Ich habe die
<a href="#">Allgemeinen Geschäftsbedingungen des Reiseveranstalters</a> SKR
sowie die <a href="#">Allgemeinen Geschäftsbedingungen des Reisevermittlers</a>
<a href="/uploads/{{ travel_program.organizer.fileName }}">
Allgemeinen Geschäftsbedingungen des Reiseveranstalters
</a> {{ travel_program.organizer.name }}
{% if travel_program.isMediated %}
sowie die
<a href="/uploads/{{ mediator_terms_filename }}">
Allgemeinen Geschäftsbedingungen des Reisevermittlers
</a>
{% endif %}
gelesen und akzeptiert. Zugleich erkenne ich diese für alle Reiseteilnehmer an.
</label>
{{ form_errors(form.acceptTerms) }}

View file

@ -1,8 +1,10 @@
{% extends 'base.html.twig' %}
{#
{% block nav_sidebar_widget %}
{% include 'default/components/sidebar/navSidebarWidget.html.twig' %}
{% endblock %}
#}
{% block body %}
<section class="clearfix">

View file

@ -179,6 +179,7 @@
<td data-title="">
<a href="{{ page.urlPath ~ '/buchen?nr=' ~ travel_date.name }}"
class="btn btn-primary"
rel="nofollow"
>
Buchungsformular
</a>

View file

@ -146,7 +146,10 @@ class BookingController extends Controller
'price_type_by_id' => $this->priceTypeById,
'breadcrumb_entries' => $breadcrumbEntries,
'summary' => $htmlSummary,
'total_price' => $totalPrice
'total_price' => $totalPrice,
'mediator_terms_filename' => $travelProgram->getIsMediated()
? $this->getDoctrine()->getRepository('AppBundle:TravelOrganizer')->find(1)->getFileName()
: null
]);
}
elseif ($action == '/berechne-gesamtpreis')

View file

@ -61,9 +61,11 @@ class DefaultController extends Controller
// #WORKAROUND Special navigation logic here adapted from the old website: Don't show child entries
// #TODO Only applies at level 0
/*
'nav_pages' => $page->getChildren(),
'nav_child_pages' => [],
'nav_open_node' => null
*/
]);
}
@ -160,8 +162,16 @@ class DefaultController extends Controller
if ($page->getHasChildren())
{
$view['nav_pages'] = $pageRepo->getSiblings($page);
$view['nav_child_pages'] = $pageRepo->getChildren($page);
if ($page->getLvl() == 0)
{
$view['nav_pages'] = $page->getChildren();
$view['nav_child_pages'] = [];
}
else
{
$view['nav_pages'] = $pageRepo->getSiblings($page);
$view['nav_child_pages'] = $page->getChildren();
}
$view['nav_open_node'] = $page;
}
else
@ -170,7 +180,14 @@ class DefaultController extends Controller
if ($parent)
{
$view['nav_pages'] = $pageRepo->getSiblings($parent);
$view['nav_child_pages'] = $pageRepo->getSiblings($page);
if (empty($view['nav_pages']))
{
$view['nav_pages'] = $pageRepo->getSiblings($page);
}
else
{
$view['nav_child_pages'] = $pageRepo->getSiblings($page);
}
$view['nav_open_node'] = $parent;
}
else

View file

@ -51,7 +51,7 @@ class PageRepository extends NestedTreeRepository
$parent = $page->getParent();
if (!$parent)
{
// #TODO Return all root pages
// On purpose, we don't treat root pages as if they were siblings
return [];
}
$siblings = $parent->getChildren();

View file

@ -241,7 +241,7 @@ final class TravelDate
if ($price->getPriceTypeId() == 3)
{
// Use double room if available (#1076)
return /*$price->getEffectiveDiscountPrice() ??*/ $price->getEffectivePrice();
return $price->getEffectiveDiscountPrice() ?? $price->getEffectivePrice();
}
if ($lowest < 0 || $price->getEffectivePrice() < 0)
{

View file

@ -290,6 +290,10 @@ class TravelPeriodRepository extends \Doctrine\ORM\EntityRepository
$flightPeriodByKey = null;
if (!$program->getIsMediated())
{
if (!$program->getTravelArrivalPoint())
{
return [];
}
if ($flags & self::TD_QUERY_VIRTUAL)
{
// If virtual entries are included, we have to fetch all flight periods, because we don't know

View file

@ -21,14 +21,11 @@ class KernelControllerListener
{
private $em;
private $controllerResolver;
private $router;
public function __construct(EntityManager $entityManager, ControllerResolverInterface $controllerResolver,
Router $router)
public function __construct(EntityManager $entityManager, ControllerResolverInterface $controllerResolver)
{
$this->em = $entityManager;
$this->controllerResolver = $controllerResolver;
$this->router = $router;
}
public function onKernelController(FilterControllerEvent $event)