{% block content %}
{% if modal %}<div class="modal-content">{% endif %}
<div id="wa-slot-{{ id }}" class="frame" hx-get="/_ajax/vr_wa/v1/slot?do=details&id={{ id }}&modal=false" hx-target="this" hx-swap="outerHTML" hx-trigger="updateWaBooking from:body" hx-indicator="#wa-slot-{{ id }}">
<div class="frame__header">
<h3>Zeitslot</h3>
<div class="grid-md u-gap-2">
<div class="grid-c-6 mb-2 mb-0-md">
<div class="u-flex u-items-center u-gap-1">
<i class="icon-uhr-outline"></i>
<div class="t-label">Beginn</div>
</div>
<div class="">{{ slot.time|date('d.m.Y H:i') }}</div>
</div>
<div class="grid-c-6 mb-2 mb-0-md">
<div class="u-flex u-items-center u-gap-1">
<i class="icon-uhr-outline"></i>
<div class="t-label">Ende</div>
</div>
<div class="">{{ (slot.time + slot.duration * 60)|date('d.m.Y H:i') }}</div>
</div>
<div class="grid-c-6 mb-2 mb-0-md">
<div class="u-flex u-items-center u-gap-1">
<i class="icon-standort-outline"></i>
<div class="t-label">Standort</div>
</div>
<div class="">{{ standort.title }}</div>
</div>
<div class="grid-c-6 mb-2 mb-0-md">
<div class="u-flex u-items-center u-gap-1">
<i class="icon-behaelter-outline"></i>
<div class="t-label">Verfügbare Bottichkapazität</div>
</div>
<div class="">{{ slot.behaelterAvailable }}</div>
</div>
{% if slot.anmerkungen %}
<div class="grid-c-12 mb-2 mb-0-md">
<div class="u-flex u-items-center u-gap-1">
<i class="icon-info-outline"></i>
<div class="t-label">Anmerkungen</div>
</div>
{{ slot.anmerkungen|raw }}
</div>
{% endif %}
</div>
</div>
{% if reservations|length %}
<div class="divider m-0 mb-2"></div>
<div class="frame__body">
<h4>Ihre Reservierungen</h4>
<ul class="no-bullets mx-0 reservations">
{% for reservation in reservations %}
<li class="row u-items-center p-0">
<div class="col-7">
<div class="u-flex u-items-center u-gap-1">
<i class="icon-behaelter-outline"></i>
{{ reservation.amount }} x {{ reservation.unitLabel }}
{% if reservation.unit > 0 %}({{ reservation.behaelter }} {{ 'tl_vr_wa_units.containers.0'|trans([], 'contao_tl_vr_wa_units') }}){% endif %}
</div>
</div>
<div class="col u-text-right">
<div><a hx-get="/_ajax/vr_wa/v1/slot?do=booking&id={{ reservation.id }}" hx-target="body" hx-swap="beforeend" href="javascript:;" class="btn btn--sm m-0">Bearbeiten</a></div>
</div>
</li>
{% endfor %}
</ul>
</div>
{% endif %}
<div class="divider m-0 mb-2"></div>
<div class="frame__body">
<h4>Reservieren</h4>
{% if toast is defined %}
{{ toast|raw }}
{% endif %}
{% if buchen.buchbar %}
<form hx-post="/_ajax/vr_wa/v1/slot?do=reservate" enctype="multipart/form-data">
<input type="hidden" name="id" value="{{ id }}">
<div class="grid-md u-gap-2">
<div class="grid-c-6 mb-2 mb-0-md">
<fieldset>
<label for="res-behaeltereinheit"><strong>Liefernde Botticheinheit<sup class="text-danger">*</sup></strong></label>
<select id="res-behaeltereinheit" name="unit" hx-get="/_ajax/vr_wa/v1/slot?do=availableUnitAmount&id={{ id }}" hx-target="#wa-slot-{{ id }} #res-behaelter" hx-trigger="change, load">
{% if not buchen.disable_base_unit %}
<option value=""{% if buchen.default_unit == '' %} selected{% endif %}>{{ 'tl_vr_wa_units.containers.0'|trans([], 'contao_tl_vr_wa_units') }}</option>
{% endif %}
{% for value, option in buchen.units %}
<option value="{{ value }}"{% if buchen.default_unit == value %} selected{% endif %}>{{ option }}</option>
{% endfor %}
</select>
</fieldset>
</div>
<div class="grid-c-6 mb-2 mb-0-md">
<fieldset>
<label for="res-behaelter"><strong>Menge<sup class="text-danger">*</sup></strong></label>
<select id="res-behaelter" name="behaelter" required>
<option value="">-</option>
{% for option in buchen.behaelter %}
{% if option > slot.behaelterAvailable %}
<option value="{{ option }}">{{ option }} ({{ 'MSC.wa_overbooking'|trans([], 'contao_default') }})</option>
{% else %}
<option value="{{ option }}">{{ option }}</option>
{% endif %}
{% endfor %}
</select>
</fieldset>
</div>
</div>
{% if attribute_groups is defined and attribute_groups|length > 0 %}
{% for group in attribute_groups %}
<fieldset>
<h5 class="legend">{{ group.title }}{% if group.required %}<sup class="text-danger">*</sup>{% endif %}</h5>
{% if group.description %}
<div class="fieldset-description"><span class="info">{{ group.description }}</span></div>
{% endif %}
{% for attribute in group.attributes %}
<div class="attribute-item">
{% if group.type == 'text' %}
<label for="attribute_{{ attribute.id }}"><strong>{{ attribute.title }}</strong></label>
<input type="text" id="attribute_{{ attribute.id }}" name="attribute_{{ attribute.id }}" class="form-control">
{% if attribute.description %}
<div class="fieldset-description"><span class="info">{{ attribute.description }}</span></div>
{% endif %}
{% elseif group.type == 'option' %}
<div class="checkbox form-ext-control form-ext-{{ group.multiple ? 'checkbox' : 'radio' }}">
<input class="form-ext-input" type="{{ group.multiple ? 'checkbox' : 'radio' }}" id="attribute_{{ attribute.id }}" name="{{ group.multiple ? 'attribute_'~attribute.id : 'group_'~group.id }}" value="{{ attribute.id }}">
<label class="form-ext-label" for="attribute_{{ attribute.id }}">{{ attribute.title }}</label>
</div>
{% endif %}
</div>
{% endfor %}
</fieldset>
{% endfor %}
{% endif %}
<fieldset>
<label for="res-annotation"><strong>Anmerkung</strong></label>
<textarea id="res-annotation" name="annotation"></textarea>
</fieldset>
<fieldset>
<label for="res-upload"><strong>Dateianhang</strong></label>
<input type="file" id="res-upload" name="upload">
</fieldset>
<fieldset>
<button type="submit">Reservieren</button>
</fieldset>
</form>
{% else %}
<div class="toast toast--warning mx-0">
<p class="warning">Dieser Zeit-Slot ist bereits ausgebucht</p>
</div>
{% endif %}
</div>
<div class="loader animated loading"></div>
</div>
{% if modal %}</div>{% endif %}
{% endblock %}
{% block modal %}
{% if modal %}
<script>
(function ($) {
window.modals = window.modals || []
window.modals.wa_slots = window.modals.wa_slots || []
if (window.modals.wa_slots.details{{ id }} === undefined)
{
window.modals.wa_slots.details{{ id }} = new jBox('Modal', {
closeButton: 'box',
content: $('#wa-slot-{{ id }}'),
maxWidth: 650,
minWidth: 100,
minHeight: 100,
width: 650,
overlay: true,
closeOnClick: false,
zIndex: 'auto',
addClass: ''
}).open();
} else {
window.modals.wa_slots.details{{ id }}.content.empty();
window.modals.wa_slots.details{{ id }}.setContent($('#wa-slot-{{ id }}')).open();
}
})(jQuery);
</script>
{% endif %}
{% endblock %}