Reduction of amount for siblings implemented

This commit is contained in:
2026-04-25 22:31:38 +02:00
parent 8348f677a5
commit 21be212129
11 changed files with 68 additions and 8 deletions

View File

@@ -87,7 +87,8 @@ class DetailsController extends CommonController {
'amount_solidarity' => null !== $request->input('pft_1_amount_solidarity') ? Amount::fromString($request->input('pft_1_amount_solidarity')) : null
];
$participationFeeRequest = new SetParticipationFeesRequest($event, $participationFeeFirst);
$siblingReduction = $request->input('sibling_reduction') ?? false;
$participationFeeRequest = new SetParticipationFeesRequest($event, $participationFeeFirst, $siblingReduction);
if ($request->input('pft_2_active')) {
$participationFeeRequest->participationFeeSecond = [

View File

@@ -70,6 +70,8 @@ class SignupController extends CommonController {
$event = $this->events->getById($eventId, false);
$eventResource = $event->toResource();
$registrationData = $request->input('registration_data');
$siblingReduction = $registrationData['sibling'] === 'true';
$arrival = \DateTime::createFromFormat('Y-m-d', $registrationData['arrival']);
$departure = \DateTime::createFromFormat('Y-m-d', $registrationData['departure']);
@@ -81,16 +83,17 @@ class SignupController extends CommonController {
$registrationData['nachname'],
$registrationData['email_1'],
DateTime::createFromFormat('Y-m-d', $registrationData['geburtsdatum']));
/*
if ($doubleCheckEventRegistrationProvider->isRegistered()) {
return response()->json(['status' => 'exists']);
}*/
}
$amount = $eventResource->calculateAmount(
$registrationData['participationType'],
$registrationData['beitrag'],
$arrival,
$departure
$departure,
$siblingReduction
);
$signupRequest = new SignUpRequest(
@@ -164,12 +167,15 @@ class SignupController extends CommonController {
public function calculateAmount(int $eventId, Request $request, bool $forDisplay = true) : JsonResponse | float {
$event = $this->events->getById($eventId, false)->toResource();
$siblingReduction = $request->input('sibling') === 'true';
return response()->json(['amount' =>
$event->calculateAmount(
$request->input('participationType'),
$request->input('beitrag'),
\DateTime::createFromFormat('Y-m-d', $request->input('arrival')),
\DateTime::createFromFormat('Y-m-d', $request->input('departure'))
\DateTime::createFromFormat('Y-m-d', $request->input('departure')),
$siblingReduction
)->toString()
]);
}