{{ block('label') }}
@@ -73,7 +74,7 @@
{% block label %}
{% if item.extras.icon is defined %}
- {{ icon(item.extras.icon, 'h-5 w-5 shrink-0 text-gray-400') }}
+ {{ icon(item.extras.icon, 'h-5 w-5 shrink-0 ' ~ ((matcher.isCurrent(item) or matcher.isAncestor(item)) ? 'text-gray-600' : 'text-gray-400')) }}
{{ item.label|raw }}
{% else %}
{{ item.label|raw }}
diff --git a/templates/_partials/_toast.html.twig b/templates/_partials/_toast.html.twig
new file mode 100644
index 00000000..e5785c38
--- /dev/null
+++ b/templates/_partials/_toast.html.twig
@@ -0,0 +1,10 @@
+{% apply spaceless %}
+ {% for message in messages %}
+ {% if message is iterable %}
+ {% set message = message.id | trans(message.parameters | default({}), message.domain | default(null), message.locale | default(null)) | raw %}
+ {% else %}
+ {% set message = message | trans | raw %}
+ {% endif %}
+
+ {% endfor %}
+{% endapply %}
diff --git a/templates/admin/accommodation/_form.html.twig b/templates/admin/accommodation/_form.html.twig
new file mode 100644
index 00000000..6a02bb5e
--- /dev/null
+++ b/templates/admin/accommodation/_form.html.twig
@@ -0,0 +1,296 @@
+{% form_theme form 'forms_admin.html.twig' %}
+
+
+ Allgemein
+
+
+{{ form_start(form) }}
+
+ {{ form_row(form.name) }}
+ {{ form_row(form.code) }}
+ {{ form_row(form.minPaxSummer) }}
+ {{ form_row(form.maxAdolescentAge) }}
+ {{ form_row(form.currency) }}
+
+
+{{ form_rest(form) }}
+{{ form_end(form) }}
+
+
+
+
+ Preise
+
+
+
+
+
+
+ |
+
+ Datums-Bereich
+ |
+
+ Preis pro Nacht
+ |
+
+ Preise weitere Person
+ |
+
+ Mindestbelegung (Nächte)
+ |
+
+ Unterbelegung
+ |
+ |
+
+
+
+ {% for price in accommodation.accommodationPrices %}
+
+ |
+
+ {{ price.dateFrom | date('d.m.Y') }} - {{ price.dateTo | date('d.m.Y') }}
+ |
+
+ {{ (price.effectivePricePerNight / 100) | format_currency(accommodation.currency) }}
+ {% if price.pricePerNightOverride is not null %}
+ {{ (price.pricePerNight / 100) | format_currency(accommodation.currency) }}
+ {% endif %}
+ |
+
+ {{ (price.effectivePriceAdditionalPerson / 100) | format_currency(accommodation.currency) }}
+ {% if price.priceAdditionalPersonOverride is not null %}
+ {{ (price.priceAdditionalPerson / 100) | format_currency(accommodation.currency) }}
+ {% endif %}
+ |
+
+ {{ price.minNights }}
+ |
+
+ {% if price.acceptUndersubscription %}
+ {{ icon('check', 'w-4 h-4') }}
+ {% endif %}
+ |
+
+
+
+ bearbeiten
+
+
+ duplizieren
+
+
+ löschen
+
+
+ |
+
+ {% else %}
+
+ |
+ Keine Daten
+ |
+
+ {% endfor %}
+
+
+
+
+
+
+
+
+
+ Verpflegungsleistungen
+
+
+
+
+
+
+ |
+
+ Datums-Bereich
+ |
+
+ Bezeichnung
+ |
+
+ Preis pro Person/Nacht
+ |
+ |
+
+
+
+ {% for service in accommodation.boardServices %}
+
+ |
+ {{ icon('draggable', 'w-4 h-4') }}
+ |
+
+ {{ service.dateFrom | date('d.m.Y') }} - {{ service.dateTo | date('d.m.Y') }}
+ |
+
+ {{ service.label }}
+
+ |
+
+ {{ (service.price / 100) | format_currency(accommodation.currency) }}
+ |
+
+
+
+ bearbeiten
+
+
+ duplizieren
+
+
+ löschen
+
+
+ |
+
+ {% else %}
+
+ |
+ Keine Daten
+ |
+
+ {% endfor %}
+
+
+
+
+
+
+
+
+
+ Optionale Zusatzleistungen
+
+
+
+
+
+
+ |
+
+ Datums-Bereich
+ |
+
+ Bezeichnung
+ |
+
+ Preistyp
+ |
+
+ Preis
+ |
+ |
+
+
+
+ {% for service in accommodation.additionalServices %}
+
+ |
+ {{ icon('draggable', 'w-4 h-4') }}
+ |
+
+ {{ service.dateFrom | date('d.m.Y') }} - {{ service.dateTo | date('d.m.Y') }}
+ |
+
+ {{ service.label }}
+
+ |
+
+ {{ service.type.label | trans }}
+ |
+
+ {{ (service.price / 100) | format_currency(accommodation.currency) }}
+ |
+
+
+
+ bearbeiten
+
+
+ duplizieren
+
+
+ löschen
+
+
+ |
+
+ {% else %}
+
+ |
+ Keine Daten
+ |
+
+ {% endfor %}
+
+
+
+
+
+
+
+
+{% if cmsData is defined %}
+
+ CMS-Daten
+
+
+
+
+
+ Adresse
+
+ {{ cmsData.name }}
+
+ {{ cmsData.address | default('-') | nl2br }}
+
+
+
+ Beschreibung
+
+
+ {{ cmsData.description | default('-') | raw }}
+
+
+
+
+
+ Bilder
+
+
+ {% for image in cmsData.images.resized.s %}
+

+ {% endfor %}
+
+
+
+{% endif %}
+
diff --git a/templates/admin/accommodation/create.html.twig b/templates/admin/accommodation/create.html.twig
new file mode 100644
index 00000000..1b46b6d7
--- /dev/null
+++ b/templates/admin/accommodation/create.html.twig
@@ -0,0 +1,6 @@
+{% extends 'layout_admin.html.twig' %}
+
+{% block content %}
+ Gruppenhaus neu
+ {% include 'admin/accommodation/_form.html.twig' %}
+{% endblock %}
diff --git a/templates/admin/accommodation/edit.html.twig b/templates/admin/accommodation/edit.html.twig
new file mode 100644
index 00000000..6cdc4e2a
--- /dev/null
+++ b/templates/admin/accommodation/edit.html.twig
@@ -0,0 +1,6 @@
+{% extends 'layout_admin.html.twig' %}
+
+{% block content %}
+ Gruppenhaus {{ accommodation.name }}
+ {% include 'admin/accommodation/_form.html.twig' %}
+{% endblock %}
diff --git a/templates/admin/accommodation/index.html.twig b/templates/admin/accommodation/index.html.twig
new file mode 100644
index 00000000..fd277286
--- /dev/null
+++ b/templates/admin/accommodation/index.html.twig
@@ -0,0 +1,71 @@
+{% extends 'layout_admin.html.twig' %}
+
+{% block content %}
+ Gruppenhäuser
+
+
+
+
+
+ |
+ Name
+ |
+
+ Code
+ |
+
+ erstellt
+ |
+
+ aktualisiert
+ |
+ |
+
+
+
+ {% for accommodation in accommodations %}
+
+ |
+ {{ accommodation.name }}
+ |
+
+ {{ accommodation.code }}
+ |
+
+ {{ accommodation.createdAt | date('d.m.Y, H:i') }}
+ |
+
+ {% if accommodation.updatedAt is not null %}
+ {{ accommodation.updatedAt | date('d.m.Y, H:i') }}
+ {% else %}
+ -
+ {% endif %}
+ |
+
+
+
+ bearbeiten
+
+
+ löschen
+
+
+ |
+
+ {% else %}
+
+ |
+ Keine Daten...
+ |
+
+ {% endfor %}
+
+
+
+
+
+{% endblock %}
diff --git a/templates/admin/accommodation/modal_delete.html.twig b/templates/admin/accommodation/modal_delete.html.twig
new file mode 100644
index 00000000..730d6766
--- /dev/null
+++ b/templates/admin/accommodation/modal_delete.html.twig
@@ -0,0 +1,7 @@
+{% extends 'htmx_confirmation_modal.html.twig' %}
+
+{% block content %}
+
+ Möchtest du das Gruppenhaus {{ accommodation.name }} wirklich löschen?
+
+{% endblock %}
diff --git a/templates/admin/accommodation_price/_form.html.twig b/templates/admin/accommodation_price/_form.html.twig
new file mode 100644
index 00000000..11af6e34
--- /dev/null
+++ b/templates/admin/accommodation_price/_form.html.twig
@@ -0,0 +1,24 @@
+{% form_theme form 'forms_admin.html.twig' %}
+
+{{ form_start(form) }}
+
+ {{ form_row(form.dateFrom) }}
+ {{ form_row(form.dateTo) }}
+ {{ form_row(form.pricePerNight) }}
+ {{ form_row(form.pricePerNightOverride) }}
+ {{ form_row(form.priceAdditionalPerson) }}
+ {{ form_row(form.priceAdditionalPersonOverride) }}
+ {{ form_row(form.includedPax) }}
+ {{ form_row(form.minNights) }}
+ {{ form_row(form.acceptUndersubscription) }}
+
+
+{{ form_rest(form) }}
+{{ form_end(form) }}
diff --git a/templates/admin/accommodation_price/create.html.twig b/templates/admin/accommodation_price/create.html.twig
new file mode 100644
index 00000000..03b47f76
--- /dev/null
+++ b/templates/admin/accommodation_price/create.html.twig
@@ -0,0 +1,6 @@
+{% extends 'layout_admin.html.twig' %}
+
+{% block content %}
+ Preis neu für Gruppenhaus {{ accommodation.name }}
+ {% include 'admin/accommodation_price/_form.html.twig' %}
+{% endblock %}
diff --git a/templates/admin/accommodation_price/edit.html.twig b/templates/admin/accommodation_price/edit.html.twig
new file mode 100644
index 00000000..b23557f1
--- /dev/null
+++ b/templates/admin/accommodation_price/edit.html.twig
@@ -0,0 +1,6 @@
+{% extends 'layout_admin.html.twig' %}
+
+{% block content %}
+ Preis für Gruppenhaus {{ accommodation.name }}{% if duplicate %} duplizieren{% endif %}
+ {% include 'admin/accommodation_price/_form.html.twig' %}
+{% endblock %}
diff --git a/templates/admin/accommodation_price/modal_delete.html.twig b/templates/admin/accommodation_price/modal_delete.html.twig
new file mode 100644
index 00000000..17951be5
--- /dev/null
+++ b/templates/admin/accommodation_price/modal_delete.html.twig
@@ -0,0 +1,7 @@
+{% extends 'htmx_confirmation_modal.html.twig' %}
+
+{% block content %}
+
+ Möchtest du den Gruppenhaus-Preis {{ accommodation.name }}, {{ accommodationPrice.dateFrom | date('d.m.Y') }} - {{ accommodationPrice.dateTo | date('d.m.Y') }} wirklich löschen?
+
+{% endblock %}
diff --git a/templates/admin/additional_service/_form.html.twig b/templates/admin/additional_service/_form.html.twig
new file mode 100644
index 00000000..54479804
--- /dev/null
+++ b/templates/admin/additional_service/_form.html.twig
@@ -0,0 +1,21 @@
+{% form_theme form 'forms_admin.html.twig' %}
+
+{{ form_start(form) }}
+
+ {{ form_row(form.label) }}
+ {{ form_row(form.type) }}
+ {{ form_row(form.price) }}
+ {{ form_row(form.selectionGroup) }}
+ {{ form_row(form.dateFrom) }}
+ {{ form_row(form.dateTo) }}
+
+
+{{ form_rest(form) }}
+{{ form_end(form) }}
diff --git a/templates/admin/additional_service/create.html.twig b/templates/admin/additional_service/create.html.twig
new file mode 100644
index 00000000..9e306965
--- /dev/null
+++ b/templates/admin/additional_service/create.html.twig
@@ -0,0 +1,6 @@
+{% extends 'layout_admin.html.twig' %}
+
+{% block content %}
+ Zusatzleistung neu für Gruppenhaus {{ accommodation.name }}
+ {% include 'admin/additional_service/_form.html.twig' %}
+{% endblock %}
diff --git a/templates/admin/additional_service/edit.html.twig b/templates/admin/additional_service/edit.html.twig
new file mode 100644
index 00000000..a38e4794
--- /dev/null
+++ b/templates/admin/additional_service/edit.html.twig
@@ -0,0 +1,6 @@
+{% extends 'layout_admin.html.twig' %}
+
+{% block content %}
+ Zusatzleistung für Gruppenhaus {{ accommodation.name }}{% if duplicate %} duplizieren{% endif %}
+ {% include 'admin/additional_service/_form.html.twig' %}
+{% endblock %}
diff --git a/templates/admin/additional_service/modal_delete.html.twig b/templates/admin/additional_service/modal_delete.html.twig
new file mode 100644
index 00000000..bca6b1a1
--- /dev/null
+++ b/templates/admin/additional_service/modal_delete.html.twig
@@ -0,0 +1,7 @@
+{% extends 'htmx_confirmation_modal.html.twig' %}
+
+{% block content %}
+
+ Möchtest du die Zusatzleistung {{ additionalService.label }}, {{ accommodation.name }} wirklich löschen?
+
+{% endblock %}
diff --git a/templates/admin/board_service/_form.html.twig b/templates/admin/board_service/_form.html.twig
new file mode 100644
index 00000000..0f5e5621
--- /dev/null
+++ b/templates/admin/board_service/_form.html.twig
@@ -0,0 +1,19 @@
+{% form_theme form 'forms_admin.html.twig' %}
+
+{{ form_start(form) }}
+
+ {{ form_row(form.label) }}
+ {{ form_row(form.price) }}
+ {{ form_row(form.dateFrom) }}
+ {{ form_row(form.dateTo) }}
+
+
+{{ form_rest(form) }}
+{{ form_end(form) }}
diff --git a/templates/admin/board_service/create.html.twig b/templates/admin/board_service/create.html.twig
new file mode 100644
index 00000000..1f13fec1
--- /dev/null
+++ b/templates/admin/board_service/create.html.twig
@@ -0,0 +1,6 @@
+{% extends 'layout_admin.html.twig' %}
+
+{% block content %}
+ Verpflegungsleistung neu für Gruppenhaus {{ accommodation.name }}
+ {% include 'admin/board_service/_form.html.twig' %}
+{% endblock %}
diff --git a/templates/admin/board_service/edit.html.twig b/templates/admin/board_service/edit.html.twig
new file mode 100644
index 00000000..ce95848e
--- /dev/null
+++ b/templates/admin/board_service/edit.html.twig
@@ -0,0 +1,6 @@
+{% extends 'layout_admin.html.twig' %}
+
+{% block content %}
+ Verpflegungsleistung für Gruppenhaus {{ accommodation.name }}{% if duplicate %} duplizieren{% endif %}
+ {% include 'admin/board_service/_form.html.twig' %}
+{% endblock %}
diff --git a/templates/admin/board_service/modal_delete.html.twig b/templates/admin/board_service/modal_delete.html.twig
new file mode 100644
index 00000000..7da5ad04
--- /dev/null
+++ b/templates/admin/board_service/modal_delete.html.twig
@@ -0,0 +1,7 @@
+{% extends 'htmx_confirmation_modal.html.twig' %}
+
+{% block content %}
+
+ Möchtest du die Verpflegungsleistung {{ boardService.label }}, {{ accommodation.name }} wirklich löschen?
+
+{% endblock %}
diff --git a/templates/admin/booking_edit_draft/index.html.twig b/templates/admin/booking_edit_draft/index.html.twig
index b294ba58..6ff0270f 100644
--- a/templates/admin/booking_edit_draft/index.html.twig
+++ b/templates/admin/booking_edit_draft/index.html.twig
@@ -1,9 +1,7 @@
{% extends 'layout_admin.html.twig' %}
{% block content %}
-
- Buchungsentwürfe
-
+ Buchungsentwürfe
@@ -44,32 +42,17 @@
{% endif %}
|
- {% embed '_partials/_dropdown.html.twig' %}
- {% block content %}
-
- Details
-
-
- XLS-Export
-
-
- {% endblock %}
- {% endembed %}
-
+
+
+ Details
+
+
+ XLS-Export
+
+
+ löschen
+
+
|
{% else %}
diff --git a/templates/admin/booking_edit_draft/show.html.twig b/templates/admin/booking_edit_draft/show.html.twig
index 7181cfdc..4ca9df5a 100644
--- a/templates/admin/booking_edit_draft/show.html.twig
+++ b/templates/admin/booking_edit_draft/show.html.twig
@@ -1,9 +1,7 @@
{% extends 'layout_admin.html.twig' %}
{% block content %}
-
- Buchungsentwurf
-
+ Buchungsentwurf
Vorgang {{ draft.bookingNumber }}
diff --git a/templates/admin/log/index.html.twig b/templates/admin/log/index.html.twig
index ad6a91b3..d81698ac 100644
--- a/templates/admin/log/index.html.twig
+++ b/templates/admin/log/index.html.twig
@@ -1,9 +1,7 @@
{% extends 'layout_admin.html.twig' %}
{% block content %}
-
- Logs
-
+ Logs
@@ -53,16 +51,11 @@
|
{% if entry.channel == 'bpn' %}
- {% embed '_partials/_dropdown.html.twig' %}
- {% block content %}
-
+
+
XML-Dumps
-
- {% endblock %}
- {% endembed %}
+
+
{% endif %}
|
diff --git a/templates/admin/log/xml_dumps.html.twig b/templates/admin/log/xml_dumps.html.twig
index ff13a3e1..7b181c3b 100644
--- a/templates/admin/log/xml_dumps.html.twig
+++ b/templates/admin/log/xml_dumps.html.twig
@@ -1,9 +1,7 @@
{% extends 'layout_admin.html.twig' %}
{% block content %}
-
- XML-Dumps für Request ID {{ logEntry.requestId }}
-
+ XML-Dumps für Request ID {{ logEntry.requestId }}
{% if dumps is empty %}
@@ -37,9 +35,9 @@
{% if dump.type == 'request' %}
- Request
+ Request
{% else %}
- Response
+ Response
{% endif %}
|
diff --git a/templates/admin/user/index.html.twig b/templates/admin/user/index.html.twig
index d5b1d41f..c4178cf1 100644
--- a/templates/admin/user/index.html.twig
+++ b/templates/admin/user/index.html.twig
@@ -1,9 +1,7 @@
{% extends 'layout_admin.html.twig' %}
{% block content %}
-
- Benutzeraccounts
-
+ Benutzeraccounts
diff --git a/templates/base_admin.html.twig b/templates/base_admin.html.twig
index a22f9279..eda8abd5 100644
--- a/templates/base_admin.html.twig
+++ b/templates/base_admin.html.twig
@@ -9,10 +9,10 @@
{% block stylesheets %}
- {{ encore_entry_link_tags('app') }}
+ {{ encore_entry_link_tags('admin') }}
{% endblock %}
{% block javascripts %}
- {{ encore_entry_script_tags('app') }}
+ {{ encore_entry_script_tags('admin') }}
{% endblock %}
diff --git a/templates/components/badge.html.twig b/templates/components/badge.html.twig
new file mode 100644
index 00000000..a5b5a49c
--- /dev/null
+++ b/templates/components/badge.html.twig
@@ -0,0 +1,11 @@
+{% set variant = variant ?? 'primary' %}
+{% set cva = html_cva('badge', {
+ variant: {
+ primary: 'bg-primary text-white',
+ success: 'bg-green-500 text-white',
+ warning: 'bg-red-500 text-white',
+ }
+}, [], { variant: 'primary' }) %}
+
+ {{ block('content') }}
+
diff --git a/templates/components/dropdown/hxbutton.html.twig b/templates/components/dropdown/hxbutton.html.twig
new file mode 100644
index 00000000..442a9cba
--- /dev/null
+++ b/templates/components/dropdown/hxbutton.html.twig
@@ -0,0 +1,20 @@
+{% set warning = warning ?? false %}
+{% set method = method ?? 'get' %}
+
diff --git a/templates/_partials/_dropdown.html.twig b/templates/components/dropdown/index.html.twig
similarity index 50%
rename from templates/_partials/_dropdown.html.twig
rename to templates/components/dropdown/index.html.twig
index d4abf096..39d53223 100644
--- a/templates/_partials/_dropdown.html.twig
+++ b/templates/components/dropdown/index.html.twig
@@ -1,9 +1,16 @@
-
- |