diff --git a/src/Form/Model/AcceptedVouchersDto.php b/src/Form/Model/AcceptedVouchersDto.php index 9f0b8a9..119b062 100644 --- a/src/Form/Model/AcceptedVouchersDto.php +++ b/src/Form/Model/AcceptedVouchersDto.php @@ -33,8 +33,6 @@ class AcceptedVouchersDto /** * @return array - * - * @deprecated No known usages outside tests */ public function getPromotionalVouchers(): array { @@ -43,8 +41,6 @@ class AcceptedVouchersDto /** * @return array - * - * @deprecated No known usages outside tests */ public function getPurchaseVouchers(): array { @@ -53,8 +49,6 @@ class AcceptedVouchersDto /** * @return array - * - * @deprecated No known usages outside tests */ public function getGoodwillVouchers(): array { @@ -71,9 +65,6 @@ class AcceptedVouchersDto return count($this->vouchers) > 0; } - /** - * @deprecated No known usages - */ public function count(): int { return count($this->vouchers); diff --git a/src/Form/Model/BankAccountDto.php b/src/Form/Model/BankAccountDto.php index d5b8b55..c2a6285 100644 --- a/src/Form/Model/BankAccountDto.php +++ b/src/Form/Model/BankAccountDto.php @@ -44,34 +44,4 @@ class BankAccountDto return $instance; } - - /** - * Returns IBAN formatted with spaces for display (e.g., DE12 3456 7890 1234 5678 90). - * - * @deprecated No known usages - */ - public function getFormattedIban(): ?string - { - if (null === $this->iban) { - return null; - } - - $cleanIban = $this->getIbanWithoutSpaces(); - - return chunk_split($cleanIban, 4, ' '); - } - - /** - * Returns IBAN without spaces for storage and API submission. - * - * @deprecated Only used by getFormattedIban() which is also deprecated - */ - public function getIbanWithoutSpaces(): ?string - { - if (null === $this->iban) { - return null; - } - - return (string) preg_replace('/\s+/', '', $this->iban); - } } diff --git a/src/Form/Model/BookingDto.php b/src/Form/Model/BookingDto.php index a0f844e..be94a46 100644 --- a/src/Form/Model/BookingDto.php +++ b/src/Form/Model/BookingDto.php @@ -155,14 +155,6 @@ class BookingDto return $this->participants; } - /** - * @deprecated Use getParticipant() and check for null instead - */ - public function hasParticipant(int $index): bool - { - return isset($this->participants[$index]); - } - public function getParticipant(int $index): ?ParticipantDto { return $this->participants[$index] ?? null; @@ -199,48 +191,6 @@ class BookingDto return ($adults >= 1 && $adults <= 2) && ($children >= 1); } - /** - * @deprecated Use ParticipantDto::isCanceled() instead - */ - public function isCanceled(): bool - { - return null !== $this->booking && 'S' === $this->booking->status; - } - - /** - * @deprecated Use ParticipantDto::isOption() instead - */ - public function isOption(): bool - { - return null !== $this->booking && 'O' === $this->booking->status; - } - - /** - * Gets the label of the single selected room type. - * - * Returns the room label when exactly one room type is selected (auto-assignment scenario). - * Used by templates to display the room assignment when the dropdown is hidden. - * - * @return string|null The room label or null if not a single room type scenario - * - * @deprecated No known usages - */ - public function getSingleRoomLabel(): ?string - { - $selectedRooms = $this->getSelectedRooms(); - - // Only return label when exactly one room type selected - if (1 !== count($selectedRooms)) { - return null; - } - - $roomSelection = reset($selectedRooms); - $availableRooms = $this->travel->getAvailableRooms(); - $room = $availableRooms[$roomSelection->roomId] ?? null; - - return $room?->label; - } - #[Assert\Callback] public function validateBankAccount(ExecutionContextInterface $context): void { @@ -285,27 +235,6 @@ class BookingDto return 'A' === $this->bookingStatus; } - /** - * Checks if any participants have entered voucher codes. - * - * @return bool True if any promotional, purchase, or goodwill vouchers are present - * - * @deprecated Use AcceptedVouchersDto::hasVouchers() instead - */ - public function hasVouchers(): bool - { - foreach ($this->participants as $participant) { - if (null !== $participant->promoVoucherCode && '' !== trim($participant->promoVoucherCode)) { - return true; - } - if (null !== $participant->purchaseVoucherCode && '' !== trim($participant->purchaseVoucherCode)) { - return true; - } - } - - return false; - } - /** * Checks if any participants have entered goodwill vouchers. * diff --git a/src/Form/Model/ParticipantDto.php b/src/Form/Model/ParticipantDto.php index deb8d5c..8ee3c91 100644 --- a/src/Form/Model/ParticipantDto.php +++ b/src/Form/Model/ParticipantDto.php @@ -208,7 +208,7 @@ class ParticipantDto } /** - * @deprecated No known usages + * Checks if participant status is 'Option' (O). */ public function isOption(): bool { @@ -238,10 +238,6 @@ class ParticipantDto /** * Checks if the participant has selected an insurance. - * - * @return bool True if an insurance is selected - * - * @deprecated No known usages outside tests */ public function hasInsuranceSelected(): bool { @@ -250,10 +246,6 @@ class ParticipantDto /** * Gets the insurance label for display purposes. - * - * @return string|null The insurance label or null if no insurance selected - * - * @deprecated No known usages outside tests */ public function getInsuranceLabel(): ?string { @@ -262,10 +254,6 @@ class ParticipantDto /** * Gets the insurance price for pricing calculations. - * - * @return float The insurance price (0.0 if no insurance selected) - * - * @deprecated No known usages outside tests */ public function getInsurancePrice(): float { diff --git a/src/Htmx/HxRedirectResponse.php b/src/Htmx/HxRedirectResponse.php deleted file mode 100644 index 1570ced..0000000 --- a/src/Htmx/HxRedirectResponse.php +++ /dev/null @@ -1,32 +0,0 @@ - $url, - ]; - - if (null !== $retarget) { - $headers['HX-Retarget'] = $retarget; - } - - return parent::__construct(null, Response::HTTP_OK, $headers); - } -} diff --git a/src/Htmx/HxRefreshResponse.php b/src/Htmx/HxRefreshResponse.php deleted file mode 100644 index 8697029..0000000 --- a/src/Htmx/HxRefreshResponse.php +++ /dev/null @@ -1,21 +0,0 @@ - 'true']); - } -} diff --git a/src/Htmx/HxStopPollingResponse.php b/src/Htmx/HxStopPollingResponse.php deleted file mode 100644 index 83a78b1..0000000 --- a/src/Htmx/HxStopPollingResponse.php +++ /dev/null @@ -1,23 +0,0 @@ -headers->get('HX-Request'); - } - - /** - * Renders a template with HTMX-aware block selection. - * - * Renders either a specific template block or the full template based on - * whether the request is an HTMX request. When an HTMX request is detected - * and a block is specified, only that block is rendered. Otherwise, the - * full template is rendered. This enables efficient partial page updates - * for HTMX requests while maintaining full page rendering for regular requests. - * - * @param Request $request The current HTTP request - * @param string $template The template name to render - * @param array $parameters Template parameters to pass to the view - * @param string|null $block The specific block to render for HTMX requests - * - * @return Response The rendered response - */ - public function hxRender( - Request $request, - string $template, - array $parameters = [], - ?string $block = null, - ): Response { - if (null !== $block && true === $this->isHxRequest($request)) { - return $this->renderBlock($template, $block, $parameters); - } - - return $this->render($template, $parameters); - } - - /** - * Performs an HTMX-aware redirect. - * - * Returns an HTMX-specific redirect response when the request is an HTMX - * request, or a standard redirect response for regular HTTP requests. - * HTMX redirects are handled differently by the client, allowing for - * smoother user experiences in single-page application contexts. - * - * @param Request $request The current HTTP request - * @param string $url The URL to redirect to - * - * @return Response Either an HxRedirectResponse or RedirectResponse - */ - public function hxRedirect(Request $request, string $url): Response - { - if (true === $this->isHxRequest($request)) { - return new HxRedirectResponse($url); - } - - return new RedirectResponse($url); - } - - /** - * Renders multiple template blocks in a single response. - * - * Combines multiple template blocks into a single response content. This is - * useful for HTMX requests that need to update multiple parts of the page - * simultaneously. Each block in the array should contain 'template', 'block', - * and 'parameters' keys to define what to render. - * - * @param array $blocks Array of block definitions, each containing: - * - 'template': The template name - * - 'block': The block name to render - * - 'parameters': Template parameters - * - * @return Response Response containing all rendered blocks concatenated - */ - public function hxRenderBlocks(array $blocks): Response - { - $content = ''; - - foreach ($blocks as $block) { - $content .= $this->renderBlockView($block['template'], $block['block'], $block['parameters']); - } - - return new Response($content); - } - /** * Renders multiple Twig blocks for an HTMX Out-of-Band swap response. * diff --git a/src/Htmx/HxTriggerResponse.php b/src/Htmx/HxTriggerResponse.php deleted file mode 100644 index bc16095..0000000 --- a/src/Htmx/HxTriggerResponse.php +++ /dev/null @@ -1,31 +0,0 @@ - $trigger]; - - if (true === $disableSwap) { - $headers['HX-Reswap'] = 'none'; - } - - return parent::__construct($content, Response::HTTP_OK, $headers); - } -} diff --git a/tests/BusProNet/DataProcessor/BookingDataProcessorTest.php b/tests/BusProNet/DataProcessor/BookingDataProcessorTest.php index e90433d..484adc6 100644 --- a/tests/BusProNet/DataProcessor/BookingDataProcessorTest.php +++ b/tests/BusProNet/DataProcessor/BookingDataProcessorTest.php @@ -340,7 +340,7 @@ class BookingDataProcessorTest extends TestCase $formData = $this->createCompleteFormData(); $participant = $formData->participants[0]; - $participant->status = 'C'; // Inactive status + $participant->status = 'S'; // Canceled status $participant->firstName = 'Updated'; $participant->lastName = 'Participant';