fix: pass logger explicitly to BookingCreateTrait::handleApiError
This commit is contained in:
@@ -80,6 +80,7 @@ class Step3Controller extends AbstractController
|
|||||||
|
|
||||||
if ($inquiryResponse instanceof Notification) {
|
if ($inquiryResponse instanceof Notification) {
|
||||||
$this->handleApiError(
|
$this->handleApiError(
|
||||||
|
$this->logger,
|
||||||
'Booking inquiry failed',
|
'Booking inquiry failed',
|
||||||
['message' => $inquiryResponse->message],
|
['message' => $inquiryResponse->message],
|
||||||
$inquiryResponse->message ?? 'Ein Fehler ist aufgetreten. Bitte versuche es erneut oder wende dich an den Kundenservice.',
|
$inquiryResponse->message ?? 'Ein Fehler ist aufgetreten. Bitte versuche es erneut oder wende dich an den Kundenservice.',
|
||||||
@@ -113,6 +114,7 @@ class Step3Controller extends AbstractController
|
|||||||
}
|
}
|
||||||
|
|
||||||
$this->handleApiError(
|
$this->handleApiError(
|
||||||
|
$this->logger,
|
||||||
'Booking inquiry validation failed',
|
'Booking inquiry validation failed',
|
||||||
['status' => $inquiryResponse->status, 'message' => $inquiryResponse->message],
|
['status' => $inquiryResponse->status, 'message' => $inquiryResponse->message],
|
||||||
$errorMessage,
|
$errorMessage,
|
||||||
@@ -137,6 +139,7 @@ class Step3Controller extends AbstractController
|
|||||||
$deltaBreakdown = $diagnostics['deltaBreakdown'] ?? [];
|
$deltaBreakdown = $diagnostics['deltaBreakdown'] ?? [];
|
||||||
|
|
||||||
$this->handleApiError(
|
$this->handleApiError(
|
||||||
|
$this->logger,
|
||||||
'Price mismatch detected - payload incomplete',
|
'Price mismatch detected - payload incomplete',
|
||||||
[
|
[
|
||||||
'apiTotal' => $apiTotal,
|
'apiTotal' => $apiTotal,
|
||||||
@@ -168,6 +171,7 @@ class Step3Controller extends AbstractController
|
|||||||
return $this->redirectToRoute('app_booking_create_step_4');
|
return $this->redirectToRoute('app_booking_create_step_4');
|
||||||
} catch (TimeoutException $e) {
|
} catch (TimeoutException $e) {
|
||||||
$this->handleApiError(
|
$this->handleApiError(
|
||||||
|
$this->logger,
|
||||||
'Booking inquiry timeout',
|
'Booking inquiry timeout',
|
||||||
[
|
[
|
||||||
'exception' => $e->getMessage(),
|
'exception' => $e->getMessage(),
|
||||||
@@ -177,6 +181,7 @@ class Step3Controller extends AbstractController
|
|||||||
);
|
);
|
||||||
} catch (\Exception $e) {
|
} catch (\Exception $e) {
|
||||||
$this->handleApiError(
|
$this->handleApiError(
|
||||||
|
$this->logger,
|
||||||
'Booking inquiry exception',
|
'Booking inquiry exception',
|
||||||
[
|
[
|
||||||
'exception' => $e->getMessage(),
|
'exception' => $e->getMessage(),
|
||||||
|
|||||||
@@ -93,6 +93,7 @@ class Step4Controller extends AbstractController
|
|||||||
|
|
||||||
if ($bookingResponse instanceof Notification) {
|
if ($bookingResponse instanceof Notification) {
|
||||||
$this->handleApiError(
|
$this->handleApiError(
|
||||||
|
$this->logger,
|
||||||
'Booking creation failed - API notification',
|
'Booking creation failed - API notification',
|
||||||
['message' => $bookingResponse->message],
|
['message' => $bookingResponse->message],
|
||||||
$bookingResponse->message ?? 'Ein Fehler ist aufgetreten. Bitte versuchen es erneut.',
|
$bookingResponse->message ?? 'Ein Fehler ist aufgetreten. Bitte versuchen es erneut.',
|
||||||
@@ -108,6 +109,7 @@ class Step4Controller extends AbstractController
|
|||||||
}
|
}
|
||||||
|
|
||||||
$this->handleApiError(
|
$this->handleApiError(
|
||||||
|
$this->logger,
|
||||||
'Booking creation unsuccessful',
|
'Booking creation unsuccessful',
|
||||||
['status' => $bookingResponse->status, 'message' => $bookingResponse->message],
|
['status' => $bookingResponse->status, 'message' => $bookingResponse->message],
|
||||||
$errorMessage,
|
$errorMessage,
|
||||||
@@ -148,6 +150,7 @@ class Step4Controller extends AbstractController
|
|||||||
return $this->redirectToRoute('app_booking_create_success');
|
return $this->redirectToRoute('app_booking_create_success');
|
||||||
} catch (TimeoutException $e) {
|
} catch (TimeoutException $e) {
|
||||||
$this->handleApiError(
|
$this->handleApiError(
|
||||||
|
$this->logger,
|
||||||
'Booking creation timeout',
|
'Booking creation timeout',
|
||||||
[
|
[
|
||||||
'exception' => $e->getMessage(),
|
'exception' => $e->getMessage(),
|
||||||
@@ -157,6 +160,7 @@ class Step4Controller extends AbstractController
|
|||||||
);
|
);
|
||||||
} catch (\Exception $e) {
|
} catch (\Exception $e) {
|
||||||
$this->handleApiError(
|
$this->handleApiError(
|
||||||
|
$this->logger,
|
||||||
'Booking creation exception',
|
'Booking creation exception',
|
||||||
[
|
[
|
||||||
'exception' => $e->getMessage(),
|
'exception' => $e->getMessage(),
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ declare(strict_types=1);
|
|||||||
namespace App\Controller\Booking\Traits;
|
namespace App\Controller\Booking\Traits;
|
||||||
|
|
||||||
use App\Form\Model\BookingDto;
|
use App\Form\Model\BookingDto;
|
||||||
|
use Psr\Log\LoggerInterface;
|
||||||
use Symfony\Component\HttpFoundation\RedirectResponse;
|
use Symfony\Component\HttpFoundation\RedirectResponse;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -52,11 +53,12 @@ trait BookingCreateTrait
|
|||||||
* Handles API errors by logging and adding a flash message.
|
* Handles API errors by logging and adding a flash message.
|
||||||
*/
|
*/
|
||||||
private function handleApiError(
|
private function handleApiError(
|
||||||
|
LoggerInterface $logger,
|
||||||
string $logMessage,
|
string $logMessage,
|
||||||
array $context,
|
array $context,
|
||||||
string $flashMessage,
|
string $flashMessage,
|
||||||
): void {
|
): void {
|
||||||
$this->logger->error($logMessage, $context);
|
$logger->error($logMessage, $context);
|
||||||
$this->addFlash('error', $flashMessage);
|
$this->addFlash('error', $flashMessage);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user