fix: simplify trait to address incorrect arguments
This commit is contained in:
@@ -76,13 +76,13 @@ class Step3Controller extends AbstractController
|
||||
$inquiryResponse = $this->apiClient->createBookingInquiry($bookingCreateDto);
|
||||
|
||||
if ($inquiryResponse instanceof Notification) {
|
||||
return $this->handleApiError(
|
||||
$this->handleApiError(
|
||||
'Booking inquiry failed',
|
||||
['message' => $inquiryResponse->message],
|
||||
$inquiryResponse->message ?? 'Ein Fehler ist aufgetreten. Bitte versuche es erneut oder wende dich an den Kundenservice.',
|
||||
$bookingCreateDto,
|
||||
$form
|
||||
);
|
||||
|
||||
return $this->renderStepForm($bookingCreateDto, $form);
|
||||
}
|
||||
|
||||
if (false === $inquiryResponse->isInquiryValid()) {
|
||||
@@ -109,13 +109,13 @@ class Step3Controller extends AbstractController
|
||||
$errorMessage .= ' '.$inquiryResponse->message;
|
||||
}
|
||||
|
||||
return $this->handleApiError(
|
||||
$this->handleApiError(
|
||||
'Booking inquiry validation failed',
|
||||
['status' => $inquiryResponse->status, 'message' => $inquiryResponse->message],
|
||||
$errorMessage,
|
||||
$bookingCreateDto,
|
||||
$form
|
||||
);
|
||||
|
||||
return $this->renderStepForm($bookingCreateDto, $form);
|
||||
}
|
||||
|
||||
// Validate price match (rounded to cent precision to avoid floating-point errors)
|
||||
@@ -133,7 +133,7 @@ class Step3Controller extends AbstractController
|
||||
$diagnostics = $this->priceMismatchDiagnostics->buildDiagnostics($bookingCreateDto, $inquiryResponse);
|
||||
$deltaBreakdown = $diagnostics['deltaBreakdown'] ?? [];
|
||||
|
||||
return $this->handleApiError(
|
||||
$this->handleApiError(
|
||||
'Price mismatch detected - payload incomplete',
|
||||
[
|
||||
'apiTotal' => $apiTotal,
|
||||
@@ -149,9 +149,9 @@ class Step3Controller extends AbstractController
|
||||
'diagnostics' => $diagnostics,
|
||||
],
|
||||
'Preisabweichung festgestellt. Bitte wende dich an den Kundenservice.',
|
||||
$bookingCreateDto,
|
||||
$form
|
||||
);
|
||||
|
||||
return $this->renderStepForm($bookingCreateDto, $form);
|
||||
}
|
||||
|
||||
// Validation successful - proceed to confirmation step
|
||||
@@ -164,28 +164,26 @@ class Step3Controller extends AbstractController
|
||||
|
||||
return $this->redirectToRoute('app_booking_create_step_4');
|
||||
} catch (TimeoutException $e) {
|
||||
return $this->handleApiError(
|
||||
$this->handleApiError(
|
||||
'Booking inquiry timeout',
|
||||
[
|
||||
'exception' => $e->getMessage(),
|
||||
'trace' => $e->getTraceAsString(),
|
||||
],
|
||||
'Die Anfrage hat zu lange gedauert. Bitte versuche es erneut oder wende dich an den Kundenservice.',
|
||||
$bookingCreateDto,
|
||||
$form
|
||||
);
|
||||
} catch (\Exception $e) {
|
||||
return $this->handleApiError(
|
||||
$this->handleApiError(
|
||||
'Booking inquiry exception',
|
||||
[
|
||||
'exception' => $e->getMessage(),
|
||||
'trace' => $e->getTraceAsString(),
|
||||
],
|
||||
'Ein allgemeiner Fehler ist aufgetreten. Bitte wende dich an den Kundenservice.',
|
||||
$bookingCreateDto,
|
||||
$form
|
||||
);
|
||||
}
|
||||
|
||||
return $this->renderStepForm($bookingCreateDto, $form);
|
||||
}
|
||||
|
||||
return $this->renderStepForm($bookingCreateDto, $form);
|
||||
|
||||
@@ -92,13 +92,13 @@ class Step4Controller extends AbstractController
|
||||
$bookingResponse = $this->apiClient->createBooking($bookingCreateDto);
|
||||
|
||||
if ($bookingResponse instanceof Notification) {
|
||||
return $this->handleApiError(
|
||||
$this->handleApiError(
|
||||
'Booking creation failed - API notification',
|
||||
['message' => $bookingResponse->message],
|
||||
$bookingResponse->message ?? 'Ein Fehler ist aufgetreten. Bitte versuchen es erneut.',
|
||||
$bookingCreateDto,
|
||||
$form
|
||||
);
|
||||
|
||||
return $this->renderStepForm($bookingCreateDto, $form, $newsletterOptInVisible, $newsletterTargetEmail);
|
||||
}
|
||||
|
||||
if (false === $bookingResponse->isBookingSuccessful()) {
|
||||
@@ -107,13 +107,13 @@ class Step4Controller extends AbstractController
|
||||
$errorMessage .= ' '.$bookingResponse->message;
|
||||
}
|
||||
|
||||
return $this->handleApiError(
|
||||
$this->handleApiError(
|
||||
'Booking creation unsuccessful',
|
||||
['status' => $bookingResponse->status, 'message' => $bookingResponse->message],
|
||||
$errorMessage,
|
||||
$bookingCreateDto,
|
||||
$form
|
||||
);
|
||||
|
||||
return $this->renderStepForm($bookingCreateDto, $form, $newsletterOptInVisible, $newsletterTargetEmail);
|
||||
}
|
||||
|
||||
$newsletterOptInSelected = $newsletterOptInVisible
|
||||
@@ -147,26 +147,22 @@ class Step4Controller extends AbstractController
|
||||
|
||||
return $this->redirectToRoute('app_booking_create_success');
|
||||
} catch (TimeoutException $e) {
|
||||
return $this->handleApiError(
|
||||
$this->handleApiError(
|
||||
'Booking creation timeout',
|
||||
[
|
||||
'exception' => $e->getMessage(),
|
||||
'trace' => $e->getTraceAsString(),
|
||||
],
|
||||
'Die Anfrage hat zu lange gedauert. Bitte versuche es erneut.',
|
||||
$bookingCreateDto,
|
||||
$form
|
||||
);
|
||||
} catch (\Exception $e) {
|
||||
return $this->handleApiError(
|
||||
$this->handleApiError(
|
||||
'Booking creation exception',
|
||||
[
|
||||
'exception' => $e->getMessage(),
|
||||
'trace' => $e->getTraceAsString(),
|
||||
],
|
||||
'Ein technischer Fehler ist aufgetreten.',
|
||||
$bookingCreateDto,
|
||||
$form
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,9 +5,7 @@ declare(strict_types=1);
|
||||
namespace App\Controller\Booking\Traits;
|
||||
|
||||
use App\Form\Model\BookingDto;
|
||||
use Symfony\Component\Form\FormInterface;
|
||||
use Symfony\Component\HttpFoundation\RedirectResponse;
|
||||
use Symfony\Component\HttpFoundation\Response;
|
||||
|
||||
/**
|
||||
* Provides common functionality for booking creation controllers.
|
||||
@@ -82,18 +80,14 @@ trait BookingCreateTrait
|
||||
}
|
||||
|
||||
/**
|
||||
* Handles API errors by logging, adding flash message, and rendering the form.
|
||||
* Handles API errors by logging and adding a flash message.
|
||||
*/
|
||||
private function handleApiError(
|
||||
string $logMessage,
|
||||
array $context,
|
||||
string $flashMessage,
|
||||
BookingDto $bookingCreateDto,
|
||||
FormInterface $form,
|
||||
): Response {
|
||||
): void {
|
||||
$this->logger->error($logMessage, $context);
|
||||
$this->addFlash('error', $flashMessage);
|
||||
|
||||
return $this->renderStepForm($bookingCreateDto, $form);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user