dynamic Sidebar form v3 (SidebarWidget)

Dynamic Nationality
4 Insurance
This commit is contained in:
Kevin Adametz 2019-02-14 13:52:51 +01:00
parent 8b2ec705c9
commit 88360eabb7
33 changed files with 604 additions and 275 deletions

View file

@ -137,22 +137,17 @@
<!-- START CONTENT -->
<div class="row">
<div id="show_sterntours_video_full" class="col-md-12" style="display: none;">
</div>
{% include 'default/components/sidebar.html.twig' with {
nav_sidebar_widget_block: block('nav_sidebar_widget') ?? null,
search_sidebar_widget_block: block('search_sidebar_widget') ?? null,
travel_guide_sidebar_widget_block: block('travel_guide_sidebar_widget') ?? null,
travel_magazine_sidebar_widget_block: block('travel_magazine_sidebar_widget') ?? null,
offers_sidebar_widget_block: block('offers_sidebar_widget') ?? null,
feedbacks_sidebar_widget_block: block('feedbacks_sidebar_widget') ?? null,
} %}
{% if site_loading is defined and page is defined %}
{{ render(controller('AppBundle:Component:makeSidebarWidget', {'site_loading': site_loading, 'page': page})) }}
{% else %}
{{ render(controller('AppBundle:Component:makeSidebarWidget', {'site_loading': 'default'})) }}
{% endif %}
<div id="content" class="col-md-9 col-sm-12 col-xs-12">
{% block body %}{% endblock %}
</div><!-- end col -->
</div><!-- end row -->
<!-- END CONTENT -->
<!-- END CONTENT -->
</div><!-- end fullwidth -->
</div><!-- end row -->
</div><!-- end container -->

View file

@ -1,135 +0,0 @@
{# @var page \AppBundle\Entity\Page #}
<div id="sidebar" class="col-md-3 col-sm-12 col-xs-12">
<div class="row">
<div class="col-sm-6 col-md-12">
{% if show_nav_sidebar_about is not defined %}
<div id="show_sterntours_video_sidebar" class="widget clearfix">
<div class="widget-title">
<a class="collapse-widget {{ (app.request.get('_open_side_about')) }}" href="#about-widget" data-toggle="collapse" aria-expanded="true">Wir: STERN TOURS
</a>
</div><!-- end title -->
<div class="boxwidget collapse in {{ (app.request.get('_open_side_about')) }}" id="about-widget" aria-expanded="true">
<div class="video-wrap">
<div class="g-absolute-centered">
<a data-type="youtube_sterntours_video" data-src="https://www.youtube-nocookie.com/embed/Rpo5py2fjrg" href="javascript:;">
<div class="u-icon-v3"> Video ansehen <i class="fa fa-play"></i></div>
</a>
</div>
<img src="/images/placeholder-image.png" data-src="https://img.youtube.com/vi/Rpo5py2fjrg/sddefault.jpg" class="img-responsive lozad" alt="">
</div>
</div><!-- end boxwidget -->
</div><!-- end widget -->
{% endif %}
{% if show_search_sidebar_widget ?? true %}
{% if search_sidebar_widget_block is null %}
{% if search_form is defined %}
{{ include('default/components/sidebar/searchSidebarWidget.html.twig') }}
{# #WORKAROUND Overriding this block doesn't work, probably due to a Symfony bug, see ttSearch.html.twig #}
{% elseif tt_search_form is defined %}
{{ include('default/components/sidebar/ttSearchSidebarWidget.html.twig') }}
{# END WORKAROUND #}
{% elseif page is defined %}
{# #HACK Dont display the search in FEWO #}
{% if page.title != 'Ferienwohnungen' %}
{{ render(controller('AppBundle:Component:searchSidebarWidget', {page: page})) }}
{% endif %}
{% endif %}
{% else %}
{{ search_sidebar_widget_block|raw }}
{% endif %}
{% endif %}
{% if show_nav_sidebar_widget ?? true and page is defined %}
{% if nav_sidebar_widget_block is null %}
{{ render(controller('AppBundle:Component:navSidebarWidget', {page: page})) }}
{% else %}
{{ nav_sidebar_widget_block|raw }}
{% endif %}
{% endif %}
<div class="widget clearfix hidden-xs">
<div class="widget-title">
<a class="collapse-widget" href="#top-widget" data-toggle="collapse" aria-expanded="true">TOP bewertet
</a>
</div><!-- end title -->
<div class="boxwidget collapse in" id="top-widget" aria-expanded="true">
<a href="http://www.netzsieger.de/e/stern-tours" target="_blank" rel="nofollow"><img
src="{{ asset('images/netzsieger.png') }}" alt="Netzsieger.de bewertet STERN TOURS">
</a>
<!-- Ausgezeichnet.org-Siegel: Begin -->
<div id="auorg-bg"><a href="https://www.ausgezeichnet.org" target="_blank"
title="Unabh&auml;ngige Bewertungen, Kundenbewertungen und G&uuml;tesiegel von AUSGEZEICHNET.ORG"
class="auorg-br"> <span
style="font-size:8px;font-weight:normal;text-transform:uppercase;"> AUSGEZEICHNET.ORG</span>
</a></div>
<script type="text/javascript"
src="//siegel.ausgezeichnet.org/widgets/js/55b648290cf257aef3483d90/widget.js"></script>
{% if show_seal_of_approval is defined %}
<div class="boxwidget">
{% image '@AppBundle/Resources/public/images/guetesiegel_R_V.png' %}<img src="{{ asset_url }}"
alt="R+V Reiseversicherungen">{% endimage %}
</div><!-- end boxwidget -->
{% endif %}
<!-- Ausgezeichnet.org-Siegel: End -->
</div><!-- end boxwidget -->
</div><!-- end widget -->
</div>
<div class="col-sm-6 col-md-12">
{% if (show_feedbacks_sidebar_widget ?? true) and page is defined and page.effectiveCountry is not empty
and page.effectiveCountry.feedbackPage is not empty %}
{% if feedbacks_sidebar_widget_block is null %}
{{ render(controller('AppBundle:Component:feedbacksSidebarWidget', {country: page.effectiveCountry ?? null})) }}
{% else %}
{{ feedbacks_sidebar_widget_block|raw }}
{% endif %}
{% endif %}
{% if (show_travel_guide_sidebar_widget ?? true) and page is defined and page.effectiveCountry is not empty %}
{% if travel_guide_sidebar_widget_block is null %}
{{ render(controller('AppBundle:Component:travelGuideSidebarWidget', {country: page.effectiveCountry})) }}
{% else %}
{{ travel_guide_sidebar_widget_block|raw }}
{% endif %}
{% endif %}
{% if (show_travel_magazine_sidebar_widget ?? true) and page is defined and page.effectiveCountry is not empty %}
{% if travel_magazine_sidebar_widget_block is null %}
{{ render(controller('AppBundle:Component:travelMagazineSidebarWidget', {country: page.effectiveCountry})) }}
{% else %}
{{ travel_magazine_sidebar_widget_block|raw }}
{% endif %}
{% endif %}
{% if (show_offers_sidebar_widget ?? true) %}
{% if offers_sidebar_widget_block is null %}
{{ render(controller('AppBundle:Component:offersSidebarWidget', {country: page.effectiveCountry ?? null})) }}
{% else %}
{{ offers_sidebar_widget_block|raw }}
{% endif %}
{% endif %}
</div>
<div class="col-sm-12">
<hr class="visible-sm visible-xs">
</div>
</div>
</div><!-- end col -->

View file

@ -0,0 +1,11 @@
<div id="show_sterntours_video_full" class="col-md-12" style="display: none;">
</div>
{% include 'default/components/sidebar.html.twig' with {
nav_sidebar_widget_block: block('nav_sidebar_widget') ?? null,
search_sidebar_widget_block: block('search_sidebar_widget') ?? null,
travel_guide_sidebar_widget_block: block('travel_guide_sidebar_widget') ?? null,
travel_magazine_sidebar_widget_block: block('travel_magazine_sidebar_widget') ?? null,
offers_sidebar_widget_block: block('offers_sidebar_widget') ?? null,
feedbacks_sidebar_widget_block: block('feedbacks_sidebar_widget') ?? null,
} %}

View file

@ -0,0 +1,8 @@
<div id="show_sterntours_video_sidebar" class="widget clearfix">
<div class="widget-title">
<a class="collapse-widget {{ app.request.get('_open_side_about') }} {% if(app.request.get('_open_side_about') == 'closed') %} collapsed {% endif %}" href="#about-widget" data-toggle="collapse" aria-expanded="true">{{ widget.name }}</a>
</div><!-- end title -->
<div class="boxwidget collapse {{ app.request.get('_open_side_about') }} {% if(app.request.get('_open_side_about') == 'open') %} in open {% endif %}" id="about-widget" aria-expanded="true">
{{ widget.html|raw }}
</div><!-- end boxwidget -->
</div><!-- end widget -->

View file

@ -0,0 +1,4 @@
{% if page is not empty and page.effectiveCountry is not empty and page.effectiveCountry.feedbackPage is not empty %}
{{ render(controller('AppBundle:Component:feedbacksSidebarWidget', {country: page.effectiveCountry ?? null, title:widget.name})) }}
{% endif %}

View file

@ -1,39 +1,4 @@
{% if nav_pages %}
<div class="widget clearfix">
<div class="widget-title">
<a class="collapse-widget" href="#side-navigation" data-toggle="collapse">Reiseprogramme</a>
</div><!-- end title -->
<nav id="side-navigation" class="navbar collapse in" role="navigation" itemscope
itemtype="https://schema.org/SiteNavigationElement"
>
<ul class="side-menu" role="menu">
{% for nav_page in nav_pages %}
<li {% if nav_page == nav_open_node or nav_page == page %}class ="active"{% endif %} role="menuitem" itemprop="name">
<a itemprop="url" href="{{ nav_page.urlPath }}" title="{{ nav_page.title }}">
{{ nav_page.title }}
</a>
</li>
{% if nav_page == nav_open_node %}
{% for nav_child_page in nav_child_pages if nav_child_page.status == 1 and nav_child_page.showInNavi == 1 %}
<li class="sub-menu-item{% if nav_child_page == page %} active{% endif %}" role="menuitem" itemprop="name">
<i class="fa fa-star"></i>
<a itemprop="url" href="{{ nav_child_page.urlPath }}" title="{{ nav_child_page.title }}">
{{ nav_child_page.title }}
</a>
</li>
{% endfor %}
{% endif %}
{% endfor %}
</ul>
</nav>
</div>
{% if page is not empty %}
{{ render(controller('AppBundle:Component:navSidebarWidget', {page: page, title:widget.name})) }}
{% endif %}

View file

@ -0,0 +1,35 @@
{% if nav_pages is defined %}
<div class="widget clearfix">
<div class="widget-title">
<a class="collapse-widget" href="#side-navigation" data-toggle="collapse">{{ slider_title }}</a>
</div><!-- end title -->
<nav id="side-navigation" class="navbar collapse in" role="navigation" itemscope
itemtype="https://schema.org/SiteNavigationElement"
>
<ul class="side-menu" role="menu">
{% for nav_page in nav_pages %}
<li {% if nav_page == nav_open_node or nav_page == page %}class ="active"{% endif %} role="menuitem" itemprop="name">
<a itemprop="url" href="{{ nav_page.urlPath }}" title="{{ nav_page.title }}">
{{ nav_page.title }}
</a>
</li>
{% if nav_page == nav_open_node %}
{% for nav_child_page in nav_child_pages if nav_child_page.status == 1 and nav_child_page.showInNavi == 1 %}
<li class="sub-menu-item{% if nav_child_page == page %} active{% endif %}" role="menuitem" itemprop="name">
<i class="fa fa-star"></i>
<a itemprop="url" href="{{ nav_child_page.urlPath }}" title="{{ nav_child_page.title }}">
{{ nav_child_page.title }}
</a>
</li>
{% endfor %}
{% endif %}
{% endfor %}
</ul>
</nav>
</div>
{% endif %}

View file

@ -0,0 +1,2 @@
{{ render(controller('AppBundle:Component:offersSidebarWidget', {country: page.effectiveCountry ?? null, title:widget.name})) }}

View file

@ -1,32 +1,15 @@
{% form_theme search_form 'default/form/theme.html.twig' %}
<div class="widget clearfix">
<div class="widget-title">
<a class="collapse-widget" href="#search-widget" data-toggle="collapse">Kulturreisen suchen</a>
</div><!-- end title -->
<div class="searchwidget collapse in" id="search-widget">
<form action="/suche" method="get" class="searchform row st-search-form">
{% if search_form is defined %}
{{ include('default/components/sidebar/searchSidebarWidget.html.twig') }}
<div class="form-group col-md-12">
{{ form_field_pho(search_form.c, 'Reiseziel') }}
</div>
{# #WORKAROUND Overriding this block doesn't work, probably due to a Symfony bug, see ttSearch.html.twig #}
{% elseif tt_search_form is defined %}
{{ include('default/components/sidebar/ttSearchSidebarWidget.html.twig') }}
{# END WORKAROUND #}
<div class="form-group col-md-12">
<label for="b" style="display: none"></label>
{{ form_field_pho(search_form.b, 'Anreise') }}
</div>
<div class="form-group col-md-12 form-bottom">
<label for="e" style="display: none"></label>
{{ form_field_pho(search_form.e, 'Abreise') }}
</div>
<div class="form-group col-md-12 col-sm-12 col-xs-12 text-center form-bottom">
<button type="submit" class="btn btn-primary btn-block">Angebote suchen</button>
</div>
</form>
</div><!-- end boxwidget -->
</div>
{% elseif page is not empty %}
{# #HACK Dont display the search in FEWO #}
{% if page.title != 'Ferienwohnungen' %}
{{ render(controller('AppBundle:Component:searchSidebarWidget', {page: page, title:widget.name})) }}
{% endif %}
{% endif %}

View file

@ -0,0 +1,32 @@
{% form_theme search_form 'default/form/theme.html.twig' %}
<div class="widget clearfix">
<div class="widget-title">
<a class="collapse-widget" href="#search-widget" data-toggle="collapse">{{ slider_title }}</a>
</div><!-- end title -->
<div class="searchwidget collapse in" id="search-widget">
<form action="/suche" method="get" class="searchform row st-search-form">
<div class="form-group col-md-12">
{{ form_field_pho(search_form.c, 'Reiseziel') }}
</div>
<div class="form-group col-md-12">
<label for="b" style="display: none"></label>
{{ form_field_pho(search_form.b, 'Anreise') }}
</div>
<div class="form-group col-md-12 form-bottom">
<label for="e" style="display: none"></label>
{{ form_field_pho(search_form.e, 'Abreise') }}
</div>
<div class="form-group col-md-12 col-sm-12 col-xs-12 text-center form-bottom">
<button type="submit" class="btn btn-primary btn-block">Angebote suchen</button>
</div>
</form>
</div><!-- end boxwidget -->
</div>

View file

@ -0,0 +1,19 @@
{# @var page \AppBundle\Entity\Page #}
<div id="sidebar" class="col-md-3 col-sm-12 col-xs-12">
<div class="row">
<div class="col-sm-6 col-md-12">
{% for widget in widgets %}
{% if widget.component is defined %}
{% include 'default/components/sidebar/' ~ widget.component ~ '.html.twig' %}
{% if(loop.index == loop_half ) %}
</div>
<div class="col-sm-6 col-md-12">
{% endif %}
{% endif %}
{% endfor %}
</div>
<div class="col-sm-12">
<hr class="visible-sm visible-xs">
</div>
</div>
</div><!-- end col -->

View file

@ -0,0 +1,14 @@
<div class="widget clearfix hidden-xs">
<div class="widget-title">
<a class="collapse-widget" href="#top-widget" data-toggle="collapse" aria-expanded="true">{{ widget.name }}</a>
</div><!-- end title -->
<div class="boxwidget collapse in" id="top-widget" aria-expanded="true">
{{ widget.html|raw }}
{% if show_seal_of_approval %}
<div class="boxwidget">
{% image '@AppBundle/Resources/public/images/guetesiegel_R_V.png' %}<img src="{{ asset_url }}"
alt="R+V Reiseversicherungen">{% endimage %}
</div><!-- end boxwidget -->
{% endif %}
</div><!-- end boxwidget -->
</div><!-- end widget -->

View file

@ -0,0 +1,3 @@
{% if page is not empty and page.effectiveCountry is not empty %}
{{ render(controller('AppBundle:Component:travelGuideSidebarWidget', {country: page.effectiveCountry, title:widget.name})) }}
{% endif %}

View file

@ -0,0 +1,3 @@
{% if page is not empty and page.effectiveCountry is not empty %}
{{ render(controller('AppBundle:Component:travelMagazineSidebarWidget', {country: page.effectiveCountry, title:widget.name})) }}
{% endif %}

View file

@ -54,32 +54,33 @@ E-Mail: {{ booking_request.email ?? 'keine Angabe' }}
=====================================================================================
Reiseteilnehmer:
Nr., Zimmertyp, Geschlecht, Vorname, Nachname, Geburtsdatum
=====================================================================================
{% set travelerIndex = 0 %}
{% set travelerCollection = booking_request.travelers|slice(0, (booking_request.travelerCount + booking_request.childrenCount)) %}
{% for room in booking_request.occupiedRooms %}
{% if(room.type == 1) %}
{{ loop.index }}. Einzelzimmer Erwachsener, {{ travelerCollection[travelerIndex].sex == 1 ? 'männlich' : 'weiblich' }}, {{ travelerCollection[travelerIndex].firstName }}, {{ travelerCollection[travelerIndex].lastName -}}, {{ travelerCollection[travelerIndex].birthDate }}, {{ travelerCollection[travelerIndex].nationalityName }}
{{ loop.index }}. Einzelzimmer Erwachsener, {{ travelerCollection[travelerIndex].sex == 1 ? 'männlich' : 'weiblich' }}, {{ travelerCollection[travelerIndex].firstName }}, {{ travelerCollection[travelerIndex].lastName -}}, {{ travelerCollection[travelerIndex].birthDate }}, {{ travelerCollection[travelerIndex].nationalityName(nationalities) }}
{% set travelerIndex = travelerIndex + 1 %}
{% if(room.child == 1) %}
{{ loop.index }}. Einzelzimmer Kind, {{ travelerCollection[travelerIndex].sex == 1 ? 'männlich' : 'weiblich' }}, {{ travelerCollection[travelerIndex].firstName }}, {{ travelerCollection[travelerIndex].lastName -}}, {{ travelerCollection[travelerIndex].birthDate }}, {{ travelerCollection[travelerIndex].nationalityName }}
{{ loop.index }}. Einzelzimmer Kind, {{ travelerCollection[travelerIndex].sex == 1 ? 'männlich' : 'weiblich' }}, {{ travelerCollection[travelerIndex].firstName }}, {{ travelerCollection[travelerIndex].lastName -}}, {{ travelerCollection[travelerIndex].birthDate }}, {{ travelerCollection[travelerIndex].nationalityName(nationalities) }}
{% set travelerIndex = travelerIndex + 1 %}
{% endif %}
{% elseif (room.type == 2) %}
{{ loop.index }}. Doppelzimmer Erwachsener, {{ travelerCollection[travelerIndex].sex == 1 ? 'männlich' : 'weiblich' }}, {{ travelerCollection[travelerIndex].firstName }}, {{ travelerCollection[travelerIndex].lastName -}}, {{ travelerCollection[travelerIndex].birthDate }}, {{ travelerCollection[travelerIndex].nationalityName }}
{{ loop.index }}. Doppelzimmer Erwachsener, {{ travelerCollection[travelerIndex+1].sex == 1 ? 'männlich' : 'weiblich' }}, {{ travelerCollection[travelerIndex+1].firstName }}, {{ travelerCollection[travelerIndex+1].lastName -}}, {{ travelerCollection[travelerIndex+1].birthDate }}, {{ travelerCollection[travelerIndex].nationalityName }}
{{ loop.index }}. Doppelzimmer Erwachsener, {{ travelerCollection[travelerIndex].sex == 1 ? 'männlich' : 'weiblich' }}, {{ travelerCollection[travelerIndex].firstName }}, {{ travelerCollection[travelerIndex].lastName -}}, {{ travelerCollection[travelerIndex].birthDate }}, {{ travelerCollection[travelerIndex].nationalityName(nationalities) }}
{{ loop.index }}. Doppelzimmer Erwachsener, {{ travelerCollection[travelerIndex+1].sex == 1 ? 'männlich' : 'weiblich' }}, {{ travelerCollection[travelerIndex+1].firstName }}, {{ travelerCollection[travelerIndex+1].lastName -}}, {{ travelerCollection[travelerIndex+1].birthDate }}, {{ travelerCollection[travelerIndex].nationalityName(nationalities) }}
{% set travelerIndex = travelerIndex + 2 %}
{% if(room.child == 1) %}
{{ loop.index }}. Doppelzimmer Kind, {{ travelerCollection[travelerIndex].sex == 1 ? 'männlich' : 'weiblich' }}, {{ travelerCollection[travelerIndex].firstName }}, {{ travelerCollection[travelerIndex].lastName -}}, {{ travelerCollection[travelerIndex].birthDate }}, {{ travelerCollection[travelerIndex].nationalityName }}
{{ loop.index }}. Doppelzimmer Kind, {{ travelerCollection[travelerIndex].sex == 1 ? 'männlich' : 'weiblich' }}, {{ travelerCollection[travelerIndex].firstName }}, {{ travelerCollection[travelerIndex].lastName -}}, {{ travelerCollection[travelerIndex].birthDate }}, {{ travelerCollection[travelerIndex].nationalityName(nationalities) }}
{% set travelerIndex = travelerIndex + 1 %}
{% endif %}
{% elseif (room.type == 3) %}
{{ loop.index }}. Dreibettzimmer Erwachsener, {{ travelerCollection[travelerIndex].sex == 1 ? 'männlich' : 'weiblich' }}, {{ travelerCollection[travelerIndex].firstName }}, {{ travelerCollection[travelerIndex].lastName -}}, {{ travelerCollection[travelerIndex].birthDate }}, {{ travelerCollection[travelerIndex].nationalityName }}
{{ loop.index }}. Dreibettzimmer Erwachsener, {{ travelerCollection[travelerIndex+1].sex == 1 ? 'männlich' : 'weiblich' }}, {{ travelerCollection[travelerIndex+1].firstName }}, {{ travelerCollection[travelerIndex+1].lastName -}}, {{ travelerCollection[travelerIndex+1].birthDate }}, {{ travelerCollection[travelerIndex].nationalityName }}
{{ loop.index }}. Dreibettzimmer Erwachsener, {{ travelerCollection[travelerIndex+2].sex == 1 ? 'männlich' : 'weiblich' }}, {{ travelerCollection[travelerIndex+2].firstName }}, {{ travelerCollection[travelerIndex+2].lastName -}}, {{ travelerCollection[travelerIndex+2].birthDate }}, {{ travelerCollection[travelerIndex].nationalityName }}
{{ loop.index }}. Dreibettzimmer Erwachsener, {{ travelerCollection[travelerIndex].sex == 1 ? 'männlich' : 'weiblich' }}, {{ travelerCollection[travelerIndex].firstName }}, {{ travelerCollection[travelerIndex].lastName -}}, {{ travelerCollection[travelerIndex].birthDate }}, {{ travelerCollection[travelerIndex].nationalityName(nationalities) }}
{{ loop.index }}. Dreibettzimmer Erwachsener, {{ travelerCollection[travelerIndex+1].sex == 1 ? 'männlich' : 'weiblich' }}, {{ travelerCollection[travelerIndex+1].firstName }}, {{ travelerCollection[travelerIndex+1].lastName -}}, {{ travelerCollection[travelerIndex+1].birthDate }}, {{ travelerCollection[travelerIndex].nationalityName(nationalities) }}
{{ loop.index }}. Dreibettzimmer Erwachsener, {{ travelerCollection[travelerIndex+2].sex == 1 ? 'männlich' : 'weiblich' }}, {{ travelerCollection[travelerIndex+2].firstName }}, {{ travelerCollection[travelerIndex+2].lastName -}}, {{ travelerCollection[travelerIndex+2].birthDate }}, {{ travelerCollection[travelerIndex].nationalityName(nationalities) }}
{% set travelerIndex = travelerIndex + 3 %}
{% if(room.child == 1) %}
{{ loop.index }}. Dreibettzimmer Kind, {{ travelerCollection[travelerIndex].sex == 1 ? 'männlich' : 'weiblich' }}, {{ travelerCollection[travelerIndex].firstName }}, {{ travelerCollection[travelerIndex].lastName -}}, {{ travelerCollection[travelerIndex].birthDate }}, {{ travelerCollection[travelerIndex].nationalityName }}
{{ loop.index }}. Dreibettzimmer Kind, {{ travelerCollection[travelerIndex].sex == 1 ? 'männlich' : 'weiblich' }}, {{ travelerCollection[travelerIndex].firstName }}, {{ travelerCollection[travelerIndex].lastName -}}, {{ travelerCollection[travelerIndex].birthDate }}, {{ travelerCollection[travelerIndex].nationalityName(nationalities) }}
{% set travelerIndex = travelerIndex + 1 %}
{% endif %}
{% endif %}

View file

@ -266,8 +266,6 @@
</p>
</td>
</tr>
</tbody>
</table>
</div>
@ -702,10 +700,14 @@
</div> <!-- st trav -->
<h2>Hinweis</h2>
<p>Sofern Sie nicht oder nicht ausschließlich nur die Staatsbürgerschaft für [Deutschland, Österreich, Schweiz, Italien, Spanien, Frankreich] besitzen, können Sie die Reise nicht buchen,
<p>Sofern Sie nicht oder nicht ausschließlich nur die Staatsbürgerschaft für
{% for nationalitie in nationalities %}
{{ nationalitie.name }}{% if not loop.last %},{% endif %}
{% endfor %} besitzen, können Sie die Reise nicht buchen,
da wir Sie vorher u.a. über die Einreisebestimmungen für Ihre individuelle Staatsbürgerschaft informieren müssen.
Bitte nehmen Sie vor einer Buchung Kontakt mit uns auf, damit Sie nach Erhalt der Informationen entscheiden können, ob Sie die Reise buchen möchten.</p>
</div> <!-- col -->
</div>
</div><!-- end form-box -->

View file

@ -230,7 +230,7 @@
<td style="text-align: left;">{{ travelerCollection[travelerIndex].firstName }}</td>
<td style="text-align: left;">{{ travelerCollection[travelerIndex].lastName -}}</td>
<td style="text-align: left;">{{ travelerCollection[travelerIndex].birthDate }}</td>
<td style="text-align: left;">{{ travelerCollection[travelerIndex].nationalityName }}</td>
<td style="text-align: left;">{{ travelerCollection[travelerIndex].nationalityName(nationalities) }}</td>
</tr>
{% set travelerIndex = travelerIndex + 1 %}
{% if(room.child == 1) %}
@ -243,7 +243,7 @@
<td style="text-align: left;">{{ travelerCollection[travelerIndex].firstName }}</td>
<td style="text-align: left;">{{ travelerCollection[travelerIndex].lastName -}}</td>
<td style="text-align: left;">{{ travelerCollection[travelerIndex].birthDate }}</td>
<td style="text-align: left;">{{ travelerCollection[travelerIndex].nationalityName }}</td
<td style="text-align: left;">{{ travelerCollection[travelerIndex].nationalityName(nationalities) }}</td
</tr>
{% set travelerIndex = travelerIndex + 1 %}
{% endif %}
@ -257,7 +257,7 @@
<td style="text-align: left;">{{ travelerCollection[travelerIndex].firstName }}</td>
<td style="text-align: left;">{{ travelerCollection[travelerIndex].lastName -}}</td>
<td style="text-align: left;">{{ travelerCollection[travelerIndex].birthDate }}</td>
<td style="text-align: left;">{{ travelerCollection[travelerIndex].nationalityName }}</td>
<td style="text-align: left;">{{ travelerCollection[travelerIndex].nationalityName(nationalities) }}</td>
</tr>
{% set travelerIndex = travelerIndex + 1 %}
<tr>
@ -269,7 +269,7 @@
<td style="text-align: left;">{{ travelerCollection[travelerIndex].firstName }}</td>
<td style="text-align: left;">{{ travelerCollection[travelerIndex].lastName -}}</td>
<td style="text-align: left;">{{ travelerCollection[travelerIndex].birthDate }}</td>
<td style="text-align: left;">{{ travelerCollection[travelerIndex].nationalityName }}</td>
<td style="text-align: left;">{{ travelerCollection[travelerIndex].nationalityName(nationalities) }}</td>
</tr>
{% set travelerIndex = travelerIndex + 1 %}
@ -283,7 +283,7 @@
<td style="text-align: left;">{{ travelerCollection[travelerIndex].firstName }}</td>
<td style="text-align: left;">{{ travelerCollection[travelerIndex].lastName -}}</td>
<td style="text-align: left;">{{ travelerCollection[travelerIndex].birthDate }}</td>
<td style="text-align: left;">{{ travelerCollection[travelerIndex].nationalityName }}</td>
<td style="text-align: left;">{{ travelerCollection[travelerIndex].nationalityName(nationalities) }}</td>
</tr>
{% set travelerIndex = travelerIndex + 1 %}
{% endif %}
@ -297,7 +297,7 @@
<td style="text-align: left;">{{ travelerCollection[travelerIndex].firstName }}</td>
<td style="text-align: left;">{{ travelerCollection[travelerIndex].lastName -}}</td>
<td style="text-align: left;">{{ travelerCollection[travelerIndex].birthDate }}</td>
<td style="text-align: left;">{{ travelerCollection[travelerIndex].nationalityName }}</td>
<td style="text-align: left;">{{ travelerCollection[travelerIndex].nationalityName(nationalities) }}</td>
</tr>
{% set travelerIndex = travelerIndex + 1 %}
@ -311,7 +311,7 @@
<td style="text-align: left;">{{ travelerCollection[travelerIndex].firstName }}</td>
<td style="text-align: left;">{{ travelerCollection[travelerIndex].lastName -}}</td>
<td style="text-align: left;">{{ travelerCollection[travelerIndex].birthDate }}</td>
<td style="text-align: left;">{{ travelerCollection[travelerIndex].nationalityName }}</td>
<td style="text-align: left;">{{ travelerCollection[travelerIndex].nationalityName(nationalities) }}</td>
</tr>
{% set travelerIndex = travelerIndex + 1 %}
@ -325,7 +325,7 @@
<td style="text-align: left;">{{ travelerCollection[travelerIndex].firstName }}</td>
<td style="text-align: left;">{{ travelerCollection[travelerIndex].lastName -}}</td>
<td style="text-align: left;">{{ travelerCollection[travelerIndex].birthDate }}</td>
<td style="text-align: left;">{{ travelerCollection[travelerIndex].nationalityName }}</td>
<td style="text-align: left;">{{ travelerCollection[travelerIndex].nationalityName(nationalities) }}</td>
</tr>
{% set travelerIndex = travelerIndex + 1 %}
{% if(room.child == 1) %}
@ -338,7 +338,7 @@
<td style="text-align: left;">{{ travelerCollection[travelerIndex].firstName }}</td>
<td style="text-align: left;">{{ travelerCollection[travelerIndex].lastName -}}</td>
<td style="text-align: left;">{{ travelerCollection[travelerIndex].birthDate }}</td>
<td style="text-align: left;">{{ travelerCollection[travelerIndex].nationalityName }}</td>
<td style="text-align: left;">{{ travelerCollection[travelerIndex].nationalityName(nationalities) }}</td>
</tr>
{% set travelerIndex = travelerIndex + 1 %}
{% endif %}

View file

@ -127,8 +127,7 @@ class BookingController extends Controller
$nationalities = $this->getDoctrine()
->getRepository('AppBundle:TravelNationality')
->createQueryBuilder('n')
->getQuery()->getResult(Query::HYDRATE_ARRAY);;
->getQuery()->getResult(Query::HYDRATE_ARRAY);
/** @var BookingRequest $bookingRequest */
$bookingRequest = new BookingRequest();
@ -184,7 +183,6 @@ class BookingController extends Controller
{
$crmBookingUrl = preg_replace('/\\/api/', '', $crmBookingUrl).'/edit';
}
$this->get('mailer')->send(\Swift_Message::newInstance()
->setSubject('Ihr Buchungsauftrag bei STERN TOURS')
->setFrom('stern@stern-tours.de', 'STERN TOURS')
@ -196,6 +194,7 @@ class BookingController extends Controller
'booking_price_info' => $bookingPriceInfo,
'travel_date' => $travelDate,
'breadcrumb_entries' => $breadcrumbEntries,
'nationalities' => $nationalities,
'summary' => $htmlSummary,
]),
@ -217,6 +216,7 @@ class BookingController extends Controller
'booking_price_info' => $bookingPriceInfo,
'travel_date' => $travelDate,
'breadcrumb_entries' => $breadcrumbEntries,
'nationalities' => $nationalities,
'summary' => $htmlSummary,
]),
@ -225,9 +225,11 @@ class BookingController extends Controller
);
// #TODO This will lead to multiple bookings due to multiple form submission. Redirect instead!
return $this->render('default/pages/bookingConfirmation.html.twig', [
'base_dir' => realpath($this->getParameter('kernel.root_dir').'/..').DIRECTORY_SEPARATOR,
'site_loading' => 'bookingconfirm',
'page' => $travelProgramPage,
'booking_request' => $bookingRequest,
'breadcrumb_entries' => $breadcrumbEntries,
@ -243,6 +245,7 @@ class BookingController extends Controller
'travel_program' => $travelProgram,
'summary' => $htmlSummary,
'total_price' => $totalPrice,
'nationalities' => $nationalities,
'booking_price_info' => $bookingPriceInfo,
]);
@ -250,6 +253,7 @@ class BookingController extends Controller
return $this->render('default/pages/booking.html.twig', [
'base_dir' => realpath($this->getParameter('kernel.root_dir').'/..').DIRECTORY_SEPARATOR,
'site_loading' => 'booking',
'page' => $travelProgramPage,
'breadcrumb_entries' => $breadcrumbEntries,
'show_nav_sidebar_about' => "notshow",
@ -266,6 +270,7 @@ class BookingController extends Controller
'price_type_by_id' => $this->priceTypeById,
'summary' => $htmlSummary,
'total_price' => $totalPrice,
'nationalities' => $nationalities,
'booking_price_info' => $bookingPriceInfo,
'mediator_terms_filename' => $travelProgram->getIsMediated()
? $this->getDoctrine()->getRepository('AppBundle:TravelOrganizer')->find(1)->getFileName()

View file

@ -97,6 +97,7 @@ class CmsController extends Controller
return $this->render('default/pages/cms/'. $page->getTemplate() .'.html.twig', [
'base_dir' => realpath($this->getParameter('kernel.root_dir').'/..').DIRECTORY_SEPARATOR,
'site_loading' => 'default',
'page' => $page,
'tour_id' => $tour_id,
'tour_tap' => $tour_tap,
@ -110,6 +111,7 @@ class CmsController extends Controller
$box_childs = $repo->findParentsWithShowNav(437);
return $this->render('default/pages/cms/'. $page->getTemplate() .'.html.twig', [
'base_dir' => realpath($this->getParameter('kernel.root_dir').'/..').DIRECTORY_SEPARATOR,
'site_loading' => 'default',
'page' => $page,
'box_childs' => $box_childs,
'tour_id' => 0,
@ -156,6 +158,7 @@ class CmsController extends Controller
return $this->render('default/pages/cms/'. $page->getTemplate() .'.html.twig', [
'base_dir' => realpath($this->getParameter('kernel.root_dir').'/..').DIRECTORY_SEPARATOR,
'site_loading' => 'default',
'page' => $page,
'child_pages' => $childPages,
'mediated_child_pages' => $mediated,
@ -177,6 +180,7 @@ class CmsController extends Controller
return $this->render('default/pages/cms/overview.html.twig', array_merge($settings, [
'base_dir' => realpath($this->getParameter('kernel.root_dir').'/..').DIRECTORY_SEPARATOR,
'site_loading' => 'overview',
'page' => $page,
'lodgingGroups' => $lodgingGroups,
]));
@ -214,6 +218,7 @@ class CmsController extends Controller
return $this->render('default/pages/cms/travelProgramOverview.html.twig', [
'base_dir' => realpath($this->getParameter('kernel.root_dir').'/..').DIRECTORY_SEPARATOR,
'site_loading' => 'program',
'page' => $page,
'child_pages' => $childPages,
'mediated_child_pages' => $mediated,
@ -231,6 +236,7 @@ class CmsController extends Controller
return $this->render('default/pages/cms/traveltainment.html.twig', [
'base_dir' => realpath($this->getParameter('kernel.root_dir').'/..').DIRECTORY_SEPARATOR,
'site_loading' => 'default',
'page' => $page,
'show_search_sidebar_widget' => false,
'tt_search_form' => $form->createView(),
@ -244,6 +250,7 @@ class CmsController extends Controller
// replace this example code with whatever you need
return $this->render('default/pages/cms/travelProgram.html.twig', [
'base_dir' => realpath($this->getParameter('kernel.root_dir').'/..').DIRECTORY_SEPARATOR,
'site_loading' => 'program',
'page' => $page,
'show_offers_sidebar_widget' => false,
'travel_program' => $page->getTravelProgram(),
@ -285,6 +292,7 @@ class CmsController extends Controller
return $this->render('default/pages/cms/fewoTravelProgram.html.twig', [
'base_dir' => realpath($this->getParameter('kernel.root_dir').'/..').DIRECTORY_SEPARATOR,
'site_loading' => 'program',
'page' => $page,
'fewo_lodging' => $lodging,
'slider_imgs' => array_merge ($imgs_pre, $imgs, $imgs_post),
@ -357,6 +365,7 @@ class CmsController extends Controller
{
return $this->render('default/pages/cms/overview.html.twig', [
'page' => $page,
'site_loading' => 'default',
'show_search_sidebar_widget' => false,
'show_offers_sidebar_widget' => false,
]);
@ -370,6 +379,7 @@ class CmsController extends Controller
return $this->render('default/pages/cms/sunstar.html.twig', [
'page' => $page,
'site_loading' => 'default',
'show_search_sidebar_widget' => false,
'show_offers_sidebar_widget' => false,
'sunstar_travel_programs' => $sunstarTravelPrograms,

View file

@ -41,12 +41,14 @@ class ComponentController extends Controller
]);
}
public function navSidebarWidgetAction(Page $page)
public function navSidebarWidgetAction(Page $page, $title = 'Reiseprogramme')
{
$pageRepo = $this->getEntityManager()->getRepository('AppBundle:Page');
$view = [
'base_dir' => realpath($this->getParameter('kernel.root_dir').'/..').DIRECTORY_SEPARATOR,
'page' => $page,
'slider_title' => $title,
];
if ($page->getHasChildren())
@ -87,10 +89,10 @@ class ComponentController extends Controller
$view['nav_open_node'] = null;
}
}
return $this->render('default/components/sidebar/navSidebarWidget.html.twig', $view);
return $this->render('default/components/sidebar/navSidebarWidgetInner.html.twig', $view);
}
public function searchSidebarWidgetAction(Page $page)
public function searchSidebarWidgetAction(Page $page, $title = 'Suche')
{
$combinedDestination = null;
if ($page->getTravelProgram())
@ -106,7 +108,8 @@ class ComponentController extends Controller
{
$destination = $page->getCountry();
}
return $this->render('default/components/sidebar/searchSidebarWidget.html.twig', [
return $this->render('default/components/sidebar/searchSidebarWidgetInner.html.twig', [
'slider_title' => $title,
'search_form' => $this->createForm(SearchRequestType::class, [
'c' => $destination,
'c2' => $combinedDestination,
@ -114,7 +117,7 @@ class ComponentController extends Controller
]);
}
public function travelGuideSidebarWidgetAction(TravelCountry $country)
public function travelGuideSidebarWidgetAction(TravelCountry $country, $title = 'Reiseführer')
{
$repo = $this->getEntityManager()->getRepository('AppBundle:Page');
$rootPage = $repo->find(13);
@ -125,13 +128,13 @@ class ComponentController extends Controller
->execute()
;
return $this->render('default/components/sidebar/pageSliderSidebarWidget.html.twig', [
'slider_title' => 'Reiseführer',
'slider_title' => $title,
'target_widget' => 'travel-leader-widget',
'pages' => $pages
]);
}
public function travelMagazineSidebarWidgetAction(TravelCountry $country)
public function travelMagazineSidebarWidgetAction(TravelCountry $country, $title = 'Reisemagazin')
{
$repo = $this->getEntityManager()->getRepository('AppBundle:Page');
$rootPage = $repo->find(2803);
@ -142,16 +145,16 @@ class ComponentController extends Controller
->execute()
;
return $this->render('default/components/sidebar/pageSliderSidebarWidget.html.twig', [
'slider_title' => 'Reisemagazin',
'slider_title' => $title,
'target_widget' => 'travel-magazine-widget',
'pages' => $pages
]);
}
public function offersSidebarWidgetAction(TravelCountry $country = null)
public function offersSidebarWidgetAction(TravelCountry $country = null, $title = 'Angebote')
{
return $this->render('default/components/sidebar/pageSliderSidebarWidget.html.twig', [
'slider_title' => 'Angebote',
'slider_title' => $title,
'target_widget' => 'offer-widget',
'pages' => $this->getOffersByCountry($country),
]);
@ -173,14 +176,60 @@ class ComponentController extends Controller
;
}
public function feedbacksSidebarWidgetAction(TravelCountry $country)
public function feedbacksSidebarWidgetAction(TravelCountry $country, $title = 'Kundenfeedback')
{
return $this->render(':default/components/sidebar:textSliderSidebarWidget.html.twig', [
'slider_title' => 'Kundenfeedback',
'slider_title' => $title,
'target_widget' => 'feedback-widget',
'slides' => $this->getDoctrine()->getRepository('AppBundle:Page')->findFeedbacks(
$country->getFeedbackPage()->getId()),
'theme' => 'gray-box',
]);
}
public function makeSidebarWidgetAction($site_loading = 'default', Page $page = null){
$show_seal_of_approval = false;
switch ($site_loading){
case 'home' :
$site = 'home';
break;
case 'search' :
$site = 'search';
break;
case 'default' :
$site = 'default';
break;
case 'overview' :
$site = 'overview';
break;
case 'program' :
$site = 'program';
break;
case 'booking' :
$site = 'booking';
$show_seal_of_approval = true;
break;
case 'bookingconfirm' :
$site = 'bookingconfirm';
$show_seal_of_approval = true;
break;
default :
$site = 'default';
break;
}
$sidebarRepo = $this->getEntityManager()->getRepository('AppBundle:SidebarWidget');
$widgets = $sidebarRepo->findWidgetsBy($site);
return $this->render(':default/components/sidebar:sidebar.html.twig', [
'page' => $page,
'site_loading' => $site_loading,
'widgets' => $widgets,
'show_seal_of_approval' => $show_seal_of_approval,
'loop_half' => ceil(count($widgets) / 2),
]);
}
}

View file

@ -37,6 +37,7 @@ class DefaultController extends Controller
{
return $this->render('default/pages/home.html.twig', [
'base_dir' => realpath($this->getParameter('kernel.root_dir').'/..').DIRECTORY_SEPARATOR,
'site_loading' => 'home',
'canonical_url' => Util::getBaseUrl(),
'show_search_sidebar_widget' => false,
'show_offers_sidebar_widget' => false,
@ -85,6 +86,7 @@ class DefaultController extends Controller
return $this->render('default/pages/search.html.twig', [
'base_dir' => realpath($this->getParameter('kernel.root_dir').'/..').DIRECTORY_SEPARATOR,
'site_loading' => 'search',
'breadcrumb_entries' => [new BreadcrumbEntry('Suchen')],
'search_form' => $form->createView(),
'travel_programs' => $r,
@ -310,6 +312,7 @@ class DefaultController extends Controller
return $this->render('default/pages/ttSearch.html.twig', [
'base_dir' => realpath($this->getParameter('kernel.root_dir').'/..').DIRECTORY_SEPARATOR,
'site_loading' => 'search',
'breadcrumb_entries' => [new BreadcrumbEntry('Suchen')],
'tt_search_form' => $form->createView(),
'tt_url' => $ttUrl ?? null,
@ -324,8 +327,6 @@ class DefaultController extends Controller
$form = $this->createForm(ContactRequestType::class);
$breadcrumbEntries = [new BreadcrumbEntry('Kontaktformular')];
$re_error = "";
if ($request->getMethod() == 'POST')
{
@ -389,6 +390,7 @@ class DefaultController extends Controller
return $this->render('default/pages/contact.html.twig', [
'base_dir' => realpath($this->getParameter('kernel.root_dir').'/..').DIRECTORY_SEPARATOR,
'site_loading' => 'default',
'breadcrumb_entries' => $breadcrumbEntries,
'contact_form' => $form->createView(),
're_error' => $re_error,
@ -421,6 +423,7 @@ class DefaultController extends Controller
}
return $this->render('default/pages/sitemap.html.twig', [
'breadcrumb_entries' => [new BreadcrumbEntry('Sitemap')],
'site_loading' => 'default',
'page_nodes' => $pageNodes
]);
}

View file

@ -314,6 +314,7 @@ class FewoBookingController extends Controller
return $this->render('default/pages/fewoBookingConfirmation.html.twig', [
'base_dir' => realpath($this->getParameter('kernel.root_dir').'/..').DIRECTORY_SEPARATOR,
'site_loading' => 'bookingconfirm',
'page' => $fewoTravelProgramPage,
'fewo_booking_request' => $fewoBookingRequest,
'fewo_lodging' => $lodging,
@ -329,6 +330,7 @@ class FewoBookingController extends Controller
// GET
return $this->render('default/pages/fewoBooking.html.twig', [
'form' => $form->createView(),
'site_loading' => 'booking',
'fewo_booking_request' => $fewoBookingRequest,
'lodging' => $lodging,
'fromDate' => $fromDate,

View file

@ -0,0 +1,237 @@
<?php
namespace AppBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
/**
* SidebarWidget
*
* @ORM\Table(name="sidebar_widgets")
* @ORM\Entity(repositoryClass="AppBundle\Entity\SidebarWidgetRepository")
*/
class SidebarWidget
{
/**
* @var integer
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="IDENTITY")
*/
private $id;
/**
* @var string
*
* @ORM\Column(name="name", type="string", length=255, nullable=true)
*/
private $name;
/**
* @var string
*
* @ORM\Column(name="component", type="string", length=255, nullable=true)
*/
private $component;
/**
* @var string
*
* @ORM\Column(name="html", type="text", length=65535, nullable=true)
*/
private $html;
/**
* @var string
*
* @ORM\Column(name="show_at", type="text", length=65535, nullable=true)
*/
private $showAt;
/**
* @var int
*
* @ORM\Column(name="pos", type="integer", nullable=true)
*/
private $pos;
/**
* @var boolean
*
* @ORM\Column(name="active", type="boolean", nullable=false)
*/
private $active;
/**
* Get id
*
* @return int
*/
public function getId()
{
return $this->id;
}
/**
* Set name
*
* @param string $name
*
* @return SidebarWidget
*/
public function setName($name)
{
$this->name = $name;
return $this;
}
/**
* Get name
*
* @return string
*/
public function getName()
{
return $this->name;
}
/**
* Set component
*
* @param string $component
*
* @return SidebarWidget
*/
public function setComponent($component)
{
$this->component = $component;
return $this;
}
/**
* Get component
*
* @return string
*/
public function getComponent()
{
return $this->component;
}
/**
* Set html
*
* @param string $html
*
* @return SidebarWidget
*/
public function setHtml($html)
{
$this->html = $html;
return $this;
}
/**
* Get html
*
* @return string
*/
public function getHtml()
{
return $this->html;
}
/**
* Set showAt
*
* @param string $showAt
*
* @return SidebarWidget
*/
public function setShowAt($showAt)
{
$this->showAt = $showAt;
return $this;
}
/**
* Get showAt
*
* @return string
*/
public function getShowAt()
{
return $this->showAt == null ? null : json_decode($this->showAt);
//return $this->showAt;
}
/**
* @param int $weekday Weekday as returned by date format 'w'
*
* @return bool
*/
public function getIsShowAt($site)
{
if ($this->showAt == null)
{
return false;
}
return in_array($site, json_decode($this->showAt));
}
/**
* Set pos
*
* @param integer $pos
*
* @return SidebarWidget
*/
public function setPos($pos)
{
$this->pos = $pos;
return $this;
}
/**
* Get pos
*
* @return int
*/
public function getPos()
{
return $this->pos;
}
/**
* Set active
*
* @param boolean $active
*
* @return SidebarWidget
*/
public function setActive($active)
{
$this->active = $active;
return $this;
}
/**
* Get active
*
* @return bool
*/
public function getActive()
{
return $this->active;
}
}

View file

@ -0,0 +1,30 @@
<?php
namespace AppBundle\Entity;
/**
* SidebarWidgetRepository
*
* This class was generated by the Doctrine ORM. Add your own custom
* repository methods below.
*/
class SidebarWidgetRepository extends \Doctrine\ORM\EntityRepository
{
public function findWidgetsBy($site)
{
$qb = $this->createQueryBuilder('sidebar_widget');
$qb->where('sidebar_widget.active = 1')
->addOrderBy('sidebar_widget.pos', 'ASC');
$results = $qb->getQuery()->getResult();
$ret = [];
foreach ($results as $result)
{
if($result->getIsShowAt($site)){
$ret[] = $result;
}
}
return $ret;
}
}

View file

@ -2,6 +2,8 @@
namespace AppBundle\Entity;
use Doctrine\ORM\Query;
/**
* TravelNationalityRepository
*/
@ -13,4 +15,9 @@ class TravelNationalityRepository extends \Doctrine\ORM\EntityRepository
{
return $this->createQueryBuilder('n')->select('n')->getQuery()->execute();
}
public function getAllEntriesAsArray()
{
return $this->createQueryBuilder('n')->select('n')->getQuery()->getResult(Query::HYDRATE_ARRAY);
}
}

View file

@ -8,7 +8,7 @@ use Doctrine\ORM\Mapping as ORM;
* TravelProgram
*
* @ORM\Table(name="travel_program", indexes={@ORM\Index(name="FK_travel_program_travel_organizer", columns={"organizer"}), @ORM\Index(name="FK_travel_program_travel_insurance", columns={"insurance_1"}), @ORM\Index(name="FK_travel_program_travel_insurance_2", columns={"insurance_2"}),
@ORM\Index(name="FK_travel_program_travel_insurance_3", columns={"insurance_3"}), @ORM\Index(name="FK_travel_program_travel_category", columns={"category_id"}), @ORM\Index(name="travel_program_ibfk_4", columns={"generalnote"}), @ORM\Index(name="FK_travel_program_travel_arrival_point", columns={"travel_arrival_point_id"})})
@ORM\Index(name="FK_travel_program_travel_insurance_3", columns={"insurance_3"}), @ORM\Index(name="FK_travel_program_travel_insurance_4", columns={"insurance_4"}), @ORM\Index(name="FK_travel_program_travel_category", columns={"category_id"}), @ORM\Index(name="travel_program_ibfk_4", columns={"generalnote"}), @ORM\Index(name="FK_travel_program_travel_arrival_point", columns={"travel_arrival_point_id"})})
* @ORM\Entity(repositoryClass="AppBundle\Entity\TravelProgramRepository")
*/
class TravelProgram
@ -313,6 +313,16 @@ class TravelProgram
*/
private $insurance3;
/**
* @var \AppBundle\Entity\TravelInsurance
*
* @ORM\ManyToOne(targetEntity="AppBundle\Entity\TravelInsurance")
* @ORM\JoinColumns({
* @ORM\JoinColumn(name="insurance_4", referencedColumnName="id")
* })
*/
private $insurance4;
/**
* @var \AppBundle\Entity\TravelCategory
*
@ -1409,6 +1419,30 @@ class TravelProgram
return $this->insurance3;
}
/**
* Set insurance3
*
* @param \AppBundle\Entity\TravelInsurance $insurance2
*
* @return TravelProgram
*/
public function setInsurance4(\AppBundle\Entity\TravelInsurance $insurance4 = null)
{
$this->insurance4 = $insurance4;
return $this;
}
/**
* Get insurance4
*
* @return \AppBundle\Entity\TravelInsurance
*/
public function getInsurance4()
{
return $this->insurance4;
}
/**
* Set category
*

View file

@ -15,14 +15,7 @@ class Traveler
const FEMALE = 2;
private $NATIONALITY = [
1 => 'deutsch',
2 => 'österreichisch',
3 => 'schweizerisch',
4 => 'italienisch',
5 => 'spanisch',
6 => 'französisch',
];
private $NATIONALITIES = [];
/**
* @Assert\NotNull
@ -63,10 +56,12 @@ class Traveler
/**
* Constructor
*/
public function __construct()
function __construct()
{
$this->nationalities = new \Doctrine\Common\Collections\ArrayCollection();
}
/**
* @return int
*/
@ -157,11 +152,21 @@ class Traveler
/**
* @return int
*/
public function getNationalityName()
public function getNationalityName($nat)
{
if(isset($this->NATIONALITY[$this->nationality])){
return $this->NATIONALITY[$this->nationality];
if(!count($this->NATIONALITIES)){
foreach ($nat as $na){
$this->NATIONALITIES[$na['id']] = $na['name'];
}
}
if(isset($this->NATIONALITIES[$this->nationality])){
return $this->NATIONALITIES[$this->nationality];
}
/*
if(isset($this->NATIONALITIES[$this->nationality])){
return $this->NATIONALITIES[$this->nationality];
}*/
return $this->nationality;
}

View file

@ -269,6 +269,10 @@ class BookingRequestType extends AbstractType
if ($travelProgram->getInsurance3())
{
$insuranceChoices[$travelProgram->getInsurance3()->getName()] = $travelProgram->getInsurance3();
}
if ($travelProgram->getInsurance4())
{
$insuranceChoices[$travelProgram->getInsurance4()->getName()] = $travelProgram->getInsurance4();
}
if (!empty($insuranceChoices))
{

View file

@ -37,7 +37,7 @@ class KernelControllerListener
$session = $request->getSession();
$request->attributes->set('_open_side_about', 'open');
if($session->get('time')){
$request->attributes->set('_open_side_about', '');
$request->attributes->set('_open_side_about', 'closed');
}
$session->set('time', time());

View file

@ -884,6 +884,7 @@ a[id^="video_"]:before,
display: block;
float: left;
width: 100%;
margin-bottom: 4px;
}
.item-switch > a.item-button-prev,
.item-switch > a.item-button-next {
@ -954,7 +955,7 @@ a[id^="video_"]:before,
text-align: center;
font-weight: normal;
font-family: 'FontAwesome';
line-height: 34px;
line-height: 30px;
font-size: 26px;
}
.item-switch > a.item-button-next:hover:after {
@ -974,7 +975,7 @@ a[id^="video_"]:before,
text-align: center;
font-weight: normal;
font-family: 'FontAwesome';
line-height: 34px;
line-height: 30px;
font-size: 26px;
}
.single-travel-image {
@ -1311,7 +1312,7 @@ a[id^="video_"]:before,
.owl-carousel .owl-nav .owl-next {
width: 60px;
height: 60px;
line-height: 53px;
line-height: 20px;
border: 1px solid #ffffff !important;
font-size: 34px;
border-radius: 100%;
@ -1330,7 +1331,7 @@ a[id^="video_"]:before,
.owl-carousel .owl-nav .owl-prev {
width: 60px;
height: 60px;
line-height: 53px;
line-height: 20px;
border: 1px solid #ffffff !important;
font-size: 34px;
border-radius: 100%;

View file

@ -3,11 +3,11 @@
var collapse_on_responsive = function() {
if (jQuery(document).width() < 992) {
jQuery('.widget').find('.collapse-widget:not(.open)').addClass('collapsed');
jQuery('.widget').find('.collapse:not(.open)').removeClass('in');
jQuery('.widget').find('.collapse-widget:not(.closed)').addClass('collapsed');
jQuery('.widget').find('.collapse:not(.closed)').removeClass('in');
}else{
jQuery('.widget').find('.collapse-widget:not(.open)').removeClass('collapsed');
jQuery('.widget').find('.collapse:not(.open)').addClass('in');
jQuery('.widget').find('.collapse-widget:not(.closed)').removeClass('collapsed');
jQuery('.widget').find('.collapse:not(.closed)').addClass('in');
}
};

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long