init without trunk
This commit is contained in:
parent
ed24ac4994
commit
bb809e7233
14652 changed files with 177862 additions and 94817 deletions
45
app/Resources/views/default/admin/fewoGroupImage.html.twig
Normal file
45
app/Resources/views/default/admin/fewoGroupImage.html.twig
Normal file
|
|
@ -0,0 +1,45 @@
|
|||
{% extends 'admin.html.twig' %}
|
||||
{% form_theme form 'default/form/theme.html.twig' %}
|
||||
|
||||
{% block body %}
|
||||
<section class="clearfix">
|
||||
<div class="content-copy">
|
||||
<h1>Bild für Gruppe "{{ lodgingGroup.name }}" anlegen / bearbeiten</h1>
|
||||
|
||||
<form class="st-booking-form" method="post" enctype="multipart/form-data">
|
||||
|
||||
{{ form_errors(form) }}
|
||||
|
||||
<div class="form-box">
|
||||
{% if is_new %}
|
||||
{{ form_row(form.file, {label: 'Bild'}) }}
|
||||
{% else %}
|
||||
<div>
|
||||
<img src="{{ asset('_uploads/images/' ~ image_file_name) }}" alt="{{ image.description }}" style="height:250px;" >
|
||||
</div>
|
||||
{% endif %}
|
||||
{{ form_row(form.fileName, {label: 'Name'}) }}
|
||||
{{ form_row(form.pos, {label: 'Position'}) }}
|
||||
{{ form_row(form.comp, {label: 'Comnp'}) }}
|
||||
{{ 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_widget(form._token) }}
|
||||
</form>
|
||||
<a href="{{ '/admin/fewo/lodging/group/' ~ lodgingGroup.id }}"
|
||||
class="btn btn-primary"
|
||||
rel="nofollow"
|
||||
>
|
||||
Zurück
|
||||
</a>
|
||||
</div>
|
||||
</section><!-- end section -->
|
||||
{% endblock body %}
|
||||
|
|
@ -0,0 +1,35 @@
|
|||
{% extends 'admin.html.twig' %}
|
||||
{% form_theme form 'default/form/theme.html.twig' %}
|
||||
|
||||
{% block body %}
|
||||
<section class="clearfix">
|
||||
<div class="content-copy">
|
||||
<h1>Mehrere Bilder für Gruppe "{{ lodgingGroup.name }}" hochladen</h1>
|
||||
|
||||
<form class="st-booking-form" method="post" enctype="multipart/form-data">
|
||||
|
||||
{{ form_errors(form) }}
|
||||
|
||||
<div class="form-box">
|
||||
{{ form(form) }}
|
||||
<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>
|
||||
</form>
|
||||
|
||||
<a href="{{ '/admin/fewo/lodging/group/' ~ lodgingGroup.id }}"
|
||||
class="btn btn-primary"
|
||||
rel="nofollow"
|
||||
>
|
||||
Zurück
|
||||
</a>
|
||||
</div>
|
||||
</section>
|
||||
{% endblock body %}
|
||||
44
app/Resources/views/default/admin/fewoImage.html.twig
Normal file
44
app/Resources/views/default/admin/fewoImage.html.twig
Normal file
|
|
@ -0,0 +1,44 @@
|
|||
{% extends 'admin.html.twig' %}
|
||||
{% form_theme form 'default/form/theme.html.twig' %}
|
||||
|
||||
{% block body %}
|
||||
<section class="clearfix">
|
||||
<div class="content-copy">
|
||||
<h1>Bild für "{{ lodging.name }}" anlegen / bearbeiten</h1>
|
||||
|
||||
<form class="st-booking-form" method="post" enctype="multipart/form-data">
|
||||
|
||||
{{ form_errors(form) }}
|
||||
|
||||
<div class="form-box">
|
||||
{% if is_new %}
|
||||
{{ form_row(form.file, {label: 'Bild'}) }}
|
||||
{% else %}
|
||||
<div>
|
||||
<img src="{{ asset('_uploads/images/' ~ image_file_name) }}" alt="{{ image.description }}" style="width:456px;height:151px;" >
|
||||
</div>
|
||||
{% endif %}
|
||||
{{ form_row(form.fileName, {label: 'Name'}) }}
|
||||
{{ form_row(form.pos, {label: 'Position'}) }}
|
||||
{{ 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_widget(form._token) }}
|
||||
</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,35 @@
|
|||
{% extends 'admin.html.twig' %}
|
||||
{% form_theme form 'default/form/theme.html.twig' %}
|
||||
|
||||
{% block body %}
|
||||
<section class="clearfix">
|
||||
<div class="content-copy">
|
||||
<h1>Mehrere Bilder für "{{ lodging.name }}" hochladen</h1>
|
||||
|
||||
<form class="st-booking-form" method="post" enctype="multipart/form-data">
|
||||
|
||||
{{ form_errors(form) }}
|
||||
|
||||
<div class="form-box">
|
||||
{{ form(form) }}
|
||||
<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>
|
||||
</form>
|
||||
|
||||
<a href="{{ '/admin/fewo/lodgings/' ~ lodging.id }}"
|
||||
class="btn btn-primary"
|
||||
rel="nofollow"
|
||||
>
|
||||
Zurück
|
||||
</a>
|
||||
</div>
|
||||
</section>
|
||||
{% endblock body %}
|
||||
140
app/Resources/views/default/admin/lodgingGroupEdit.html.twig
Normal file
140
app/Resources/views/default/admin/lodgingGroupEdit.html.twig
Normal file
|
|
@ -0,0 +1,140 @@
|
|||
{% extends 'admin.html.twig' %}
|
||||
{% form_theme form 'default/form/theme.html.twig' %}
|
||||
|
||||
{% block body %}
|
||||
<section class="clearfix">
|
||||
<div class="content-copy">
|
||||
<h1>Gruppe {{ lodgingGroup.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'}) }}
|
||||
|
||||
|
||||
<br><br>
|
||||
|
||||
<h3>Bilder vor</h3>
|
||||
{% if lodgingGroup.images is not empty %}
|
||||
<table class="table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Bild</th>
|
||||
<th>Pos</th>
|
||||
<th>Name</th>
|
||||
<th>Beschreibung</th>
|
||||
<th></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for image in lodgingGroup.images %}
|
||||
{% if image.comp == 'pre' %}
|
||||
<tr>
|
||||
<td><img src="{{ asset('_uploads/images/' ~ image.file) }}" alt="{{ image.description }}" style="height:80px;" ></td>
|
||||
<td>{{ image.pos }}</td>
|
||||
<td>{{ image.fileName }}</td>
|
||||
<td>{{ image.description }}</td>
|
||||
<td>
|
||||
<a href="{{ '/admin/fewo/lodgings/group/' ~ lodgingGroup.id ~ '/images/' ~ image.id }}"
|
||||
class="btn btn-primary"
|
||||
>
|
||||
Bearbeiten
|
||||
</a>
|
||||
<a href="{{ '/admin/fewo/lodgings/group/' ~ lodgingGroup.id ~ '/images/' ~ image.id ~ '/delete' }}"
|
||||
class="btn btn-primary"
|
||||
>
|
||||
Löschen
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
{% else %}
|
||||
<h4>Keine Bilder vorhanden</h4>
|
||||
{% endif %}
|
||||
|
||||
<a href="{{ '/admin/fewo/lodgings/group/pre/' ~ lodgingGroup.id ~ '/images/new' }}" class="btn btn-primary">
|
||||
Hinzufügen
|
||||
</a>
|
||||
<a href="/admin/fewo/lodgings/group/pre/{{ lodgingGroup.id }}/images/multi-upload" class="btn btn-primary">
|
||||
Mehrere Bilder hochladen
|
||||
</a>
|
||||
|
||||
<br><br>
|
||||
|
||||
<h3>Bilder nach</h3>
|
||||
{% if lodgingGroup.images is not empty %}
|
||||
<table class="table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Bild</th>
|
||||
<th>Pos</th>
|
||||
<th>Name</th>
|
||||
<th>Beschreibung</th>
|
||||
<th></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for image in lodgingGroup.images %}
|
||||
{% if image.comp == 'post' %}
|
||||
<tr>
|
||||
<td><img src="{{ asset('uploads/images/' ~ image.file) }}" alt="{{ image.description }}" style="height:80px;" ></td>
|
||||
<td>{{ image.pos }}</td>
|
||||
<td>{{ image.fileName }}</td>
|
||||
<td>{{ image.description }}</td>
|
||||
<td>
|
||||
<a href="{{ '/admin/fewo/lodgings/group/' ~ lodgingGroup.id ~ '/images/' ~ image.id }}"
|
||||
class="btn btn-primary"
|
||||
>
|
||||
Bearbeiten
|
||||
</a>
|
||||
<a href="{{ '/admin/fewo/lodgings/group/' ~ lodgingGroup.id ~ '/images/' ~ image.id ~ '/delete' }}"
|
||||
class="btn btn-primary"
|
||||
>
|
||||
Löschen
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
{% else %}
|
||||
<h4>Keine Bilder vorhanden</h4>
|
||||
{% endif %}
|
||||
|
||||
<a href="{{ '/admin/fewo/lodgings/group/post/' ~ lodgingGroup.id ~ '/images/new' }}" class="btn btn-primary">
|
||||
Hinzufügen
|
||||
</a>
|
||||
<a href="/admin/fewo/lodgings/group/post/{{ lodgingGroup.id }}/images/multi-upload" class="btn btn-primary">
|
||||
Mehrere Bilder hochladen
|
||||
</a>
|
||||
|
||||
<br><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 %}
|
||||
99
app/Resources/views/default/admin/lodgings.html.twig
Normal file
99
app/Resources/views/default/admin/lodgings.html.twig
Normal file
|
|
@ -0,0 +1,99 @@
|
|||
{% 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 lodgingGroups is not empty %}
|
||||
{% for lodgingGroup in lodgingGroups %}
|
||||
<tr>
|
||||
<td>- ({{ lodgingGroup.id }}) -</td>
|
||||
<td>{{ lodgingGroup.name }}</td>
|
||||
<td>Gruppe</td>
|
||||
<td>
|
||||
<a href="{{ '/admin/fewo/lodging/group/' ~ lodgingGroup.id }}"
|
||||
class="btn btn-primary"
|
||||
rel="nofollow"
|
||||
>
|
||||
Bearbeiten
|
||||
</a>
|
||||
<a href="{{ '/admin/fewo/lodging/group/' ~ lodgingGroup.id ~ '/delete' }}"
|
||||
class="btn btn-primary"
|
||||
rel="nofollow"
|
||||
>
|
||||
Löschen
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
{% if lodgingGroup.lodgings is not empty %}
|
||||
{% for lodging in lodgingGroup.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 %}
|
||||
{% endif %}
|
||||
|
||||
|
||||
{% 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>
|
||||
|
||||
<tr>
|
||||
<td>
|
||||
<a href="/admin/fewo/lodgings/group/new"
|
||||
class="btn btn-primary"
|
||||
rel="nofollow"
|
||||
>
|
||||
Gruppe hinzufügen
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</section><!-- end section -->
|
||||
{% endblock body %}
|
||||
350
app/Resources/views/default/admin/lodgingsEdit.html.twig
Normal file
350
app/Resources/views/default/admin/lodgingsEdit.html.twig
Normal file
|
|
@ -0,0 +1,350 @@
|
|||
{% 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">
|
||||
|
||||
<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>
|
||||
|
||||
|
||||
<style>
|
||||
|
||||
.table > tbody > tr > td.normal {
|
||||
background-color: #deebde;
|
||||
padding: 6px;
|
||||
|
||||
}
|
||||
.table > tbody > tr > td.calendar-day-non {
|
||||
background-color: #fff;
|
||||
}
|
||||
.table > tbody > tr > td.calendar-day-past {
|
||||
background-color: rgba(242, 242, 242, 0.5);
|
||||
}
|
||||
.table > tbody > tr > td.calendar-light {
|
||||
opacity: 0.5;
|
||||
}
|
||||
.table > tbody > tr > td.calendar-day-disabled-half {
|
||||
/* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#f0bcbc+49,f2f2f2+50,f0bcbc+51 */
|
||||
background: #f0bcbc; /* Old browsers */
|
||||
background: -moz-linear-gradient(-35deg, #f0bcbc 49%, #f2f2f2 50%, #f0bcbc 51%); /* FF3.6-15 */
|
||||
background: -webkit-linear-gradient(-35deg, #f0bcbc 49%,#f2f2f2 50%,#f0bcbc 51%); /* Chrome10-25,Safari5.1-6 */
|
||||
background: linear-gradient(145deg, #f0bcbc 49%,#f2f2f2 50%,#f0bcbc 51%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
|
||||
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f0bcbc', endColorstr='#f0bcbc',GradientType=1 ); /* IE6-9 fallback on horizontal gradient */
|
||||
}
|
||||
.table > tbody > tr > td.calendar-day-disabled-half-booked {
|
||||
/* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#f0bcbc+49,f2f2f2+50,f0bcbc+51 */
|
||||
background: #f0bcbc; /* Old browsers */
|
||||
background: -moz-linear-gradient(-35deg, #f0bcbc 49%, #f2f2f2 50%, #C5DCC6 51%); /* FF3.6-15 */
|
||||
background: -webkit-linear-gradient(-35deg, #f0bcbc 49%,#f2f2f2 50%,#C5DCC6 51%); /* Chrome10-25,Safari5.1-6 */
|
||||
background: linear-gradient(145deg, #f0bcbc 49%,#f2f2f2 50%,#C5DCC6 51%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
|
||||
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f0bcbc', endColorstr='#C5DCC6',GradientType=1 ); /* IE6-9 fallback on horizontal gradient */
|
||||
}
|
||||
.table > tbody > tr > td.calendar-day-disabled-half-booked.active {
|
||||
/* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#f0bcbc+49,f2f2f2+50,f0bcbc+51 */
|
||||
background: #f0bcbc; /* Old browsers */
|
||||
background: -moz-linear-gradient(-35deg, #f0bcbc 49%, #f2f2f2 50%, #b7ceb8 51%); /* FF3.6-15 */
|
||||
background: -webkit-linear-gradient(-35deg, #f0bcbc 49%,#f2f2f2 50%,#b7ceb8 51%); /* Chrome10-25,Safari5.1-6 */
|
||||
background: linear-gradient(145deg, #f0bcbc 49%,#f2f2f2 50%,#b7ceb8 51%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
|
||||
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f0bcbc', endColorstr='#b7ceb8',GradientType=1 ); /* IE6-9 fallback on horizontal gradient */
|
||||
}
|
||||
.table > tbody > tr > .calendar-day-reservation-begin {
|
||||
background-color: #f0bcbc;
|
||||
background: -moz-linear-gradient(to bottom right, #deebde 0%, #deebde 49%, #f0bcbc 50%, #f0bcbc 100%);
|
||||
background: -webkit-gradient(linear, left top, right bottom, color-stop(0%, #deebde), color-stop(49%, #deebde), color-stop(50%, #f0bcbc), color-stop(100%, #f0bcbc));
|
||||
background: -webkit-linear-gradient(to bottom right, #deebde 0%, #deebde 49%, #f0bcbc 50%, #f0bcbc 100%);
|
||||
background: -o-linear-gradient(to bottom right, #deebde 0%, #deebde 49%, #f0bcbc 50%, #f0bcbc 100%);
|
||||
background: -ms-linear-gradient(to bottom right, #deebde 0%, #deebde 49%, #f0bcbc 50%, #f0bcbc 100%);
|
||||
background: linear-gradient(to bottom right, #deebde 0%, #deebde 49%, #f0bcbc 50%, #f0bcbc 100%);
|
||||
}
|
||||
.table > tbody > tr > .calendar-day-reservation-end {
|
||||
background-color: #f2f2f2;
|
||||
background: -moz-linear-gradient(to bottom right, #f0bcbc 0%, #f0bcbc 49%, #deebde 50%, #deebde 100%);
|
||||
background: -webkit-gradient(linear, left top, right bottom, color-stop(0%, #f0bcbc), color-stop(49%, #f0bcbc), color-stop(50%, #deebde), color-stop(100%, #deebde));
|
||||
background: -webkit-linear-gradient(to bottom right, #f0bcbc 0%, #f0bcbc 49%, #deebde 50%, #deebde 100%);
|
||||
background: -o-linear-gradient(to bottom right, #f0bcbc 0%, #f0bcbc 49%, #deebde 50%, #deebde 100%);
|
||||
background: -ms-linear-gradient(to bottom right, #f0bcbc 0%, #f0bcbc 49%, #deebde 50%, #deebde 100%);
|
||||
background: linear-gradient(to bottom right, #f0bcbc 0%, #f0bcbc 49%, #deebde 50%, #deebde 100%);
|
||||
}
|
||||
|
||||
.table > tbody > tr > td.active {
|
||||
background-color: rgba(88, 155, 92, 0.35);
|
||||
padding: 6px;
|
||||
|
||||
}
|
||||
.table > tbody > tr > td.active:hover {
|
||||
background-color: #648859;
|
||||
}
|
||||
|
||||
.table > tbody > tr > td a.link {
|
||||
color: #5a5a5a;
|
||||
font-weight: 700;
|
||||
width: 100%;
|
||||
display: block;
|
||||
height: 100%;
|
||||
// padding: 6px;
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.table > tbody > tr > td:hover a.link {
|
||||
color: #fff;
|
||||
font-weight: 700;
|
||||
width: 100%;
|
||||
display: block;
|
||||
height: 100%;
|
||||
}
|
||||
.table > tbody > tr > td a.link {
|
||||
font-weight: 700;
|
||||
width: 100%;
|
||||
display: block;
|
||||
height: 100%;
|
||||
// padding: 6px;
|
||||
}
|
||||
|
||||
|
||||
|
||||
</style>
|
||||
|
||||
|
||||
{% include 'default/admin/lodgingsEditCalendar.html.twig' %}
|
||||
|
||||
<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>Service-Gebühr</th>
|
||||
<th></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for lodgingPrice in lodging.prices %}
|
||||
{% if lodgingPrice.season is not empty %}
|
||||
|
||||
<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>
|
||||
{% endif %}
|
||||
|
||||
{% 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>
|
||||
<hr>
|
||||
|
||||
<br><br>
|
||||
|
||||
{{ form_row(form.name, {'label': 'Name'}) }}
|
||||
{{ form_row(form.group, {'label': 'Gruppe'}) }}
|
||||
{{ 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.maximumAdults, {'label': 'Maximale Erwachsene'}) }}
|
||||
{{ form_row(form.maximumChilds, {'label': 'Maximale Kinder'}) }}
|
||||
{{ form_row(form.deposit, {'label': 'Kaution'}) }}
|
||||
|
||||
{#
|
||||
<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>
|
||||
<br><br>
|
||||
|
||||
|
||||
|
||||
<h3>Bilder</h3>
|
||||
{% if lodging.images is not empty %}
|
||||
<table class="table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Bild</th>
|
||||
<th>Pos</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:75px;" ></td>
|
||||
<td>{{ image.pos }}</td>
|
||||
<td>{{ image.fileName }}</td>
|
||||
<td>{{ image.description }}</td>
|
||||
<td>
|
||||
<a href="{{ '/admin/fewo/lodgings/' ~ lodging.id ~ '/images/' ~ image.id }}"
|
||||
class="btn btn-primary"
|
||||
>
|
||||
Bearbeiten
|
||||
</a>
|
||||
<a href="{{ '/admin/fewo/lodgings/' ~ lodging.id ~ '/images/' ~ image.id ~ '/delete' }}"
|
||||
class="btn btn-primary"
|
||||
>
|
||||
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">
|
||||
Hinzufügen
|
||||
</a>
|
||||
<a href="/admin/fewo/lodgings/{{ lodging.id }}/images/multi-upload" class="btn btn-primary">
|
||||
Mehrere Bilder hochladen
|
||||
</a>
|
||||
|
||||
<br><br>
|
||||
|
||||
|
||||
|
||||
</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,76 @@
|
|||
|
||||
{% set counter = 0 %}
|
||||
{% for calendar_month in calendar %}
|
||||
{% set counter = counter + 1 %}
|
||||
{% if counter%2 != 0 %}
|
||||
<div class="row" style="">
|
||||
{% endif %}
|
||||
|
||||
|
||||
<div class="col-xs-12 col-sm-6">
|
||||
<table class="table calendar-table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th colspan="7">
|
||||
{{ calendar_month['monthName'] }} {{ calendar_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 %}
|
||||
{# @var dayState \AppBundle\Util\CalendarDayState #}
|
||||
{% set dayState = calendar_month['data'][(weekIndex * 7) + dayIndex] %}
|
||||
|
||||
{% set is_past_date = dayState.date is not empty and date(dayState.date) < date('now') %}
|
||||
|
||||
{# Set cell class #}
|
||||
|
||||
<td class="{{ dayState.getCssClass }} {% if dayState.isBookable %}active{% endif %}">
|
||||
{% if dayState.isReserved or dayState.isReservationBegin %}
|
||||
{% if dayState.reservation.id is defined %}
|
||||
<a class="link" href="/admin/fewo/lodgings/{{ lodging.id }}/reservations/{{ dayState.reservation.id }}">
|
||||
{{ dayState.day }}
|
||||
</a>
|
||||
{% else %}
|
||||
ID
|
||||
{% endif %}
|
||||
|
||||
{% elseif dayState.isBookable and not is_past_date %}
|
||||
<a class="link" href="/admin/fewo/lodgings/{{ lodging.id }}/reservations/new/{{ dayState.day < 10 ? '0':'' }}{{dayState.day}}{{ calendar_month['monthNumber'] < 10 ? '0':'' }}{{calendar_month['monthNumber']}}{{calendar_month['year']}}">
|
||||
{{ dayState.day }}
|
||||
</a>
|
||||
{% elseif dayState.day == 0 %}
|
||||
|
||||
{% else %}
|
||||
{% if dayState.isPastDate %}
|
||||
<del style="color:#989898;">{{ dayState.day }}</del>
|
||||
{% else %}
|
||||
{{ dayState.day }}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
</td>
|
||||
{% endfor %}
|
||||
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
{% if counter%2 == 0 or calendar|length ==counter %}
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
|
||||
|
||||
{% endfor %}
|
||||
39
app/Resources/views/default/admin/lodgingsGroupNew.html.twig
Normal file
39
app/Resources/views/default/admin/lodgingsGroupNew.html.twig
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
{% extends 'admin.html.twig' %}
|
||||
{% form_theme form 'default/form/theme.html.twig' %}
|
||||
|
||||
{% block body %}
|
||||
<section class="clearfix">
|
||||
<div class="content-copy">
|
||||
<h1>Neue Gruppe 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'}) }}
|
||||
|
||||
|
||||
|
||||
<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 %}
|
||||
56
app/Resources/views/default/admin/lodgingsNew.html.twig
Normal file
56
app/Resources/views/default/admin/lodgingsNew.html.twig
Normal file
|
|
@ -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'}) }}
|
||||
|
||||
{#
|
||||
<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
app/Resources/views/default/admin/loginAdmin.html.twig
Normal file
37
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
app/Resources/views/default/admin/pricesEdit.html.twig
Normal file
37
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: 'Service-Gebühr'}) }}
|
||||
<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
app/Resources/views/default/admin/pricesNew.html.twig
Normal file
37
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: 'Service-Gebühr'}) }}
|
||||
<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 %}
|
||||
191
app/Resources/views/default/admin/reservationsEdit.html.twig
Normal file
191
app/Resources/views/default/admin/reservationsEdit.html.twig
Normal file
|
|
@ -0,0 +1,191 @@
|
|||
{% 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>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'}) }}
|
||||
|
||||
<div class="form-group">
|
||||
<label class="st-required control-label required">Datum</label>
|
||||
<div class="input-daterange input-group" id="date-range">
|
||||
{{ form_widget(form.fromDate) }}
|
||||
<span class="input-group-addon bg-info b-0 text-white">bis</span>
|
||||
{{ form_widget(form.toDate) }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{{ 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>
|
||||
|
||||
<hr>
|
||||
<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>Service-Gebühr</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for lodgingPrice in lodging.prices %}
|
||||
{% if lodgingPrice.season is not empty %}
|
||||
<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>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
</div>
|
||||
</section><!-- end section -->
|
||||
|
||||
<script type="text/javascript">
|
||||
|
||||
checkDates = function(date) {
|
||||
formatted = date.format('DD.MM.YYYY');
|
||||
reservationDays = {{ reservationDays|json_encode|raw }}
|
||||
return reservationDays.indexOf(formatted) > -1;
|
||||
};
|
||||
checkCustom = function(date) {
|
||||
customDays = {{ classByDays|json_encode|raw }};
|
||||
formatted = date.format('DD.MM.YYYY');
|
||||
if(customDays[formatted] != undefined){
|
||||
return customDays[formatted];
|
||||
}
|
||||
};
|
||||
|
||||
$(document).ready(function() {
|
||||
|
||||
var currentDate = moment().format("DD.MM.YYYY");
|
||||
|
||||
var startDate = $('#appbundle_feworeservation_fromDate').val();
|
||||
var endDate = $('#appbundle_feworeservation_toDate').val();
|
||||
|
||||
var maxDate = "{{ lastSeason.toDate|date('d-m-y') }}";
|
||||
|
||||
$('#appbundle_feworeservation_fromDate, #appbundle_feworeservation_toDate').daterangepicker({
|
||||
isInvalidDate: checkDates,
|
||||
isCustomDate: checkCustom,
|
||||
"minDate": moment(),
|
||||
"maxDate": maxDate,
|
||||
"timePickerSeconds": true,
|
||||
|
||||
|
||||
"locale": {
|
||||
"format": "DD.MM.YYYY",
|
||||
"separator": " - ",
|
||||
"applyLabel": "OK",
|
||||
"cancelLabel": "X",
|
||||
"fromLabel": "Von",
|
||||
"toLabel": "Bis",
|
||||
"customRangeLabel": "Custom",
|
||||
"weekLabel": "W",
|
||||
"daysOfWeek": [
|
||||
"So",
|
||||
"Mo",
|
||||
"Di",
|
||||
"Mi",
|
||||
"Do",
|
||||
"Fr",
|
||||
"Sa"
|
||||
],
|
||||
"monthNames": [
|
||||
"Januar",
|
||||
"Februar",
|
||||
"März",
|
||||
"April",
|
||||
"Mai",
|
||||
"Juni",
|
||||
"Juli",
|
||||
"August",
|
||||
"September",
|
||||
"Oktober",
|
||||
"November",
|
||||
"Dezember"
|
||||
],
|
||||
"firstDay": 1
|
||||
},
|
||||
autoApply: true,
|
||||
autoUpdateInput: false,
|
||||
"startDate": startDate,
|
||||
"endDate": endDate,
|
||||
}, function(start, end, label) {
|
||||
console.log(start);
|
||||
// console.log("New date range selected: ' + start.format('YYYY-MM-DD') + ' to ' + end.format('YYYY-MM-DD') + ' (predefined range: ' + label + ')");
|
||||
// Lets update the fields manually this event fires on selection of range
|
||||
var selectedStartDate = start.format('DD.MM.YYYY'); // selected start
|
||||
var selectedEndDate = end.format('DD.MM.YYYY'); // selected end
|
||||
|
||||
$checkinInput = $('#appbundle_feworeservation_fromDate');
|
||||
$checkoutInput = $('#appbundle_feworeservation_toDate');
|
||||
|
||||
// Updating Fields with selected dates
|
||||
$checkinInput.val(selectedStartDate);
|
||||
$checkoutInput.val(selectedEndDate);
|
||||
|
||||
// Setting the Selection of dates on calender on CHECKOUT FIELD (To get this it must be binded by Ids not Calss)
|
||||
var checkOutPicker = $checkoutInput.data('daterangepicker');
|
||||
checkOutPicker.setStartDate(selectedStartDate);
|
||||
checkOutPicker.setEndDate(selectedEndDate);
|
||||
|
||||
// Setting the Selection of dates on calender on CHECKIN FIELD (To get this it must be binded by Ids not Calss)
|
||||
var checkInPicker = $checkinInput.data('daterangepicker');
|
||||
checkInPicker.setStartDate(selectedStartDate);
|
||||
checkInPicker.setEndDate(selectedEndDate);
|
||||
|
||||
});
|
||||
|
||||
$('#appbundle_feworeservation_fromDate, #appbundle_feworeservation_toDate').on('show.daterangepicker', function(ev, picker) {
|
||||
console.log(picker.startDate.format('YYYY-MM-DD'));
|
||||
console.log(picker.endDate.format('YYYY-MM-DD'));
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
{% endblock body %}
|
||||
|
||||
184
app/Resources/views/default/admin/reservationsNew.html.twig
Normal file
184
app/Resources/views/default/admin/reservationsNew.html.twig
Normal file
|
|
@ -0,0 +1,184 @@
|
|||
{% 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>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'}) }}
|
||||
|
||||
<div class="form-group">
|
||||
<label class="st-required control-label required">Datum</label>
|
||||
<div class="input-daterange input-group" id="date-range">
|
||||
{{ form_widget(form.fromDate) }}
|
||||
<span class="input-group-addon bg-info b-0 text-white">bis</span>
|
||||
{{ form_widget(form.toDate) }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{{ 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>
|
||||
<hr>
|
||||
<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>Service-Gebühr</th>
|
||||
<th>Mindestbelegung</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for lodgingPrice in lodging.prices %}
|
||||
{% if lodgingPrice.season is not empty %}
|
||||
<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>
|
||||
<td>{{ lodgingPrice.season.minimumStay }}</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
</div>
|
||||
</section><!-- end section -->
|
||||
|
||||
<script type="text/javascript">
|
||||
|
||||
checkDates = function(date) {
|
||||
formatted = date.format('DD.MM.YYYY');
|
||||
reservationDays = {{ reservationDays|json_encode|raw }}
|
||||
return reservationDays.indexOf(formatted) > -1;
|
||||
};
|
||||
checkCustom = function(date) {
|
||||
customDays = {{ classByDays|json_encode|raw }};
|
||||
formatted = date.format('DD.MM.YYYY');
|
||||
if(customDays[formatted] != undefined){
|
||||
return customDays[formatted];
|
||||
}
|
||||
};
|
||||
|
||||
$(document).ready(function() {
|
||||
|
||||
var currentDate = moment().format("DD.MM.YYYY");
|
||||
|
||||
var startDate = $('#appbundle_feworeservation_fromDate').val();
|
||||
var endDate = $('#appbundle_feworeservation_toDate').val();
|
||||
|
||||
var maxDate = "{{ lastSeason.toDate|date('d-m-y') }}";
|
||||
|
||||
$('#appbundle_feworeservation_fromDate, #appbundle_feworeservation_toDate').daterangepicker({
|
||||
isInvalidDate: checkDates,
|
||||
isCustomDate: checkCustom,
|
||||
"minDate": moment(),
|
||||
"maxDate": maxDate,
|
||||
"timePickerSeconds": true,
|
||||
|
||||
|
||||
"locale": {
|
||||
"format": "DD.MM.YYYY",
|
||||
"separator": " - ",
|
||||
"applyLabel": "OK",
|
||||
"cancelLabel": "X",
|
||||
"fromLabel": "Von",
|
||||
"toLabel": "Bis",
|
||||
"customRangeLabel": "Custom",
|
||||
"weekLabel": "W",
|
||||
"daysOfWeek": [
|
||||
"So",
|
||||
"Mo",
|
||||
"Di",
|
||||
"Mi",
|
||||
"Do",
|
||||
"Fr",
|
||||
"Sa"
|
||||
],
|
||||
"monthNames": [
|
||||
"Januar",
|
||||
"Februar",
|
||||
"März",
|
||||
"April",
|
||||
"Mai",
|
||||
"Juni",
|
||||
"Juli",
|
||||
"August",
|
||||
"September",
|
||||
"Oktober",
|
||||
"November",
|
||||
"Dezember"
|
||||
],
|
||||
"firstDay": 1
|
||||
},
|
||||
autoApply: true,
|
||||
autoUpdateInput: false,
|
||||
"startDate": startDate,
|
||||
"endDate": endDate,
|
||||
}, function(start, end, label) {
|
||||
console.log(start);
|
||||
// console.log("New date range selected: ' + start.format('YYYY-MM-DD') + ' to ' + end.format('YYYY-MM-DD') + ' (predefined range: ' + label + ')");
|
||||
// Lets update the fields manually this event fires on selection of range
|
||||
var selectedStartDate = start.format('DD.MM.YYYY'); // selected start
|
||||
var selectedEndDate = end.format('DD.MM.YYYY'); // selected end
|
||||
|
||||
$checkinInput = $('#appbundle_feworeservation_fromDate');
|
||||
$checkoutInput = $('#appbundle_feworeservation_toDate');
|
||||
|
||||
// Updating Fields with selected dates
|
||||
$checkinInput.val(selectedStartDate);
|
||||
$checkoutInput.val(selectedEndDate);
|
||||
|
||||
// Setting the Selection of dates on calender on CHECKOUT FIELD (To get this it must be binded by Ids not Calss)
|
||||
var checkOutPicker = $checkoutInput.data('daterangepicker');
|
||||
checkOutPicker.setStartDate(selectedStartDate);
|
||||
checkOutPicker.setEndDate(selectedEndDate);
|
||||
|
||||
// Setting the Selection of dates on calender on CHECKIN FIELD (To get this it must be binded by Ids not Calss)
|
||||
var checkInPicker = $checkinInput.data('daterangepicker');
|
||||
checkInPicker.setStartDate(selectedStartDate);
|
||||
checkInPicker.setEndDate(selectedEndDate);
|
||||
|
||||
});
|
||||
|
||||
$('#appbundle_feworeservation_fromDate, #appbundle_feworeservation_toDate').on('show.daterangepicker', function(ev, picker) {
|
||||
console.log(picker.startDate.format('YYYY-MM-DD'));
|
||||
console.log(picker.endDate.format('YYYY-MM-DD'));
|
||||
});
|
||||
});
|
||||
</script>
|
||||
{% endblock body %}
|
||||
66
app/Resources/views/default/admin/seasons.html.twig
Normal file
66
app/Resources/views/default/admin/seasons.html.twig
Normal file
|
|
@ -0,0 +1,66 @@
|
|||
{% 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>Mindestbelegung in Nächte</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>{{ season.minimumStay }}</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 %}
|
||||
41
app/Resources/views/default/admin/seasonsEdit.html.twig
Normal file
41
app/Resources/views/default/admin/seasonsEdit.html.twig
Normal file
|
|
@ -0,0 +1,41 @@
|
|||
{% 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'}) }}
|
||||
{{ form_row(form.onlyWeekday, {label: 'Exklusiver Wochentag'}) }}
|
||||
|
||||
<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
app/Resources/views/default/admin/seasonsNew.html.twig
Normal file
42
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'}) }}
|
||||
{{ form_row(form.onlyWeekday, {label: 'Exklusiver Wochentag'}) }}
|
||||
|
||||
|
||||
<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 %}
|
||||
Loading…
Add table
Add a link
Reference in a new issue