From 0f64f1d62c2ffc50568c311136c4c74f49007c9e Mon Sep 17 00:00:00 2001 From: johfeu Date: Mon, 2 Feb 2026 07:46:26 +0100 Subject: [PATCH 1/4] [BUGFIX] Fix backend PDF generation - Migrate DocumentController to cart-pdf v13 API (FileWriterService) Fixes 743 --- .../Backend/Order/DocumentController.php | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/Classes/Controller/Backend/Order/DocumentController.php b/Classes/Controller/Backend/Order/DocumentController.php index 3df52aa9..47e20471 100644 --- a/Classes/Controller/Backend/Order/DocumentController.php +++ b/Classes/Controller/Backend/Order/DocumentController.php @@ -17,6 +17,7 @@ use Extcode\Cart\Domain\Repository\Order\ItemRepository; use Extcode\Cart\Event\Order\NumberGeneratorEvent; use Extcode\CartPdf\Service\PdfService; +use Extcode\CartPdf\Service\FileWriterService; use Psr\Http\Message\ResponseInterface; use TYPO3\CMS\Core\Resource\File; use TYPO3\CMS\Core\Utility\ExtensionManagementUtility; @@ -94,12 +95,18 @@ public function downloadAction(Item $orderItem, string $pdfType): ResponseInterf protected function generatePdfDocument(Item $orderItem, string $pdfType): void { if (ExtensionManagementUtility::isLoaded('cart_pdf')) { - if (class_exists(PdfService::class)) { - $pdfService = GeneralUtility::makeInstance( + if (class_exists(PdfService::class) && class_exists(FileWriterService::class)) { + $documentRenderService = GeneralUtility::makeInstance( PdfService::class ); - - $pdfService->createPdf($orderItem, $pdfType); + $fileWriterService = GeneralUtility::makeInstance( + FileWriterService::class + ); + $fileWriterService->writeContentToFile( + $orderItem, + $pdfType, + $documentRenderService->renderDocument($orderItem, $pdfType) + ); } } } From 57d742e6055508b43c94cf5d06ddf17d4ce0c882 Mon Sep 17 00:00:00 2001 From: johfeu Date: Mon, 2 Feb 2026 08:07:22 +0100 Subject: [PATCH 2/4] [TASK] apply rector and code style rules --- .../Backend/Order/DocumentController.php | 33 +++++++++---------- 1 file changed, 15 insertions(+), 18 deletions(-) diff --git a/Classes/Controller/Backend/Order/DocumentController.php b/Classes/Controller/Backend/Order/DocumentController.php index 47e20471..cc6246cd 100644 --- a/Classes/Controller/Backend/Order/DocumentController.php +++ b/Classes/Controller/Backend/Order/DocumentController.php @@ -1,7 +1,6 @@ writeContentToFile( - $orderItem, - $pdfType, - $documentRenderService->renderDocument($orderItem, $pdfType) - ); - } + if (ExtensionManagementUtility::isLoaded('cart_pdf') && (class_exists(PdfService::class) && class_exists(FileWriterService::class))) { + $documentRenderService = GeneralUtility::makeInstance( + PdfService::class + ); + $fileWriterService = GeneralUtility::makeInstance( + FileWriterService::class + ); + $fileWriterService->writeContentToFile( + $orderItem, + $pdfType, + $documentRenderService->renderDocument($orderItem, $pdfType) + ); } } } From 7b1989d74dd06812ccf25bc60d0547f66eff6403 Mon Sep 17 00:00:00 2001 From: Johannes Feustel Date: Mon, 2 Feb 2026 08:16:26 +0100 Subject: [PATCH 3/4] [TASK] apply code style rules --- Classes/Controller/Backend/Order/DocumentController.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Classes/Controller/Backend/Order/DocumentController.php b/Classes/Controller/Backend/Order/DocumentController.php index cc6246cd..74041c33 100644 --- a/Classes/Controller/Backend/Order/DocumentController.php +++ b/Classes/Controller/Backend/Order/DocumentController.php @@ -1,6 +1,7 @@ Date: Mon, 2 Feb 2026 08:17:49 +0100 Subject: [PATCH 4/4] keep old variable name --- Classes/Controller/Backend/Order/DocumentController.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Classes/Controller/Backend/Order/DocumentController.php b/Classes/Controller/Backend/Order/DocumentController.php index 74041c33..a5b47976 100644 --- a/Classes/Controller/Backend/Order/DocumentController.php +++ b/Classes/Controller/Backend/Order/DocumentController.php @@ -94,7 +94,7 @@ public function downloadAction(Item $orderItem, string $pdfType): ResponseInterf protected function generatePdfDocument(Item $orderItem, string $pdfType): void { if (ExtensionManagementUtility::isLoaded('cart_pdf') && (class_exists(PdfService::class) && class_exists(FileWriterService::class))) { - $documentRenderService = GeneralUtility::makeInstance( + $pdfService = GeneralUtility::makeInstance( PdfService::class ); $fileWriterService = GeneralUtility::makeInstance( @@ -103,7 +103,7 @@ protected function generatePdfDocument(Item $orderItem, string $pdfType): void $fileWriterService->writeContentToFile( $orderItem, $pdfType, - $documentRenderService->renderDocument($orderItem, $pdfType) + $pdfService->renderDocument($orderItem, $pdfType) ); } }