feat: groups price calculator admin crud, booking/offer flow and api

This commit is contained in:
Björn Fromme
2026-08-03 15:25:10 +02:00
parent eabed8295a
commit 9d2aa11fdb
258 changed files with 16231 additions and 582 deletions
+1
View File
@@ -19,4 +19,5 @@ return [
Flagception\Bundle\FlagceptionBundle\FlagceptionBundle::class => ['all' => true],
Knp\Bundle\MenuBundle\KnpMenuBundle::class => ['all' => true],
Knp\Bundle\PaginatorBundle\KnpPaginatorBundle::class => ['all' => true],
Symfony\UX\TwigComponent\TwigComponentBundle::class => ['all' => true],
];
+4 -2
View File
@@ -14,7 +14,10 @@ security:
users:
mailjet:
password: '%env(MAILJET_WEBHOOK_BASIC_PASSWORD)%'
roles: ['ROLE_MAILJET_WEBHOOK']
roles: [ ROLE_MAILJET_WEBHOOK ]
role_hierarchy:
ROLE_ADMIN: [ ROLE_GROUPS_ADMIN ]
ROLE_GROUPS_ADMIN: [ ROLE_GROUPS_MANAGER ]
firewalls:
dev:
pattern: ^/(_(profiler|wdt)|css|images|js)/
@@ -49,7 +52,6 @@ security:
access_control:
- { path: ^/webhooks/mailjet/newsletter$, roles: ROLE_MAILJET_WEBHOOK, requires_channel: https }
- { path: ^/authorize, roles: IS_AUTHENTICATED_REMEMBERED, requires_channel: https }
- { path: ^/admin, roles: ROLE_ADMIN, requires_channel: https }
- { path: ^/, roles: PUBLIC_ACCESS, requires_channel: https }
when@test:
+5
View File
@@ -0,0 +1,5 @@
twig_component:
anonymous_template_directory: 'components/'
defaults:
# Namespace & directory for components
App\Twig\Components\: 'components/'
+36
View File
@@ -13,6 +13,7 @@ parameters:
travel_snapshot_retention_buffer_days: '%env(int:APP_TRAVEL_SNAPSHOT_RETENTION_BUFFER_DAYS)%'
default_email_from: '%env(APP_DEFAULT_EMAIL_FROM)%'
default_email_to: '%env(APP_DEFAULT_EMAIL_TO)%'
accommodation_inquiry_email: '%env(ACCOMMODATION_INQUIRY_EMAIL)%'
# MailJet list ids and their labels
mailjet_lists:
@@ -43,6 +44,10 @@ parameters:
shoe_size_min: 35
shoe_size_max: 50
# Season data
season_winter_from: '%env(APP_SEASON_WINTER_FROM)%'
season_summer_from: '%env(APP_SEASON_SUMMER_FROM)%'
# domain mapping for theme, gtm id and cmp url
domain_config:
ep-reisen.de:
@@ -116,6 +121,14 @@ services:
method: createMainMenu
alias: admin_main
App\Menu\GroupsMenuBuilder:
arguments:
$factory: '@knp_menu.factory'
tags:
- name: knp_menu.menu_builder
method: createMainMenu
alias: groups_main
App\Service\BpnXmlSyncManager:
arguments:
$xmlSource: '@xml_source.storage'
@@ -250,10 +263,33 @@ services:
from: '%default_email_from%'
to: '%default_email_to%'
App\Service\AccommodationBookingService:
arguments:
$officeEmail: '%accommodation_inquiry_email%'
App\Service\GroupsPriceCalculator:
arguments:
$config:
runningCostsEur: '%env(float:APP_RUNNING_COSTS_FACTOR_EUR)%'
runningCostsChf: '%env(float:APP_RUNNING_COSTS_FACTOR_CHF)%'
undersubscription30Eur: '%env(float:APP_UNDERSUBSCRIPTION_SURCHARGE_30_EUR)%'
undersubscription30Chf: '%env(float:APP_UNDERSUBSCRIPTION_SURCHARGE_30_CHF)%'
undersubscription40Eur: '%env(float:APP_UNDERSUBSCRIPTION_SURCHARGE_40_EUR)%'
undersubscription40Chf: '%env(float:APP_UNDERSUBSCRIPTION_SURCHARGE_40_CHF)%'
App\Validator\Constraints\ParticipantValidator:
arguments:
$bodyDimensionRanges: '%body_dimension_ranges%'
App\BpnConnect\AbstractApiClient:
abstract: true
arguments:
$baseUrl: '%env(default::BPN_CONNECT_BASE_URL)%'
$apiKey: '%env(default::BPN_CONNECT_API_KEY)%'
App\BpnConnect\ContingentsClient:
parent: App\BpnConnect\AbstractApiClient
App\Service\MailjetApiClient:
arguments:
$apiKey: '%env(default::MAILJET_API_KEY)%'