DB-Skript:
CREATE TABLE fewo_lodging (id INT AUTO_INCREMENT NOT NULL, type_id INT DEFAULT NULL, name VARCHAR(255) NOT NULL, description LONGTEXT NOT NULL, equipment LONGTEXT NOT NULL, adress1 VARCHAR(255) NOT NULL, adress2 VARCHAR(255) DEFAULT NULL, zip_code VARCHAR(255) NOT NULL, city VARCHAR(255) NOT NULL, maximum_persons INT NOT NULL, deposit DOUBLE PRECISION NOT NULL, only_weekday INT NOT NULL, calendar_visible TINYINT(1) NOT NULL, INDEX IDX_9629C357C54C8C93 (type_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB;
CREATE TABLE fewo_lodging_image (id INT AUTO_INCREMENT NOT NULL, lodging_id INT DEFAULT NULL, full_file_name VARCHAR(255) NOT NULL, file_name VARCHAR(255) NOT NULL, description VARCHAR(255) DEFAULT NULL, INDEX IDX_D49F667187335AF1 (lodging_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB;
CREATE TABLE fewo_lodging_type (id INT AUTO_INCREMENT NOT NULL, name VARCHAR(255) DEFAULT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB;
CREATE TABLE fewo_price (id INT AUTO_INCREMENT NOT NULL, lodging_id INT DEFAULT NULL, season_id INT DEFAULT NULL, per_night DOUBLE PRECISION NOT NULL, flat_price DOUBLE PRECISION NOT NULL, INDEX IDX_3DE13C987335AF1 (lodging_id), INDEX IDX_3DE13C94EC001D1 (season_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB;
CREATE TABLE fewo_reservation (id INT AUTO_INCREMENT NOT NULL, lodging_id INT DEFAULT NULL, from_date DATE NOT NULL, to_date DATE NOT NULL, status INT NOT NULL, type INT NOT NULL, INDEX IDX_36537F7487335AF1 (lodging_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB;
CREATE TABLE fewo_season (id INT AUTO_INCREMENT NOT NULL, name VARCHAR(255) NOT NULL, from_date DATE NOT NULL, to_date DATE NOT NULL, minimum_stay INT NOT NULL, description LONGTEXT DEFAULT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB;
ALTER TABLE fewo_lodging ADD CONSTRAINT FK_9629C357C54C8C93 FOREIGN KEY (type_id) REFERENCES fewo_lodging_type (id);
ALTER TABLE fewo_lodging_image ADD CONSTRAINT FK_D49F667187335AF1 FOREIGN KEY (lodging_id) REFERENCES fewo_lodging (id) ON DELETE SET NULL;
ALTER TABLE fewo_price ADD CONSTRAINT FK_3DE13C987335AF1 FOREIGN KEY (lodging_id) REFERENCES fewo_lodging (id);
ALTER TABLE fewo_price ADD CONSTRAINT FK_3DE13C94EC001D1 FOREIGN KEY (season_id) REFERENCES fewo_season (id) ON DELETE SET NULL;
ALTER TABLE fewo_reservation ADD CONSTRAINT FK_36537F7487335AF1 FOREIGN KEY (lodging_id) REFERENCES fewo_lodging (id) ON DELETE SET NULL;
ALTER TABLE page ADD fewo_lodging INT DEFAULT NULL;
ALTER TABLE page ADD CONSTRAINT FK_140AB6209629C357 FOREIGN KEY (fewo_lodging) REFERENCES fewo_lodging (id) ON DELETE SET NULL;
CREATE UNIQUE INDEX UNIQ_140AB6209629C357 ON page (fewo_lodging);
INSERT INTO `fewo_lodging_type` (`name`) VALUES ('Apartment');
INSERT INTO `fewo_lodging_type` (`name`) VALUES ('Bauernhof');
INSERT INTO `fewo_lodging_type` (`name`) VALUES ('Bungalow');
INSERT INTO `fewo_lodging_type` (`name`) VALUES ('Campingplatz');
INSERT INTO `fewo_lodging_type` (`name`) VALUES ('Chalet');
INSERT INTO `fewo_lodging_type` (`name`) VALUES ('Ferienanlage');
INSERT INTO `fewo_lodging_type` (`name`) VALUES ('Ferienhaus');
INSERT INTO `fewo_lodging_type` (`name`) VALUES ('Ferienwohnung');
INSERT INTO `fewo_lodging_type` (`name`) VALUES ('Finca');
INSERT INTO `fewo_lodging_type` (`name`) VALUES ('Hotel');
INSERT INTO `fewo_lodging_type` (`name`) VALUES ('Hütte');
INSERT INTO `fewo_lodging_type` (`name`) VALUES ('Pension');
INSERT INTO `fewo_lodging_type` (`name`) VALUES ('Schloss');
INSERT INTO `fewo_lodging_type` (`name`) VALUES ('Villa');
git-svn-id: http://78.47.251.156/svn/dev/sterntours-3@3348 f459cee4-fb09-11de-96c3-f9c5f16c3c76
This commit is contained in:
parent
2ebd38d3d7
commit
ab026b752f
57 changed files with 6507 additions and 25 deletions
128
trunk/app/Resources/views/admin.html.twig
Normal file
128
trunk/app/Resources/views/admin.html.twig
Normal file
|
|
@ -0,0 +1,128 @@
|
|||
<!DOCTYPE html>
|
||||
{% if app.debug -%}
|
||||
<!-- {% if page is defined %}page-Eintrag mit ID {{ page.id }}{% else %}Für diese Seite existiert kein page-Eintrag, sondern ein Twig-Seitetemplate in app/Resources/views/default/pages{% endif %} -->
|
||||
{%- endif %}
|
||||
|
||||
<!--[if lt IE 7 ]><html class="ie ie6" lang="de"> <![endif]-->
|
||||
<!--[if IE 7 ]><html class="ie ie7" lang="de"> <![endif]-->
|
||||
<!--[if IE 8 ]><html class="ie ie8" lang="de"> <![endif]-->
|
||||
<!--[if (gte IE 9)|!(IE)]><!--><html lang="de"><!--<![endif]-->
|
||||
<head>
|
||||
|
||||
<title>
|
||||
{% block page_title %}
|
||||
FeWo-Adminbereich
|
||||
{% endblock page_title %}
|
||||
</title>
|
||||
|
||||
<!-- Favicons -->
|
||||
<link rel="shortcut icon" href="/bundles/app/images/favicon.ico" type="image/x-icon" />
|
||||
<link rel="apple-touch-icon" href="/bundles/app/images/apple-icon.png" />
|
||||
<link rel="apple-touch-icon" sizes="72x72" href="/bundles/app/images/apple-icon-72x72.png" />
|
||||
<link rel="apple-touch-icon" sizes="114x114" href="/bundles/app/images/apple-icon-114x114.png" />
|
||||
|
||||
{% block stylesheets %}
|
||||
{% stylesheets
|
||||
'bundles/app/css/bootstrap-3.3.7.css'
|
||||
filter='cssrewrite'
|
||||
%}
|
||||
<link rel="stylesheet" href="{{ asset_url }}"/>
|
||||
{% endstylesheets %}
|
||||
{% stylesheets
|
||||
'bundles/app/css/custom.css'
|
||||
filter='cssrewrite'
|
||||
%}
|
||||
<link rel="stylesheet" href="{{ asset_url }}"/>
|
||||
{% endstylesheets %}
|
||||
<style>.box-slider .slide:not(.active) {display: none;}</style>{# TODO Move to custom.css #}
|
||||
{% endblock stylesheets %}
|
||||
|
||||
<!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
|
||||
<!--[if lt IE 9]>
|
||||
<script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
|
||||
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
|
||||
<![endif]-->
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<div id="wrapper">
|
||||
<header class="header fixedheader setbg">
|
||||
<div class="menu-container">
|
||||
<div class="container">
|
||||
<div class="menu-wrapper">
|
||||
<nav id="navigation" class="navbar" role="navigation" itemscope itemtype="https://schema.org/SiteNavigationElement">
|
||||
<div class="navbar-inner">
|
||||
<div id="navbar-collapse" class="navbar-left navbar-collapse collapse clearfix">
|
||||
<ul class="nav navbar-nav">
|
||||
|
||||
<li itemprop="name">
|
||||
<a href="/admin/fewo/lodgings" title="Wohnungen/Objekte" itemprop="">Objekte</a>
|
||||
</li>
|
||||
<li itemprop="name">
|
||||
<a href="/admin/fewo/seasons" title="Saisons" itemprop="">Saisons</a>
|
||||
</li>
|
||||
<li itemprop="name">
|
||||
<a href="/logout" title="Logout" itemprop="">Logout</a>
|
||||
</li>
|
||||
</ul><!-- end navbar-right -->
|
||||
</div><!-- end navbar-callopse -->
|
||||
</div>
|
||||
</nav><!-- end navigation -->
|
||||
</div><!-- menu wrapper -->
|
||||
</div><!-- end container -->
|
||||
</div><!-- end menu-container -->
|
||||
</header>
|
||||
|
||||
|
||||
<section class="section clearfix" style="padding-top: 100px;">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div id="fullwidth" class="col-sm-12">
|
||||
|
||||
<!-- START CONTENT -->
|
||||
<div class="row">
|
||||
|
||||
<div id="content" class="col-md-9 col-sm-8 col-xs-12">
|
||||
{% block body %}
|
||||
<section class="clearfix">
|
||||
<div class="content-copy">
|
||||
<h1>Sterntours - Adminbereich</h1>
|
||||
</div>
|
||||
</section><!-- end section -->
|
||||
{% endblock %}
|
||||
</div><!-- end col -->
|
||||
|
||||
</div><!-- end row -->
|
||||
<!-- END CONTENT -->
|
||||
|
||||
</div><!-- end fullwidth -->
|
||||
</div><!-- end row -->
|
||||
</div><!-- end container -->
|
||||
</section><!-- end section -->
|
||||
|
||||
{#{% include 'default/components/footer.html.twig' %}#}
|
||||
|
||||
</div><!-- end wrapper -->
|
||||
|
||||
<!-- default modal -->
|
||||
{#{% embed 'default/components/embed/modal.html.twig' with {id: 'default'} %}{% endembed %}#}
|
||||
|
||||
{#TODO ausmisten und im gleichen zuge das CSS für den Datepicker einfügen#}
|
||||
{% block javascripts %}
|
||||
<script src="https://maps.google.com/maps/api/js?sensor=false"></script>
|
||||
{% javascripts
|
||||
'@AppBundle/Resources/public/js/jquery-3.1.1.js'
|
||||
'@AppBundle/Resources/public/js/jquery-ui-1.12.1.js'
|
||||
'@AppBundle/Resources/public/js/bootstrap-3.3.7.js'
|
||||
'@AppBundle/Resources/public/js/jquery.prettyPhoto-3.1.6.js'
|
||||
'@AppBundle/Resources/public/js/parallax.js'
|
||||
'@AppBundle/Resources/public/js/owl.carousel-2.2.0.js'
|
||||
'@AppBundle/Resources/public/js/bootstrap-select-1.12.0.js'
|
||||
'@AppBundle/Resources/public/js/custom.js'
|
||||
%}
|
||||
<script src="{{ asset_url }}"></script>
|
||||
{% endjavascripts %}
|
||||
{% endblock javascripts %}
|
||||
|
||||
</body>
|
||||
</html>
|
||||
38
trunk/app/Resources/views/default/admin/imagesNew.html.twig
Normal file
38
trunk/app/Resources/views/default/admin/imagesNew.html.twig
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
{% extends 'admin.html.twig' %}
|
||||
{% form_theme form 'default/form/theme.html.twig' %}
|
||||
|
||||
{% block body %}
|
||||
<section class="clearfix">
|
||||
<div class="content-copy">
|
||||
<h1>Neues Bild für "{{ lodging.name }}" anlegen</h1>
|
||||
|
||||
<form class="st-booking-form" method="post" enctype="multipart/form-data">
|
||||
|
||||
{{ form_errors(form) }}
|
||||
|
||||
<div id="message"></div>
|
||||
|
||||
<div class="form-box">
|
||||
{{ form_row(form.file, {label: 'Bild'}) }}
|
||||
{{ form_row(form.fileName, {label: 'Name'}) }}
|
||||
{{ form_row(form.description, {label: 'Beschreibung'}) }}
|
||||
|
||||
<div class="col-md-12 col-sm-12 col-xs-12">
|
||||
<button type="submit" value="SEND" id="submit"
|
||||
class="btn btn-primary btn-lg border-radius"
|
||||
>
|
||||
Speichern
|
||||
</button>
|
||||
</div>
|
||||
</div><!-- end form-box -->
|
||||
{{ form_rest(form) }}
|
||||
</form>
|
||||
<a href="{{ '/admin/fewo/lodgings/' ~ lodging.id }}"
|
||||
class="btn btn-primary"
|
||||
rel="nofollow"
|
||||
>
|
||||
Zurück
|
||||
</a>
|
||||
</div>
|
||||
</section><!-- end section -->
|
||||
{% endblock body %}
|
||||
63
trunk/app/Resources/views/default/admin/lodgings.html.twig
Normal file
63
trunk/app/Resources/views/default/admin/lodgings.html.twig
Normal file
|
|
@ -0,0 +1,63 @@
|
|||
{% extends 'admin.html.twig' %}
|
||||
|
||||
|
||||
{% block body %}
|
||||
<section class="clearfix">
|
||||
<div class="content-copy">
|
||||
<h1>Objekte</h1>
|
||||
|
||||
<div class="table-responsive" id="no-more-tables">
|
||||
<table class="table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>ID</th>
|
||||
<th>Name</th>
|
||||
<th>Typ</th>
|
||||
<th>Objekt</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
|
||||
{% if lodgings is not empty %}
|
||||
{% for lodging in lodgings %}
|
||||
<tr>
|
||||
<td>{{ lodging.id }}</td>
|
||||
<td>{{ lodging.name }}</td>
|
||||
<td>{{ lodging.type }}</td>
|
||||
<td>
|
||||
<a href="{{ '/admin/fewo/lodgings/' ~ lodging.id }}"
|
||||
class="btn btn-primary"
|
||||
rel="nofollow"
|
||||
>
|
||||
Bearbeiten
|
||||
</a>
|
||||
<a href="{{ '/admin/fewo/lodgings/' ~ lodging.id ~ '/delete' }}"
|
||||
class="btn btn-primary"
|
||||
rel="nofollow"
|
||||
>
|
||||
Löschen
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
{% else %}
|
||||
<h2>Keine Objekte verfügbar</h2>
|
||||
{% endif %}
|
||||
|
||||
<tr>
|
||||
<td>
|
||||
<a href="/admin/fewo/lodgings/new"
|
||||
class="btn btn-primary"
|
||||
rel="nofollow"
|
||||
>
|
||||
Hinzufügen
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</section><!-- end section -->
|
||||
{% endblock body %}
|
||||
231
trunk/app/Resources/views/default/admin/lodgingsEdit.html.twig
Normal file
231
trunk/app/Resources/views/default/admin/lodgingsEdit.html.twig
Normal file
|
|
@ -0,0 +1,231 @@
|
|||
{% extends 'admin.html.twig' %}
|
||||
{% form_theme form 'default/form/theme.html.twig' %}
|
||||
|
||||
{% block body %}
|
||||
<section class="clearfix">
|
||||
<div class="content-copy">
|
||||
<h1>{{ lodging.name }} bearbeiten</h1>
|
||||
|
||||
<form class="st-booking-form" method="post">
|
||||
|
||||
{{ form_errors(form) }}
|
||||
|
||||
<div id="message"></div>
|
||||
|
||||
<div class="form-box">
|
||||
|
||||
{{ form_row(form.name, {'label': 'Name'}) }}
|
||||
{{ form_row(form.type, {'label': 'Typ'}) }}
|
||||
{{ form_row(form.description, {'label': 'Beschreibung'}) }}
|
||||
{{ form_row(form.equipment, {'label': 'Ausstattung'}) }}
|
||||
{{ form_row(form.adress1, {'label': 'Adresse 1'}) }}
|
||||
{{ form_row(form.adress2, {'label': 'Adresse 2'}) }}
|
||||
{{ form_row(form.zipCode, {'label': 'PLZ'}) }}
|
||||
{{ form_row(form.city, {'label': 'Ort'}) }}
|
||||
{{ form_row(form.maximumPersons, {'label': 'Maximale Personenanzahl'}) }}
|
||||
{{ form_row(form.deposit, {'label': 'Kaution'}) }}
|
||||
{{ form_row(form.onlyWeekday, {'label': 'Exklusiver Wochentag'}) }}
|
||||
|
||||
<div class="checkbox">
|
||||
{{ form_widget(form.calendarVisible) }}
|
||||
<label for="{{ form.calendarVisible.vars.id }}">
|
||||
Kalender sichtbar
|
||||
</label>
|
||||
{{ form_errors(form.calendarVisible) }}
|
||||
</div>
|
||||
|
||||
<br><br>
|
||||
|
||||
<h3>Bilder</h3>
|
||||
{% if lodging.images is not empty %}
|
||||
<table class="table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Bild</th>
|
||||
<th>Name</th>
|
||||
<th>Beschreibung</th>
|
||||
<th></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for image in lodging.images %}
|
||||
<tr>
|
||||
<td><img src="{{ asset('uploads/images/' ~ image.file) }}" alt="{{ image.description }}" style="width:228px;height:128px;" ></td>
|
||||
<td>{{ image.fileName }}</td>
|
||||
<td>{{ image.description }}</td>
|
||||
<td>
|
||||
<a href="{{ '/admin/fewo/lodgings/' ~ lodging.id ~ '/images/' ~ image.id ~ '/delete' }}"
|
||||
class="btn btn-primary"
|
||||
rel="nofollow"
|
||||
>
|
||||
Löschen
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
{% else %}
|
||||
<h4>Keine Bilder vorhanden</h4>
|
||||
{% endif %}
|
||||
|
||||
<a href="{{ '/admin/fewo/lodgings/' ~ lodging.id ~ '/images/new' }}"
|
||||
class="btn btn-primary"
|
||||
rel="nofollow"
|
||||
>
|
||||
Hinzufügen
|
||||
</a>
|
||||
|
||||
<br><br>
|
||||
|
||||
<h3>Saisons (Preise)</h3>
|
||||
|
||||
{% if lodging.prices is not empty %}
|
||||
<table class="table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Name</th>
|
||||
<th>Von</th>
|
||||
<th>Bis</th>
|
||||
<th>Mindestbelegung</th>
|
||||
<th>Preis pro Nacht</th>
|
||||
<th>Pauschalpreis</th>
|
||||
<th></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for lodgingPrice in lodging.prices %}
|
||||
<tr>
|
||||
<td>{{ lodgingPrice.season.name }}</td>
|
||||
<td>{{ lodgingPrice.season.fromDate|date('d-m-y') }}</td>
|
||||
<td>{{ lodgingPrice.season.toDate|date('d-m-y') }}</td>
|
||||
<td>{{ lodgingPrice.season.minimumStay }}</td>
|
||||
<td>{{ lodgingPrice.perNight }}</td>
|
||||
<td>{{ lodgingPrice.flatPrice }}</td>
|
||||
<td>
|
||||
<a href="{{ '/admin/fewo/lodgings/' ~ lodging.id ~ '/prices/' ~ lodgingPrice.id }}"
|
||||
class="btn btn-primary"
|
||||
rel="nofollow"
|
||||
>
|
||||
Bearbeiten
|
||||
</a>
|
||||
<a href="{{ '/admin/fewo/lodgings/' ~ lodging.id ~ '/prices/' ~ lodgingPrice.id ~ '/delete' }}"
|
||||
class="btn btn-primary"
|
||||
rel="nofollow"
|
||||
>
|
||||
Löschen
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
{% else %}
|
||||
<h4>Keine Saisons vorhanden</h4>
|
||||
{% endif %}
|
||||
|
||||
<a href="/admin/fewo/lodgings/{{ lodging.id }}/prices/new"
|
||||
class="btn btn-primary"
|
||||
rel="nofollow"
|
||||
>
|
||||
Hinzufügen
|
||||
</a>
|
||||
|
||||
<br><br>
|
||||
|
||||
<h3>Reservierungen</h3>
|
||||
|
||||
{% if lodging.reservations is not empty %}
|
||||
<table class="table">
|
||||
<thead>
|
||||
|
||||
<tr>
|
||||
<th>Von</th>
|
||||
<th>Bis</th>
|
||||
<th>Status</th>
|
||||
<th>Typ</th>
|
||||
<th></th>
|
||||
</tr>
|
||||
|
||||
</thead>
|
||||
<tbody>
|
||||
|
||||
{% for lodgingReservation in lodging.reservations %}
|
||||
<tr>
|
||||
<td>{{ lodgingReservation.fromDate|date('d-m-y') }}</td>
|
||||
<td>{{ lodgingReservation.toDate|date('d-m-y') }}</td>
|
||||
<td>
|
||||
{% if lodgingReservation.status == 0 %}
|
||||
belegt
|
||||
{% elseif lodgingReservation.status == 1 %}
|
||||
nicht verfügbar
|
||||
{% endif %}
|
||||
</td>
|
||||
<td>
|
||||
{% if lodgingReservation.type == 0 %}
|
||||
Buchung
|
||||
{% elseif lodgingReservation.type == 1 %}
|
||||
händisch
|
||||
{% endif %}
|
||||
</td>
|
||||
<td>
|
||||
<a href="{{ '/admin/fewo/lodgings/' ~ lodging.id ~ '/reservations/' ~ lodgingReservation.id }}"
|
||||
class="btn btn-primary"
|
||||
rel="nofollow"
|
||||
>
|
||||
Bearbeiten
|
||||
</a>
|
||||
<a href="{{ '/admin/fewo/lodgings/' ~ lodging.id ~ '/reservations/' ~ lodgingReservation.id ~ '/delete' }}"
|
||||
class="btn btn-primary"
|
||||
rel="nofollow"
|
||||
>
|
||||
Löschen
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
{% else %}
|
||||
<h4>Keine Reservierungen vorhanden</h4>
|
||||
{% endif %}
|
||||
|
||||
{% if lodging.prices is not empty %}
|
||||
<a href="/admin/fewo/lodgings/{{ lodging.id }}/reservations/new"
|
||||
class="btn btn-primary"
|
||||
rel="nofollow"
|
||||
>
|
||||
Hinzufügen
|
||||
</a>
|
||||
{% else %}
|
||||
<h4>Mindestens eine Saison pflegen.</h4>
|
||||
{% endif %}
|
||||
|
||||
<br><br>
|
||||
|
||||
<h1>Verfügbarkeit</h1>
|
||||
|
||||
{% include 'default/admin/lodgingsEditCalendar.html.twig' %}
|
||||
|
||||
<br>
|
||||
|
||||
<div class="col-md-12 col-sm-12 col-xs-12">
|
||||
<button type="submit" value="SEND" id="submit"
|
||||
class="btn btn-primary btn-lg border-radius"
|
||||
>
|
||||
Speichern
|
||||
</button>
|
||||
</div>
|
||||
</div><!-- end form-box -->
|
||||
{{ form_rest(form) }}
|
||||
</form>
|
||||
<a href="/admin/fewo/lodgings"
|
||||
class="btn btn-primary"
|
||||
rel="nofollow"
|
||||
>
|
||||
Zurück
|
||||
</a>
|
||||
</div>
|
||||
</section><!-- end section -->
|
||||
{% endblock body %}
|
||||
|
|
@ -0,0 +1,100 @@
|
|||
<table class="table">
|
||||
{% for month in calendar %}
|
||||
|
||||
<thead>
|
||||
<tr>
|
||||
<th colspan="7">
|
||||
{{ month['monthName'] }} {{ month['year'] }}
|
||||
</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>Mo</th>
|
||||
<th>Di</th>
|
||||
<th>Mi</th>
|
||||
<th>Do</th>
|
||||
<th>Fr</th>
|
||||
<th>Sa</th>
|
||||
<th>So</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for weekIndex in 0..5 %}
|
||||
<tr>
|
||||
{% for dayIndex in 0..6 %}
|
||||
{% set day = month['data'][(weekIndex * 7) + dayIndex]|split(',') %}
|
||||
{% if day|length > 1 %}
|
||||
{% if day[1] == 'reservable' %}
|
||||
<td style="background-color: green!important;">
|
||||
<a href="/admin/fewo/lodgings/{{ lodging.id }}/reservations/new/{{ day[0] < 10 ? '0':'' }}{{day[0]}}{{ month['monthNumber'] < 10 ? '0':'' }}{{month['monthNumber']}}{{month['year']}}"
|
||||
style="color: #5a5a5a;"
|
||||
{#class="btn btn-primary"#}
|
||||
rel="nofollow"
|
||||
>
|
||||
{{ day[0] }}
|
||||
</a>
|
||||
</td>
|
||||
{% else %}
|
||||
{% if day|length > 3%}
|
||||
<td style="background-color: red!important;">
|
||||
<a href="{{ '/admin/fewo/lodgings/' ~ lodging.id ~ '/reservations/' ~ day[1] }}"
|
||||
style="color: #5a5a5a;"
|
||||
{#class="btn btn-primary"#}
|
||||
rel="nofollow"
|
||||
>
|
||||
{{ day[0] }}
|
||||
</a>
|
||||
</td>
|
||||
{% elseif day|length > 2 and day[2] == 'from' %}
|
||||
<td style="
|
||||
background: -webkit-gradient(linear, left top, right bottom, color-stop(1%, #f2f2f2), color-stop(52%, #f2f2f2), color-stop(52%, red), color-stop(52%, red), color-stop(100%, red));
|
||||
background: -moz-gradient(linear, left top, right bottom, color-stop(1%, #f2f2f2), color-stop(52%, #f2f2f2), color-stop(52%, red), color-stop(52%, red), color-stop(100%, red));
|
||||
background: -o-gradient(linear, left top, right bottom, color-stop(1%, #f2f2f2), color-stop(52%, #f2f2f2), color-stop(52%, red), color-stop(52%, red), color-stop(100%, red));
|
||||
background: gradient(linear, left top, right bottom, color-stop(1%, #f2f2f2), color-stop(52%, #f2f2f2), color-stop(52%, red), color-stop(52%, red), color-stop(100%, red));
|
||||
">
|
||||
<a href="{{ '/admin/fewo/lodgings/' ~ lodging.id ~ '/reservations/' ~ day[1] }}"
|
||||
style="color: #5a5a5a;"
|
||||
rel="nofollow"
|
||||
>
|
||||
{{ day[0] }}
|
||||
</a>
|
||||
</td>
|
||||
{% elseif day|length > 2 and day[2] == 'to' %}
|
||||
<td style="
|
||||
background: -webkit-gradient(linear, left top, right bottom, color-stop(1%, red), color-stop(52%, red), color-stop(52%, green), color-stop(52%, green), color-stop(100%, green));
|
||||
background: -moz-gradient(linear, left top, right bottom, color-stop(1%, red), color-stop(52%, red), color-stop(52%, green), color-stop(52%, green), color-stop(100%, green));
|
||||
background: -o-gradient(linear, left top, right bottom, color-stop(1%, red), color-stop(52%, red), color-stop(52%, green), color-stop(52%, green), color-stop(100%, green));
|
||||
background: gradient(linear, left top, right bottom, color-stop(1%, red), color-stop(52%, red), color-stop(52%, green), color-stop(52%, green), color-stop(100%, green));
|
||||
">
|
||||
<a href="/admin/fewo/lodgings/{{ lodging.id }}/reservations/new/{{ day[0] < 10 ? '0':'' }}{{day[0]}}{{ month['monthNumber'] < 10 ? '0':'' }}{{month['monthNumber']}}{{month['year']}}"
|
||||
style="color: #5a5a5a;"
|
||||
rel="nofollow"
|
||||
>
|
||||
{{ day[0] }}
|
||||
</a>
|
||||
</td>
|
||||
{% else %}
|
||||
<td style="background-color: red!important;">
|
||||
<a href="{{ '/admin/fewo/lodgings/' ~ lodging.id ~ '/reservations/' ~ day[1] }}"
|
||||
style="color: #5a5a5a;"
|
||||
rel="nofollow"
|
||||
>
|
||||
{{ day[0] }}
|
||||
</a>
|
||||
</td>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% else %}
|
||||
<td>
|
||||
{% if day[0] == 0 %}
|
||||
-
|
||||
{% else %}
|
||||
{{ day[0] }}
|
||||
{% endif %}
|
||||
</td>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
{% endfor %}
|
||||
</table>
|
||||
|
|
@ -0,0 +1,56 @@
|
|||
{% extends 'admin.html.twig' %}
|
||||
{% form_theme form 'default/form/theme.html.twig' %}
|
||||
|
||||
{% block body %}
|
||||
<section class="clearfix">
|
||||
<div class="content-copy">
|
||||
<h1>Neues Objekt anlegen</h1>
|
||||
|
||||
<form class="st-booking-form" method="post">
|
||||
|
||||
{{ form_errors(form) }}
|
||||
|
||||
<div id="message"></div>
|
||||
|
||||
<div class="form-box">
|
||||
|
||||
{{ form_row(form.name, {label: 'Name'}) }}
|
||||
{{ form_row(form.type, {label: 'Typ'}) }}
|
||||
{{ form_row(form.description, {label: 'Beschreibung'}) }}
|
||||
{{ form_row(form.equipment, {label: 'Ausstattung'}) }}
|
||||
{{ form_row(form.adress1, {label: 'Adresse 1'}) }}
|
||||
{{ form_row(form.adress2, {label: 'Adresse 2'}) }}
|
||||
{{ form_row(form.zipCode, {label: 'PLZ'}) }}
|
||||
{{ form_row(form.city, {label: 'Ort'}) }}
|
||||
{{ form_row(form.maximumPersons, {label: 'Maximale Personenanzahl'}) }}
|
||||
{{ form_row(form.deposit, {label: 'Kaution'}) }}
|
||||
{{ form_row(form.onlyWeekday, {label: 'Exklusiver Wochentag'}) }}
|
||||
|
||||
|
||||
<div class="checkbox">
|
||||
{{ form_widget(form.calendarVisible) }}
|
||||
<label for="{{ form.calendarVisible.vars.id }}">
|
||||
Kalender sichtbar
|
||||
</label>
|
||||
{{ form_errors(form.calendarVisible) }}
|
||||
</div>
|
||||
|
||||
<div class="col-md-12 col-sm-12 col-xs-12">
|
||||
<button type="submit" value="SEND" id="submit"
|
||||
class="btn btn-primary btn-lg border-radius"
|
||||
>
|
||||
Speichern
|
||||
</button>
|
||||
</div>
|
||||
</div><!-- end form-box -->
|
||||
{{ form_rest(form) }}
|
||||
</form>
|
||||
<a href="/admin/fewo/lodgings"
|
||||
class="btn btn-primary"
|
||||
rel="nofollow"
|
||||
>
|
||||
Zurück
|
||||
</a>
|
||||
</div>
|
||||
</section><!-- end section -->
|
||||
{% endblock body %}
|
||||
37
trunk/app/Resources/views/default/admin/loginAdmin.html.twig
Normal file
37
trunk/app/Resources/views/default/admin/loginAdmin.html.twig
Normal file
|
|
@ -0,0 +1,37 @@
|
|||
{% extends 'admin.html.twig' %}
|
||||
|
||||
{% block body %}
|
||||
<section class="clearfix">
|
||||
<div class="content-copy">
|
||||
<h1>Login Adminbereich</h1>
|
||||
|
||||
{% if error %}
|
||||
<div id="message">{{ error.messageKey|trans(error.messageData, 'security') }}</div>
|
||||
{% endif %}
|
||||
|
||||
<form action="{{ path('login') }}" class="st-booking-form" method="post">
|
||||
|
||||
{#{{ form_errors(form) }}#}
|
||||
|
||||
<div class="form-box">
|
||||
<label for="username">Benutzername:</label>
|
||||
<input type="text" id="username" name="_username" value="{{ last_username }}" />
|
||||
|
||||
<label for="password">Passwort:</label>
|
||||
<input type="password" id="password" name="_password" />
|
||||
|
||||
{#TODO hier evtl hidden input#}
|
||||
|
||||
<br><br>
|
||||
<div class="col-md-12 col-sm-12 col-xs-12">
|
||||
<button type="submit" id="submit"
|
||||
class="btn btn-primary btn-lg border-radius"
|
||||
>
|
||||
Login
|
||||
</button>
|
||||
</div>
|
||||
</div><!-- end form-box -->
|
||||
</form>
|
||||
</div>
|
||||
</section><!-- end section -->
|
||||
{% endblock body %}
|
||||
37
trunk/app/Resources/views/default/admin/pricesEdit.html.twig
Normal file
37
trunk/app/Resources/views/default/admin/pricesEdit.html.twig
Normal file
|
|
@ -0,0 +1,37 @@
|
|||
{% extends 'admin.html.twig' %}
|
||||
{% form_theme form 'default/form/theme.html.twig' %}
|
||||
|
||||
{% block body %}
|
||||
<section class="clearfix">
|
||||
<div class="content-copy">
|
||||
<h1>Saison von {{ lodging.name }} bearbeiten</h1>
|
||||
|
||||
<form class="st-booking-form" method="post">
|
||||
|
||||
{{ form_errors(form) }}
|
||||
|
||||
<div id="message"></div>
|
||||
|
||||
<div class="form-box">
|
||||
{{ form_row(form.season, {label: 'Saison'}) }}
|
||||
{{ form_row(form.perNight, {label: 'Preis pro Nacht'}) }}
|
||||
{{ form_row(form.flatPrice, {label: 'Pauschalpreis'}) }}
|
||||
<div class="col-md-12 col-sm-12 col-xs-12">
|
||||
<button type="submit" value="SEND" id="submit"
|
||||
class="btn btn-primary btn-lg border-radius"
|
||||
>
|
||||
Speichern
|
||||
</button>
|
||||
</div>
|
||||
</div><!-- end form-box -->
|
||||
{{ form_rest(form) }}
|
||||
</form>
|
||||
<a href="/admin/fewo/lodgings/{{ lodging.id }}"
|
||||
class="btn btn-primary"
|
||||
rel="nofollow"
|
||||
>
|
||||
Zurück
|
||||
</a>
|
||||
</div>
|
||||
</section><!-- end section -->
|
||||
{% endblock body %}
|
||||
37
trunk/app/Resources/views/default/admin/pricesNew.html.twig
Normal file
37
trunk/app/Resources/views/default/admin/pricesNew.html.twig
Normal file
|
|
@ -0,0 +1,37 @@
|
|||
{% extends 'admin.html.twig' %}
|
||||
{% form_theme form 'default/form/theme.html.twig' %}
|
||||
|
||||
{% block body %}
|
||||
<section class="clearfix">
|
||||
<div class="content-copy">
|
||||
<h1>Saison zu {{ lodging.name }} hinzufügen</h1>
|
||||
|
||||
<form class="st-booking-form" method="post">
|
||||
|
||||
{{ form_errors(form) }}
|
||||
|
||||
<div id="message"></div>
|
||||
|
||||
<div class="form-box">
|
||||
{{ form_row(form.season, {label: 'Saison'}) }}
|
||||
{{ form_row(form.perNight, {label: 'Preis pro Nacht'}) }}
|
||||
{{ form_row(form.flatPrice, {label: 'Pauschalpreis'}) }}
|
||||
<div class="col-md-12 col-sm-12 col-xs-12">
|
||||
<button type="submit" value="SEND" id="submit"
|
||||
class="btn btn-primary btn-lg border-radius"
|
||||
>
|
||||
Speichern
|
||||
</button>
|
||||
</div>
|
||||
</div><!-- end form-box -->
|
||||
{{ form_rest(form) }}
|
||||
</form>
|
||||
<a href="/admin/fewo/lodgings/{{ lodging.id }}"
|
||||
class="btn btn-primary"
|
||||
rel="nofollow"
|
||||
>
|
||||
Zurück
|
||||
</a>
|
||||
</div>
|
||||
</section><!-- end section -->
|
||||
{% endblock body %}
|
||||
|
|
@ -0,0 +1,73 @@
|
|||
{% extends 'admin.html.twig' %}
|
||||
{% form_theme form 'default/form/theme.html.twig' %}
|
||||
|
||||
{% block body %}
|
||||
<section class="clearfix">
|
||||
<div class="content-copy">
|
||||
<h1>Reservierung bearbeiten für {{ lodging.name }}</h1>
|
||||
|
||||
<h3>Mögliche Saisons</h3>
|
||||
|
||||
<table class="table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Name</th>
|
||||
<th>Von</th>
|
||||
<th>Bis</th>
|
||||
<th>Preis pro Nacht</th>
|
||||
<th>Pauschalpreis</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for lodgingPrice in lodging.prices %}
|
||||
<tr>
|
||||
<td>{{ lodgingPrice.season.name }}</td>
|
||||
<td>{{ lodgingPrice.season.fromDate|date('d-m-y') }}</td>
|
||||
<td>{{ lodgingPrice.season.toDate|date('d-m-y') }}</td>
|
||||
<td>{{ lodgingPrice.perNight }}</td>
|
||||
<td>{{ lodgingPrice.flatPrice }}</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<h3>Reservierung</h3>
|
||||
|
||||
<form class="st-booking-form" method="post">
|
||||
|
||||
{{ form_errors(form) }}
|
||||
|
||||
<div id="message"></div>
|
||||
|
||||
<div class="form-box">
|
||||
{{ form_row(form.lodging, {label: 'Objekt'}) }}
|
||||
{{ form_row(form.fromDate , {label: 'Von'}) }}
|
||||
{{ form_row(form.toDate, {label: 'Bis'}) }}
|
||||
{{ form_row(form.status, {label: 'Status'}) }}
|
||||
{{ form_row(form.type, {label: 'Typ'}) }}
|
||||
|
||||
<div class="col-md-12 col-sm-12 col-xs-12">
|
||||
<button type="submit" value="SEND" id="submit"
|
||||
class="btn btn-primary btn-lg border-radius"
|
||||
>
|
||||
Speichern
|
||||
</button>
|
||||
</div>
|
||||
</div><!-- end form-box -->
|
||||
{{ form_rest(form) }}
|
||||
</form>
|
||||
<a href="/admin/fewo/lodgings/{{ lodging.id }}"
|
||||
class="btn btn-primary"
|
||||
rel="nofollow"
|
||||
>
|
||||
Zurück
|
||||
</a>
|
||||
<a href="/admin/fewo/lodgings/{{ lodging.id }}/reservations/{{ reservationId }}/delete"
|
||||
class="btn btn-primary"
|
||||
rel="nofollow"
|
||||
>
|
||||
Löschen
|
||||
</a>
|
||||
</div>
|
||||
</section><!-- end section -->
|
||||
{% endblock body %}
|
||||
|
|
@ -0,0 +1,67 @@
|
|||
{% extends 'admin.html.twig' %}
|
||||
{% form_theme form 'default/form/theme.html.twig' %}
|
||||
|
||||
{% block body %}
|
||||
<section class="clearfix">
|
||||
<div class="content-copy">
|
||||
<h1>Neue Reservierung anlegen für {{ lodging.name }}</h1>
|
||||
|
||||
<h3>Mögliche Saisons</h3>
|
||||
|
||||
<table class="table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Name</th>
|
||||
<th>Von</th>
|
||||
<th>Bis</th>
|
||||
<th>Preis pro Nacht</th>
|
||||
<th>Pauschalpreis</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for lodgingPrice in lodging.prices %}
|
||||
<tr>
|
||||
<td>{{ lodgingPrice.season.name }}</td>
|
||||
<td>{{ lodgingPrice.season.fromDate|date('d-m-y') }}</td>
|
||||
<td>{{ lodgingPrice.season.toDate|date('d-m-y') }}</td>
|
||||
<td>{{ lodgingPrice.perNight }}</td>
|
||||
<td>{{ lodgingPrice.flatPrice }}</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<h3>Reservierung</h3>
|
||||
|
||||
<form class="st-booking-form" method="post">
|
||||
|
||||
{{ form_errors(form) }}
|
||||
|
||||
<div id="message"></div>
|
||||
|
||||
<div class="form-box">
|
||||
{{ form_row(form.lodging, {label: 'Objekt'}) }}
|
||||
{{ form_row(form.fromDate , {label: 'Von'}) }}
|
||||
{{ form_row(form.toDate, {label: 'Bis'}) }}
|
||||
{{ form_row(form.status, {label: 'Status'}) }}
|
||||
{{ form_row(form.type, {label: 'Typ'}) }}
|
||||
|
||||
<div class="col-md-12 col-sm-12 col-xs-12">
|
||||
<button type="submit" value="SEND" id="submit"
|
||||
class="btn btn-primary btn-lg border-radius"
|
||||
>
|
||||
Speichern
|
||||
</button>
|
||||
</div>
|
||||
</div><!-- end form-box -->
|
||||
{{ form_rest(form) }}
|
||||
</form>
|
||||
<a href="/admin/fewo/lodgings/{{ lodging.id }}"
|
||||
class="btn btn-primary"
|
||||
rel="nofollow"
|
||||
>
|
||||
Zurück
|
||||
</a>
|
||||
</div>
|
||||
</section><!-- end section -->
|
||||
{% endblock body %}
|
||||
64
trunk/app/Resources/views/default/admin/seasons.html.twig
Normal file
64
trunk/app/Resources/views/default/admin/seasons.html.twig
Normal file
|
|
@ -0,0 +1,64 @@
|
|||
{% extends 'admin.html.twig' %}
|
||||
|
||||
|
||||
{% block body %}
|
||||
<section class="clearfix">
|
||||
<div class="content-copy">
|
||||
<h1>Saisons</h1>
|
||||
|
||||
<div class="table-responsive" id="no-more-tables">
|
||||
<table class="table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Name</th>
|
||||
<th>Von</th>
|
||||
<th>Bis</th>
|
||||
<th></th>
|
||||
<th></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% if seasons is not empty %}
|
||||
{% for season in seasons %}
|
||||
<tr>
|
||||
<td>{{ season.name }}</td>
|
||||
<td>{{ season.fromDate|date('d-m-y') }}</td>
|
||||
<td>{{ season.toDate|date('d-m-y') }}</td>
|
||||
<td>
|
||||
<a href="{{ '/admin/fewo/seasons/' ~ season.id }}"
|
||||
class="btn btn-primary"
|
||||
rel="nofollow"
|
||||
>
|
||||
Bearbeiten
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="{{ '/admin/fewo/seasons/' ~ season.id ~ '/delete' }}"
|
||||
class="btn btn-primary"
|
||||
rel="nofollow"
|
||||
>
|
||||
Löschen
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
{% else %}
|
||||
<h2>Keine Saisons verfügbar</h2>
|
||||
{% endif %}
|
||||
<tr>
|
||||
<td>
|
||||
<a href="/admin/fewo/seasons/new"
|
||||
class="btn btn-primary"
|
||||
rel="nofollow"
|
||||
>
|
||||
Hinzufügen
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</section><!-- end section -->
|
||||
{% endblock body %}
|
||||
|
|
@ -0,0 +1,42 @@
|
|||
{% extends 'admin.html.twig' %}
|
||||
{% form_theme form 'default/form/theme.html.twig' %}
|
||||
|
||||
{% block body %}
|
||||
<section class="clearfix">
|
||||
<div class="content-copy">
|
||||
<h1>Saison {{ season.name }} bearbeiten</h1>
|
||||
|
||||
<form class="st-booking-form" method="post">
|
||||
|
||||
{{ form_errors(form) }}
|
||||
|
||||
<div id="message"></div>
|
||||
|
||||
<div class="form-box">
|
||||
{{ form_row(form.name, {label: 'Name'}) }}
|
||||
{{ form_row(form.fromDate, {label: 'Von'}) }}
|
||||
{{ form_row(form.toDate, {label: 'Bis'}) }}
|
||||
{{ form_row(form.minimumStay, {label: 'Mindestbelegung in Tagen'}) }}
|
||||
{{ form_row(form.description, {label: 'Beschreibung'}) }}
|
||||
|
||||
|
||||
|
||||
<div class="col-md-12 col-sm-12 col-xs-12">
|
||||
<button type="submit" value="SEND" id="submit"
|
||||
class="btn btn-primary btn-lg border-radius"
|
||||
>
|
||||
Speichern
|
||||
</button>
|
||||
</div>
|
||||
</div><!-- end form-box -->
|
||||
{{ form_rest(form) }}
|
||||
</form>
|
||||
<a href="/admin/fewo/seasons"
|
||||
class="btn btn-primary"
|
||||
rel="nofollow"
|
||||
>
|
||||
Zurück
|
||||
</a>
|
||||
</div>
|
||||
</section><!-- end section -->
|
||||
{% endblock body %}
|
||||
42
trunk/app/Resources/views/default/admin/seasonsNew.html.twig
Normal file
42
trunk/app/Resources/views/default/admin/seasonsNew.html.twig
Normal file
|
|
@ -0,0 +1,42 @@
|
|||
{% extends 'admin.html.twig' %}
|
||||
{% form_theme form 'default/form/theme.html.twig' %}
|
||||
|
||||
{% block body %}
|
||||
<section class="clearfix">
|
||||
<div class="content-copy">
|
||||
<h1>Neue Saison anlegen</h1>
|
||||
|
||||
<form class="st-booking-form" method="post">
|
||||
|
||||
{{ form_errors(form) }}
|
||||
|
||||
<div id="message"></div>
|
||||
|
||||
<div class="form-box">
|
||||
{{ form_row(form.name, {label: 'Name'}) }}
|
||||
{{ form_row(form.fromDate, {label: 'Von'}) }}
|
||||
{{ form_row(form.toDate, {label: 'Bis'}) }}
|
||||
{{ form_row(form.minimumStay, {label: 'Mindestbelegung in Tagen'}) }}
|
||||
{{ form_row(form.description, {label: 'Beschreibung'}) }}
|
||||
|
||||
|
||||
|
||||
<div class="col-md-12 col-sm-12 col-xs-12">
|
||||
<button type="submit" value="SEND" id="submit"
|
||||
class="btn btn-primary btn-lg border-radius"
|
||||
>
|
||||
Speichern
|
||||
</button>
|
||||
</div>
|
||||
</div><!-- end form-box -->
|
||||
{{ form_rest(form) }}
|
||||
</form>
|
||||
<a href="/admin/fewo/seasons"
|
||||
class="btn btn-primary"
|
||||
rel="nofollow"
|
||||
>
|
||||
Zurück
|
||||
</a>
|
||||
</div>
|
||||
</section><!-- end section -->
|
||||
{% endblock body %}
|
||||
|
|
@ -0,0 +1,34 @@
|
|||
<table class="st-booking-table">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="st-position-price-col">
|
||||
+ {{ fewo_lodging.deposit|number_format(2) }} €
|
||||
</td>
|
||||
<td class="st-position-name-col">
|
||||
Kaution
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="st-position-price-col">
|
||||
+ {{ fewo_price.flatPrice|number_format(2) }} €
|
||||
</td>
|
||||
<td class="st-position-name-col">
|
||||
Pauschalpreis
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="st-position-price-col">
|
||||
+ {{ total_price_per_night|number_format(2) }} €
|
||||
</td>
|
||||
<td class="st-position-name-col">
|
||||
({{ fewo_booking_request.numberDays }} x {{ fewo_price.perNight|number_format(2) }} €)
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="st-total-tr">
|
||||
<td class="st-position-price-col">
|
||||
<span class="st-total-price">= {{ total_price|number_format(2) }} €</span>
|
||||
</td>
|
||||
<td class="st-position-name-col">Gesamtpreis der Reise</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
|
@ -4,6 +4,9 @@
|
|||
{% elseif page.travelProgram is not empty and page.travelProgram.previewImage is not empty %}
|
||||
{% set image_url = '/uploads/travel_program/' ~ page.travelProgram.previewImage.fileNameWithExtension %}
|
||||
{% set image_alt = page.title %}
|
||||
{% elseif page.fewoLodging is not empty and page.fewoLodging.images[0] is not empty %}
|
||||
{% set image_url = asset('uploads/images/' ~ page.fewoLodging.images[0].file) %}
|
||||
{% set image_alt = page.title %}
|
||||
{% else %}
|
||||
{% set image_url = '/bundles/app/images/no-picture.png' %}
|
||||
{% set image_alt = 'Kein Vorschaubild vorhanden' %}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,34 @@
|
|||
{# @var fewo_booking_request \AppBundle\Entity\FewoBookingRequest #}
|
||||
{# @var fewo_lodging \AppBundle\Entity\FewoLodging #}
|
||||
{# @var fewo_price \AppBundle\Entity\FewoPrice #}
|
||||
=====================================================================================
|
||||
Reisedaten:
|
||||
=====================================================================================
|
||||
Ferienwohnung: {{ fewo_lodging.name }}
|
||||
Saison: {{ fewo_price.season.name }}
|
||||
Reisezeitraum: {{ fewo_booking_request.fromDate|date }} - {{ fewo_booking_request.toDate|date }}
|
||||
|
||||
Gesamtpreis: {{ fewo_booking_request.totalPrice|number_format(2) }} €
|
||||
|
||||
=====================================================================================
|
||||
Reiseanmelder{% if fewo_booking_request.salutation == 2 %}in{% endif %}
|
||||
|
||||
=====================================================================================
|
||||
Vorname: {{ fewo_booking_request.firstName }}
|
||||
Nachname: {{ fewo_booking_request.lastName }}
|
||||
Adresse: {{ fewo_booking_request.streetAddress }}
|
||||
PLZ: {{ fewo_booking_request.zipCode }}
|
||||
Ort: {{ fewo_booking_request.city }}
|
||||
Telefonnummer: {{ fewo_booking_request.phone }}
|
||||
Fax: {{ fewo_booking_request.fax ?? 'keine Angabe' }}
|
||||
E-Mail: {{ fewo_booking_request.email ?? 'keine Angabe' }}
|
||||
|
||||
=====================================================================================
|
||||
Reiseteilnehmer: {{ fewo_booking_request.travelerCount }}
|
||||
=====================================================================================
|
||||
=====================================================================================
|
||||
Mitteilungen / Sonstiges:
|
||||
=====================================================================================
|
||||
{{ fewo_booking_request.notes ?? '-' }}
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,11 @@
|
|||
{# @var fewo_booking_request \AppBundle\Entity\FewoBookingRequest #}
|
||||
Sehr geehrte{{ fewo_booking_request.salutation == 1 ? 'r Herr' : ' Frau' }} {{ fewo_booking_request.lastName }},
|
||||
|
||||
vielen Dank für Ihren Buchungsauftrag. Dieser wird schnellstmöglich bearbeitet und stellt noch keine{#
|
||||
#} Buchungsbestätigung dar. Bitte prüfen Sie noch einmal Ihre Angaben und kontaktieren Sie uns bitte, wenn ein Fehler{#
|
||||
#} enthalten ist.
|
||||
|
||||
{% include 'default/email/components/fewoBookingSummary.txt.twig' %}
|
||||
|
||||
{% include 'default/email/components/signature.txt.twig' %}
|
||||
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
FOLGENDE REISE WURDE GEBUCHT:
|
||||
|
||||
URL: {{ lodging_url }}
|
||||
|
||||
CRM: {{ crm_url }}
|
||||
|
||||
{% include 'default/email/components/fewoBookingSummary.txt.twig' %}
|
||||
|
|
@ -0,0 +1,84 @@
|
|||
{% for monthIndex in 0..11 %}
|
||||
{% if monthIndex is even %}
|
||||
<table class="table calendarEven">
|
||||
{% else %}
|
||||
<table class="table calendarOdd">
|
||||
{% endif %}
|
||||
<thead>
|
||||
<tr>
|
||||
<th colspan="7">
|
||||
{{ calendar[monthIndex]['monthName'] }} {{ calendar[monthIndex]['year'] }}
|
||||
</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>Mo</th>
|
||||
<th>Di</th>
|
||||
<th>Mi</th>
|
||||
<th>Do</th>
|
||||
<th>Fr</th>
|
||||
<th>Sa</th>
|
||||
<th>So</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for weekIndex in 0..5 %}
|
||||
<tr>
|
||||
{% for dayIndex in 0..6 %}
|
||||
{% set day = calendar[monthIndex]['data'][(weekIndex * 7) + dayIndex]|split(',') %}
|
||||
{% if day|length > 1 %}
|
||||
{% if day[1] == 'reservable' %}
|
||||
<td>
|
||||
<a href="/fewo/{{ page.slug }}/fewo-buchen?pnr={{ day[2] }}&fd={{ day[0] < 10 ? '0':'' }}{{day[0]}}{{ calendar[monthIndex]['monthNumber'] < 10 ? '0':'' }}{{calendar[monthIndex]['monthNumber']}}{{calendar[monthIndex]['year']}}"
|
||||
style="color: #5a5a5a;"
|
||||
rel="nofollow"
|
||||
>
|
||||
{{ day[0] }}
|
||||
</a>
|
||||
</td>
|
||||
{% else %}
|
||||
{% if day|length > 3%}
|
||||
<td style="background-color: darkgray!important;">
|
||||
<del>{{ day[0] }}</del>
|
||||
</td>
|
||||
{% elseif day|length > 2 and day[2] == 'from' %}
|
||||
<td style="
|
||||
background: darkgray!important;
|
||||
">
|
||||
<del>{{ day[0] }}</del>
|
||||
</td>
|
||||
{% elseif day|length > 2 and day[2] == 'to' %}
|
||||
{% set nextDay = calendar[monthIndex]['data'][(weekIndex * 7) + (dayIndex + 1)]|split(',') %}
|
||||
<td class="calendarGradient">
|
||||
<a href="/fewo/{{ page.slug }}/fewo-buchen?pnr={{ nextDay[2] }}&fd={{ day[0] < 10 ? '0':'' }}{{day[0]}}{{ calendar[monthIndex]['monthNumber'] < 10 ? '0':'' }}{{calendar[monthIndex]['monthNumber']}}{{calendar[monthIndex]['year']}}"
|
||||
style="color: white;"
|
||||
rel="nofollow"
|
||||
>
|
||||
<del>{{ day[0] }}</del>
|
||||
</a>
|
||||
</td>
|
||||
{% else %}
|
||||
<td style="background-color: darkgray!important;">
|
||||
<del>{{ day[0] }}</del>
|
||||
</td>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
||||
{% else %}
|
||||
|
||||
{% if day[0] == 0 %}
|
||||
<td>
|
||||
-
|
||||
</td>
|
||||
{% else %}
|
||||
<td style="background-color: darkgray!important">
|
||||
<del>{{ day[0] }}</del>
|
||||
</td>
|
||||
{% endif %}
|
||||
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
{% endfor %}
|
||||
|
|
@ -0,0 +1,221 @@
|
|||
{#{% extends 'admin.html.twig' %}#}
|
||||
{# @var fewo_lodging \AppBundle\Entity\FewoLodging #}
|
||||
{% extends get_base_template() %}
|
||||
|
||||
{% block javascripts %}
|
||||
{{ parent() }}
|
||||
{% javascripts '@AppBundle/Resources/public/js/travelProgram.js' %}
|
||||
<script src="{{ asset_url }}"></script>
|
||||
{% endjavascripts %}
|
||||
{% endblock %}
|
||||
|
||||
{% block body %}
|
||||
|
||||
<section class="clearfix">
|
||||
<div class="content-copy">
|
||||
|
||||
<h1>{{ fewo_lodging.name }}</h1>
|
||||
|
||||
{#
|
||||
********* SLIDER *********
|
||||
#}
|
||||
|
||||
<section class="section fullscreen background padding-0 margin-bottom-20">
|
||||
<div id="myCarousel" class="carousel slide">
|
||||
<!-- Indicators -->
|
||||
<ol class="carousel-indicators">
|
||||
<li data-target="#myCarousel" data-slide-to="0" class="active"></li>
|
||||
<li data-target="#myCarousel" data-slide-to="1"></li>
|
||||
<li data-target="#myCarousel" data-slide-to="2"></li>
|
||||
</ol>
|
||||
<!-- Wrapper for Slides -->
|
||||
<div class="carousel-inner">
|
||||
{% for lodging_image in fewo_lodging.images %}
|
||||
{# @var image \AppBundle\Entity\FewoLodgingImage #}
|
||||
<div class="item{% if loop.first %} active{% endif %}">
|
||||
<!-- Set the first background image using inline CSS below. -->
|
||||
{# TODO #}
|
||||
<div class="fill" style="background-image:url({{ asset('uploads/images/' ~ lodging_image.file) }});"></div>
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
|
||||
<!-- Controls -->
|
||||
<a class="left carousel-control" href="#myCarousel" role="button" data-slide="prev">
|
||||
<span class="glyphicon glyphicon-chevron-left" aria-hidden="true"></span>
|
||||
<span class="sr-only">Previous</span>
|
||||
</a>
|
||||
<a class="right carousel-control" href="#myCarousel" role="button" data-slide="next">
|
||||
<span class="glyphicon glyphicon-chevron-right" aria-hidden="true"></span>
|
||||
<span class="sr-only">Next</span>
|
||||
</a>
|
||||
|
||||
</div>
|
||||
</section><!-- end section -->
|
||||
|
||||
{#
|
||||
********* TAB BAR *********
|
||||
#}
|
||||
|
||||
{% block travel_lodging_program_tab_bar %}
|
||||
<div class="scroller-nav-tabs scroller-left-nav-tabs"><i class="glyphicon glyphicon-chevron-left"></i></div>
|
||||
<div class="scroller-nav-tabs scroller-right-nav-tabs"><i class="glyphicon glyphicon-chevron-right"></i></div>
|
||||
<div class="wrapper-nav-tabs">
|
||||
<ul class="nav nav-tabs nav-justified list-nav-tabs">
|
||||
<li class="active">
|
||||
<a href="#travel-description-content-tab" aria-controls="travel-description-content-tab" role="tab" data-toggle="tab">
|
||||
Beschreibung
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#travel-equipment-content-tab" aria-controls="travel-equipment-content-tab" role="tab" data-toggle="tab">
|
||||
Ausstattung
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#travel-dates-content-tab" aria-controls="travel-dates-content-tab" role="tab" data-toggle="tab">
|
||||
Termine <i class="fa fa-star"></i> Preise
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
{% endblock travel_lodging_program_tab_bar %}
|
||||
|
||||
<div class="tab-content">
|
||||
|
||||
{#
|
||||
********* BESCHREIBUNG *********
|
||||
#}
|
||||
|
||||
<div role="tabpanel" class="tab-pane active" id="travel-description-content-tab">
|
||||
{#TODO alles wirklich hier? wo bilder?#}
|
||||
|
||||
<h3>Allgemeines</h3>
|
||||
|
||||
<div class="table-responsive" id="no-more-tables">
|
||||
<table class="table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Typ</th>
|
||||
<th>Adresse</th>
|
||||
<th>PLZ</th>
|
||||
<th>Ort</th>
|
||||
<th>Max. Personenanzahl</th>
|
||||
<th>Kaution</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td data-title="Typ">
|
||||
{{ fewo_lodging.type }}
|
||||
</td>
|
||||
<td data-title="Adresse">
|
||||
{{ fewo_lodging.adress1 }}
|
||||
{% if fewo_lodging.adress2 is not empty %}
|
||||
{{ fewo_lodging.adress2 }}
|
||||
{% endif %}
|
||||
</td>
|
||||
<td data-title="PLZ">
|
||||
{{ fewo_lodging.zipCode }}
|
||||
</td>
|
||||
<td data-title="Ort">
|
||||
{% if fewo_lodging.city is not empty %}
|
||||
{{ fewo_lodging.city }}
|
||||
{% endif %}
|
||||
</td>
|
||||
<td data-title="Max. Personenanzahl">
|
||||
{% if fewo_lodging.maximumPersons is not empty %}
|
||||
{{ fewo_lodging.maximumPersons }}
|
||||
{% endif %}
|
||||
</td>
|
||||
<td data-title="Kaution">
|
||||
{% if fewo_lodging.deposit is not empty %}
|
||||
{{ fewo_lodging.deposit|number_format(2, ',', '.') }} €
|
||||
{% endif %}
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
{% if fewo_lodging.description is not empty %}
|
||||
<hr>
|
||||
<div>
|
||||
{{ fewo_lodging.description|raw }}
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
</div> <!-- END tabpanel -->
|
||||
|
||||
{#
|
||||
********* AUSSTATTUNG *********
|
||||
#}
|
||||
|
||||
<div role="tabpanel" class="tab-pane" id="travel-equipment-content-tab">
|
||||
<div>
|
||||
{{ fewo_lodging.equipment|raw }}
|
||||
</div>
|
||||
</div> <!-- END tabpanel -->
|
||||
|
||||
{#
|
||||
********* TERMINE UND PREISE *********
|
||||
#}
|
||||
|
||||
<div role="tabpanel" class="tab-pane" id="travel-dates-content-tab">
|
||||
<h3>Saisons</h3>
|
||||
<div class="table-responsive" id="no-more-tables">
|
||||
|
||||
{% if fewo_lodging.prices is not empty %}
|
||||
<table class="table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Name</th>
|
||||
<th>Beginn</th>
|
||||
<th>Ende</th>
|
||||
<th>Preis p.P. pro Nacht</th>
|
||||
<th>Pauschalpreis</th>
|
||||
<th>Kaution</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for price in fewo_lodging.prices %}
|
||||
<tr>
|
||||
<td data-title="Name">
|
||||
<strong class="small">
|
||||
{{ price.season.name }}
|
||||
</strong>
|
||||
</td>
|
||||
<td data-title="Beginn">
|
||||
{{ price.season.fromDate|date }}
|
||||
</td>
|
||||
<td data-title="Ende">
|
||||
{{ price.season.toDate|date }}
|
||||
</td>
|
||||
<td data-title="Preis p.P pro Nacht">
|
||||
{{ price.perNight|number_format(2, ',', '.') }} €
|
||||
</td>
|
||||
<td data-title="Pauschalpreis">
|
||||
{{ price.flatPrice|number_format(2, ',', '.') }} €
|
||||
</td>
|
||||
<td data-title="Kaution">
|
||||
{% if fewo_lodging.deposit is not empty %}
|
||||
{{ fewo_lodging.deposit|number_format(2, ',', '.') }} €
|
||||
{% endif %}
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
<h3>Buchung</h3>
|
||||
{% include 'default/pages/cms/calendarLodgingProgram.html.twig' %}
|
||||
{% else %}
|
||||
Momentan sind für dieses Programm keine Termine verfügbar.
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
</div> <!-- END tabpanel -->
|
||||
</div>
|
||||
|
||||
{{ block('travel_lodging_program_tab_bar') }}
|
||||
</div>
|
||||
</section><!-- end section -->
|
||||
{% endblock body %}
|
||||
192
trunk/app/Resources/views/default/pages/fewoBooking.html.twig
Normal file
192
trunk/app/Resources/views/default/pages/fewoBooking.html.twig
Normal file
|
|
@ -0,0 +1,192 @@
|
|||
{% extends 'base.html.twig' %}
|
||||
{% form_theme form 'default/form/theme.html.twig' %}
|
||||
|
||||
{% block stylesheets %}
|
||||
{{ parent() }}
|
||||
{% stylesheets 'bundles/app/css/booking.css' filter='cssrewrite' %}
|
||||
<link rel="stylesheet" href="{{ asset_url }}"/>
|
||||
{% endstylesheets %}
|
||||
{% endblock %}
|
||||
|
||||
{% block javascripts %}
|
||||
{{ parent() }}
|
||||
{% javascripts '@AppBundle/Resources/public/js/fewoBooking.js' %}
|
||||
<script src="{{ asset_url }}"></script>
|
||||
{% endjavascripts %}
|
||||
{% endblock %}
|
||||
|
||||
{% block body %}
|
||||
<section class="clearfix">
|
||||
|
||||
<div class="content-copy">
|
||||
|
||||
<h1>Buchungsformular FeWo</h1>
|
||||
|
||||
{#
|
||||
<div class="pull-right">
|
||||
<a href="{{ page.urlPath }}" class="btn btn-primary btn-sm"><< zurück zu Termine und Preise</a>
|
||||
</div>
|
||||
<div class="clearfix"></div>
|
||||
#}
|
||||
|
||||
<h2 style="margin-top:10px">{{ lodging.name }}</h2>
|
||||
|
||||
|
||||
<div id="booking_form" class="booking_form">
|
||||
|
||||
<form class="st-booking-form" method="post">
|
||||
|
||||
{{ form_errors(form) }}
|
||||
|
||||
<div id="message"></div>
|
||||
|
||||
<div class="form-box">
|
||||
<div class="table-responsive" id="no-more-tables_first">
|
||||
<table class="table first-table">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>Ferienwohnung</td>
|
||||
<td>
|
||||
{{ lodging.name }}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Saison</td>
|
||||
<td>
|
||||
{{ fewo_price.season.name }}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Reisebeginn</td>
|
||||
<td>{{ fromDate|date }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{{ form_label(form.toDate, 'Reiseende') }}</td>
|
||||
<td>
|
||||
{{ form_widget(form.toDate) }}
|
||||
{{ form_errors(form.toDate) }}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{{ form_label(form.travelerCount, 'Reiseteilnehmer') }}</td>
|
||||
<td>
|
||||
{{ form_widget(form.travelerCount) }}
|
||||
{{ form_errors(form.travelerCount) }}
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div class="col-xs-12">
|
||||
<div class="panel">
|
||||
<div class="panel-body">
|
||||
<h3>Ihr gewähltes Angebot</h3>
|
||||
<div class="st-booking-summary">
|
||||
{% include 'default/components/booking/fewoSummary.html.twig' with {
|
||||
'fewo_booking_request' : fewo_booking_request,
|
||||
'fewo_lodging' : fewo_lodging,
|
||||
'fewo_price' : fewo_price,
|
||||
'total_price' : total_price,
|
||||
'total_price_per_night' : total_price_per_night,
|
||||
} %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="form-box">
|
||||
<div class="">
|
||||
<div class="col-md-12 col-sm-12 col-xs-12">
|
||||
<h5>Reiseanmelder</h5>
|
||||
</div>
|
||||
|
||||
<div class="form-group col-md-12 col-sm-12 col-xs-12">
|
||||
{{ form_field_pho(form.salutation, 'Anrede', {'label_attr': {class: 'sr-only'}}) }}
|
||||
</div>
|
||||
|
||||
<div class="col-md-6 col-sm-6 col-xs-12">
|
||||
{{ form_field_pho(form.firstName, 'Vorname') }}
|
||||
</div>
|
||||
|
||||
<div class="col-md-6 col-sm-6 col-xs-12">
|
||||
{{ form_field_pho(form.lastName, 'Nachname') }}
|
||||
</div>
|
||||
|
||||
<div class="col-md-12 col-sm-12 col-xs-12">
|
||||
{{ form_field_pho(form.streetAddress, 'Straße, Hausnummer') }}
|
||||
</div>
|
||||
|
||||
<div class="col-md-6 col-sm-6 col-xs-12">
|
||||
{{ form_field_pho(form.zipCode, 'PLZ') }}
|
||||
</div>
|
||||
|
||||
<div class="col-md-6 col-sm-6 col-xs-12">
|
||||
{{ form_field_pho(form.city, 'Ort') }}
|
||||
</div>
|
||||
|
||||
<div class="col-md-6 col-sm-6 col-xs-12">
|
||||
{{ form_field_pho(form.phone, 'Telefon tagsüber') }}
|
||||
</div>
|
||||
|
||||
<div class="col-md-6 col-sm-6 col-xs-12">
|
||||
{{ form_field_pho(form.fax, 'Fax (optional)') }}
|
||||
</div>
|
||||
|
||||
<div class="col-md-12 col-sm-12 col-xs-12">
|
||||
{{ form_field_pho(form.email, 'E-Mail-Adresse') }}
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div><!-- end form-box -->
|
||||
|
||||
<div class="form-box">
|
||||
<div class="">
|
||||
<div class="col-md-12 col-sm-12 col-xs-12">
|
||||
<h5>Mitteilungen / Sonstiges (optional)</h5>
|
||||
</div>
|
||||
<div class="col-md-12 col-sm-12 col-xs-12">
|
||||
{{ form_field(form.notes, 'Mitteilungen / Sonstiges (optional)', {
|
||||
'label_attr': {'class': 'sr-only'},
|
||||
'attr': {'rows': '6'}
|
||||
}) }}
|
||||
</div>
|
||||
</div>
|
||||
</div><!-- end form-box -->
|
||||
|
||||
|
||||
<div class="form-box">
|
||||
<div class="">
|
||||
{#
|
||||
<div class="col-md-12 col-sm-12 col-xs-12">
|
||||
<h5>Allgemeine Geschäftsbedingungen</h5>
|
||||
<div class="checkbox">
|
||||
{{ form_widget(form.acceptTerms) }}
|
||||
<label for="{{ form.acceptTerms.vars.id }}">
|
||||
Ich habe alles gelesen usw...
|
||||
</label>
|
||||
{{ form_errors(form.acceptTerms) }}
|
||||
</div>
|
||||
</div>
|
||||
#}
|
||||
<div class="col-md-12 col-sm-12 col-xs-12">
|
||||
<button type="submit" value="SEND" id="submit"
|
||||
class="aligncenter btn btn-primary btn-lg border-radius"
|
||||
>
|
||||
kostenpflichtig<br class="visible-xs"> buchen
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div><!-- end form-box -->
|
||||
|
||||
|
||||
{{ form_rest(form) }}
|
||||
</form>
|
||||
|
||||
</div><!-- end contact-form -->
|
||||
|
||||
</div>
|
||||
|
||||
</section>
|
||||
{% endblock body %}
|
||||
|
|
@ -0,0 +1,150 @@
|
|||
{% extends 'base.html.twig' %}
|
||||
|
||||
{% block canonical_tag %}{% endblock %}
|
||||
|
||||
{% block body %}
|
||||
|
||||
<section class="clearfix">
|
||||
|
||||
<div class="content-copy">
|
||||
|
||||
<h1>Vielen Dank für Ihren Buchungsauftrag!</h1>
|
||||
|
||||
<div class="pull-right">
|
||||
<a href="/" class="btn btn-primary btn-sm"><< Zurück zur Startseite</a>
|
||||
</div>
|
||||
<div class="clearfix"></div>
|
||||
|
||||
<h2 style="margin-top:10px">{{ page.fewoLodging.name }} {{ fewo_price.season.name }}</h2>
|
||||
|
||||
|
||||
<div id="booking_form" class="booking_form">
|
||||
|
||||
<form class="st-booking-form" method="post">
|
||||
|
||||
|
||||
<div id="message"></div>
|
||||
|
||||
<div class="form-box">
|
||||
<div class="table-responsive" id="no-more-tables_first">
|
||||
<table class="table first-table">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>Ferienwohnung</td>
|
||||
<td>
|
||||
{{ page.fewoLodging.name }}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Reisezeitraum</td>
|
||||
<td>{{ fewo_booking_request.fromDate|date }} - {{ fewo_booking_request.toDate|date }}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
{#TODO#}
|
||||
<div class="col-xs-12">
|
||||
<div class="panel">
|
||||
<div class="panel-body">
|
||||
<h3>Ihr gewähltes Angebot</h3>
|
||||
<div class="st-booking-summary">
|
||||
{% include 'default/components/booking/fewoSummary.html.twig' with {
|
||||
'fewo_booking_request' : fewo_booking_request,
|
||||
'fewo_lodging' : fewo_lodging,
|
||||
'fewo_price' : fewo_price,
|
||||
'total_price' : total_price,
|
||||
'total_price_per_night' : total_price_per_night,
|
||||
} %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="form-box">
|
||||
<div class="">
|
||||
<div class="col-md-12 col-sm-12 col-xs-12">
|
||||
<h5>Reiseanmelder</h5>
|
||||
</div>
|
||||
|
||||
<div class="table-responsive" id="no-more-tables_first">
|
||||
<table class="table first-table">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>Anrede</td>
|
||||
<td>
|
||||
{% if fewo_booking_request.salutation == 1 %}
|
||||
Herr
|
||||
{% elseif fewo_booking_request.salutation == 2 %}
|
||||
Frau
|
||||
{% endif %}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Vorname</td>
|
||||
<td>{{ fewo_booking_request.firstName }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Nachname</td>
|
||||
<td>{{ fewo_booking_request.lastName }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Straße, Hausnummer</td>
|
||||
<td>{{ fewo_booking_request.streetAddress }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>PLZ</td>
|
||||
<td>{{ fewo_booking_request.zipCode }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Ort</td>
|
||||
<td>{{ fewo_booking_request.city }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Telefon tagsüber</td>
|
||||
<td>{{ fewo_booking_request.phone }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Fax (optional)</td>
|
||||
<td>{{ fewo_booking_request.fax }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>E-Mail-Adresse</td>
|
||||
<td>{{ fewo_booking_request.email }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
Anzahl Reiseteilnehmer
|
||||
</td>
|
||||
<td>{{ fewo_booking_request.travelerCount }}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div><!-- end form-box -->
|
||||
|
||||
<div class="form-box">
|
||||
<div class="">
|
||||
<div class="col-md-12 col-sm-12 col-xs-12">
|
||||
<h5>Mitteilungen / Sonstiges (optional)</h5>
|
||||
</div>
|
||||
<div class="col-md-12 col-sm-12 col-xs-12">
|
||||
<p>{{ fewo_booking_request.notes }}</p>
|
||||
</div>
|
||||
</div>
|
||||
</div><!-- end form-box -->
|
||||
|
||||
|
||||
</div><!-- end contact-form -->
|
||||
|
||||
<div class="pull-right">
|
||||
<a href="/" class="btn btn-primary btn-sm"><< Zurück zur Startseite</a>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</section>
|
||||
|
||||
{% endblock %}
|
||||
|
|
@ -5,4 +5,7 @@ route1:
|
|||
path: /{req}
|
||||
defaults: { _controller: 'AppBundle:Default:default' }
|
||||
requirements:
|
||||
req: ".+"
|
||||
req: ".+"
|
||||
|
||||
logout:
|
||||
path: /logout
|
||||
|
|
@ -1,24 +1,32 @@
|
|||
# To get started with security, check out the documentation:
|
||||
# http://symfony.com/doc/current/book/security.html
|
||||
security:
|
||||
|
||||
# http://symfony.com/doc/current/book/security.html#where-do-users-come-from-user-providers
|
||||
providers:
|
||||
in_memory:
|
||||
memory: ~
|
||||
|
||||
firewalls:
|
||||
# disables authentication for assets and the profiler, adapt it according to your needs
|
||||
dev:
|
||||
pattern: ^/(_(profiler|wdt)|css|images|js)/
|
||||
security: false
|
||||
|
||||
main:
|
||||
anonymous: ~
|
||||
# activate different ways to authenticate
|
||||
|
||||
# http_basic: ~
|
||||
# http://symfony.com/doc/current/book/security.html#a-configuring-how-your-users-will-authenticate
|
||||
|
||||
# form_login: ~
|
||||
# http://symfony.com/doc/current/cookbook/security/form_login_setup.html
|
||||
# http://symfony.com/doc/current/book/security.html#where-do-users-come-from-user-providers
|
||||
providers:
|
||||
in_memory:
|
||||
memory:
|
||||
users:
|
||||
bstar:
|
||||
password: $2y$13$./cas5fxa2yto6Q2or0TZ.zwwisoFWWP6MgrCQbO7ljUtynaCalAi
|
||||
roles: 'ROLE_ADMIN'
|
||||
encoders:
|
||||
Symfony\Component\Security\Core\User\User: #plaintext
|
||||
algorithm: bcrypt
|
||||
cost: 13
|
||||
firewalls:
|
||||
dev:
|
||||
pattern: ^/(_(profiler|wdt)|css|images|js)/
|
||||
security: false
|
||||
main:
|
||||
anonymous: ~
|
||||
form_login:
|
||||
login_path: login
|
||||
check_path: login
|
||||
default_target_path: after_login
|
||||
always_use_default_target_path: true
|
||||
logout:
|
||||
path: /logout
|
||||
target: /
|
||||
access_control:
|
||||
- { path: ^/login, roles: IS_AUTHENTICATED_ANONYMOUSLY }
|
||||
- { path: ^/admin, roles: ROLE_ADMIN }
|
||||
|
|
@ -36,6 +36,11 @@ services:
|
|||
arguments:
|
||||
- '@monolog.logger'
|
||||
|
||||
app.fewo_booking_exporter:
|
||||
class: AppBundle\Export\FewoBookingSternToursCrmExporter
|
||||
arguments:
|
||||
- '@monolog.logger'
|
||||
|
||||
app.contact_exporter:
|
||||
class: AppBundle\Export\ContactSternToursCrmExporter
|
||||
arguments:
|
||||
|
|
@ -50,4 +55,22 @@ services:
|
|||
class: AppBundle\Pdf
|
||||
arguments:
|
||||
- '%kernel.root_dir%'
|
||||
- '@assetic.asset_manager'
|
||||
- '@assetic.asset_manager'
|
||||
|
||||
app.image_uploader:
|
||||
class: AppBundle\Service\FileManager
|
||||
arguments:
|
||||
- '%image_upload_directory%'
|
||||
|
||||
app.image_upload_listener:
|
||||
class: AppBundle\Listener\DoctrineFileListener
|
||||
autowire: true
|
||||
tags:
|
||||
- { name: doctrine.event_listener, event: prePersist }
|
||||
- { name: doctrine.event_listener, event: preUpdate }
|
||||
- { name: doctrine.event_listener, event: preRemove }
|
||||
|
||||
app.lodging_calendar_util:
|
||||
class: AppBundle\Util\LodgingCalendarUtil
|
||||
arguments:
|
||||
- '@doctrine.orm.entity_manager'
|
||||
Loading…
Add table
Add a link
Reference in a new issue