8
0
Dieser Commit ist enthalten in:
Daniel Seifert 2025-01-21 10:57:38 +01:00
Ursprung 4e91c42910
Commit 875f8e2464
8 geänderte Dateien mit 45 neuen und 20 gelöschten Zeilen

Datei anzeigen

@ -11,6 +11,7 @@
namespace D3\PdfDocuments\Application\Controller; namespace D3\PdfDocuments\Application\Controller;
use D3\PdfDocuments\Application\Model\Exceptions\noPdfHandlerFoundException; use D3\PdfDocuments\Application\Model\Exceptions\noPdfHandlerFoundException;
use D3\PdfDocuments\Application\Model\Exceptions\wrongPdfGeneratorInterface;
use D3\PdfDocuments\Application\Model\Interfaces\pdfdocumentsOrderInterface; use D3\PdfDocuments\Application\Model\Interfaces\pdfdocumentsOrderInterface;
use D3\PdfDocuments\Application\Model\Registries\registryOrderoverview; use D3\PdfDocuments\Application\Model\Registries\registryOrderoverview;
use OxidEsales\Eshop\Application\Model\Order; use OxidEsales\Eshop\Application\Model\Order;
@ -22,6 +23,7 @@ class orderOverviewPdfGenerator
* @param Order $order * @param Order $order
* @param int $iSelLang * @param int $iSelLang
* @throws noPdfHandlerFoundException * @throws noPdfHandlerFoundException
* @throws wrongPdfGeneratorInterface
*/ */
public function generatePdf(Order $order, int $iSelLang = 0) public function generatePdf(Order $order, int $iSelLang = 0)
{ {
@ -34,6 +36,7 @@ class orderOverviewPdfGenerator
/** /**
* @return pdfdocumentsOrderInterface * @return pdfdocumentsOrderInterface
* @throws noPdfHandlerFoundException * @throws noPdfHandlerFoundException
* @throws wrongPdfGeneratorInterface
*/ */
public function getPdfClass() public function getPdfClass()
{ {

Datei anzeigen

@ -12,7 +12,6 @@ namespace D3\PdfDocuments\Application\Model\AbstractClasses;
use Assert\InvalidArgumentException; use Assert\InvalidArgumentException;
use D3\PdfDocuments\Application\Model\Constants; use D3\PdfDocuments\Application\Model\Constants;
use D3\PdfDocuments\Application\Model\Exceptions\pdfGeneratorExceptionAbstract;
use D3\PdfDocuments\Application\Model\Interfaces\pdfdocumentsGenericInterface as genericInterface; use D3\PdfDocuments\Application\Model\Interfaces\pdfdocumentsGenericInterface as genericInterface;
use OxidEsales\Eshop\Core\Base; use OxidEsales\Eshop\Core\Base;
use OxidEsales\Eshop\Core\Exception\StandardException; use OxidEsales\Eshop\Core\Exception\StandardException;
@ -20,10 +19,8 @@ use OxidEsales\Eshop\Core\Registry;
use OxidEsales\Eshop\Core\UtilsView; use OxidEsales\Eshop\Core\UtilsView;
use OxidEsales\EshopCommunity\Internal\Container\ContainerFactory; use OxidEsales\EshopCommunity\Internal\Container\ContainerFactory;
use OxidEsales\EshopCommunity\Internal\Framework\Module\Facade\ModuleSettingServiceInterface; use OxidEsales\EshopCommunity\Internal\Framework\Module\Facade\ModuleSettingServiceInterface;
use OxidEsales\EshopCommunity\Internal\Framework\Templating\TemplateEngineInterface;
use OxidEsales\EshopCommunity\Internal\Framework\Templating\TemplateRenderer; use OxidEsales\EshopCommunity\Internal\Framework\Templating\TemplateRenderer;
use OxidEsales\EshopCommunity\Internal\Framework\Templating\TemplateRendererBridgeInterface; use OxidEsales\EshopCommunity\Internal\Framework\Templating\TemplateRendererBridgeInterface;
use OxidEsales\Smarty\SmartyEngine;
use OxidEsales\Twig\Resolver\TemplateChain\TemplateNotInChainException; use OxidEsales\Twig\Resolver\TemplateChain\TemplateNotInChainException;
use Psr\Container\ContainerExceptionInterface; use Psr\Container\ContainerExceptionInterface;
use Psr\Container\NotFoundExceptionInterface; use Psr\Container\NotFoundExceptionInterface;
@ -57,11 +54,14 @@ abstract class pdfdocumentsGeneric extends Base implements genericInterface
} }
/** /**
* @param $sFilename * @param string $sFilename
* @param int $iSelLang * @param int $iSelLang
* @param string $target * @param string $target
*
* @return string|null * @return string|null
* @throws ContainerExceptionInterface
* @throws Html2PdfException * @throws Html2PdfException
* @throws NotFoundExceptionInterface
*/ */
public function genPdf($sFilename, $iSelLang = 0, $target = self::PDF_DESTINATION_STDOUT) public function genPdf($sFilename, $iSelLang = 0, $target = self::PDF_DESTINATION_STDOUT)
{ {
@ -80,6 +80,15 @@ abstract class pdfdocumentsGeneric extends Base implements genericInterface
* @param int $iLanguage * @param int $iLanguage
* @throws Html2PdfException * @throws Html2PdfException
*/ */
/**
* @param $iLanguage
*
* @return void
* @throws ContainerExceptionInterface
* @throws Html2PdfException
* @throws NotFoundExceptionInterface
*/
public function downloadPdf($iLanguage = 0) public function downloadPdf($iLanguage = 0)
{ {
try { try {
@ -88,17 +97,20 @@ abstract class pdfdocumentsGeneric extends Base implements genericInterface
$this->genPdf($sFilename, $iLanguage, self::PDF_DESTINATION_DOWNLOAD); $this->genPdf($sFilename, $iLanguage, self::PDF_DESTINATION_DOWNLOAD);
$this->runPostAction(); $this->runPostAction();
Registry::getUtils()->showMessageAndExit(''); Registry::getUtils()->showMessageAndExit('');
} catch (pdfGeneratorExceptionAbstract|InvalidArgumentException $e) { } catch (InvalidArgumentException $e) {
Registry::get(UtilsView::class)->addErrorToDisplay($e);
Registry::getLogger()->error($e); Registry::getLogger()->error($e);
Registry::get(UtilsView::class)->addErrorToDisplay($e);
} }
} }
/** /**
* @param string $path * @param string $path
* @param int $iLanguage * @param int $iLanguage
* *
* @return void
* @throws ContainerExceptionInterface
* @throws Html2PdfException * @throws Html2PdfException
* @throws NotFoundExceptionInterface
*/ */
public function savePdfFile($path, $iLanguage = 0) public function savePdfFile($path, $iLanguage = 0)
{ {
@ -111,7 +123,7 @@ abstract class pdfdocumentsGeneric extends Base implements genericInterface
self::PDF_DESTINATION_FILE self::PDF_DESTINATION_FILE
); );
$this->runPostAction(); $this->runPostAction();
} catch (pdfGeneratorExceptionAbstract|InvalidArgumentException $e) { } catch (InvalidArgumentException $e) {
Registry::get(UtilsView::class)->addErrorToDisplay($e); Registry::get(UtilsView::class)->addErrorToDisplay($e);
Registry::getLogger()->error($e); Registry::getLogger()->error($e);
} }
@ -120,8 +132,10 @@ abstract class pdfdocumentsGeneric extends Base implements genericInterface
/** /**
* @param int $iLanguage * @param int $iLanguage
* *
* @return null|string * @return string|null
* @throws ContainerExceptionInterface
* @throws Html2PdfException * @throws Html2PdfException
* @throws NotFoundExceptionInterface
*/ */
public function getPdfContent($iLanguage = 0) public function getPdfContent($iLanguage = 0)
{ {
@ -131,7 +145,7 @@ abstract class pdfdocumentsGeneric extends Base implements genericInterface
$ret = $this->genPdf( $sFilename, $iLanguage, self::PDF_DESTINATION_STRING ); $ret = $this->genPdf( $sFilename, $iLanguage, self::PDF_DESTINATION_STRING );
$this->runPostAction(); $this->runPostAction();
return $ret; return $ret;
} catch (pdfGeneratorExceptionAbstract|InvalidArgumentException $e) { } catch (InvalidArgumentException $e) {
Registry::get(UtilsView::class)->addErrorToDisplay($e); Registry::get(UtilsView::class)->addErrorToDisplay($e);
Registry::getLogger()->error($e); Registry::getLogger()->error($e);
} }
@ -139,9 +153,6 @@ abstract class pdfdocumentsGeneric extends Base implements genericInterface
return null; return null;
} }
/**
* @param int $iSelLang
*/
public function getTemplateEngineVars(int $iSelLang): array public function getTemplateEngineVars(int $iSelLang): array
{ {
unset($iSelLang); unset($iSelLang);

Datei anzeigen

@ -39,7 +39,8 @@ class invoicewithoutlogoPdf extends invoicePdf
/** /**
* @return string * @return string
*/ */
public function getTemplate(){ public function getTemplate()
{
return '@d3PdfDocuments/documents/invoice/invoiceNoLogo'; return '@d3PdfDocuments/documents/invoice/invoiceNoLogo';
} }
} }

Datei anzeigen

@ -28,6 +28,8 @@ abstract class registryAbstract implements registryGenericInterface
/** /**
* @param $className * @param $className
*
* @throws wrongPdfGeneratorInterface
*/ */
public function addGenerator($className) public function addGenerator($className)
{ {
@ -44,6 +46,7 @@ abstract class registryAbstract implements registryGenericInterface
/** /**
* @param $className * generator fully qualified class name * @param $className * generator fully qualified class name
* @param pdfdocumentsGenericInterface $item * @param pdfdocumentsGenericInterface $item
* @throws wrongPdfGeneratorInterface
*/ */
protected function addItem($className, pdfdocumentsGenericInterface $item) protected function addItem($className, pdfdocumentsGenericInterface $item)
{ {

Datei anzeigen

@ -14,10 +14,14 @@ use D3\PdfDocuments\Application\Model\Documents\deliverynotePdf;
use D3\PdfDocuments\Application\Model\Documents\deliverynotewithoutlogoPdf; use D3\PdfDocuments\Application\Model\Documents\deliverynotewithoutlogoPdf;
use D3\PdfDocuments\Application\Model\Documents\invoicePdf; use D3\PdfDocuments\Application\Model\Documents\invoicePdf;
use D3\PdfDocuments\Application\Model\Documents\invoicewithoutlogoPdf; use D3\PdfDocuments\Application\Model\Documents\invoicewithoutlogoPdf;
use D3\PdfDocuments\Application\Model\Exceptions\wrongPdfGeneratorInterface;
use D3\PdfDocuments\Application\Model\Interfaces\pdfdocumentsOrderInterface; use D3\PdfDocuments\Application\Model\Interfaces\pdfdocumentsOrderInterface;
class registryOrdermanagerActions extends registryAbstract implements registryOrdermanagerActionsInterface class registryOrdermanagerActions extends registryAbstract implements registryOrdermanagerActionsInterface
{ {
/**
* @throws wrongPdfGeneratorInterface
*/
public function __construct() public function __construct()
{ {
$this->addGenerator(invoicePdf::class); $this->addGenerator(invoicePdf::class);

Datei anzeigen

@ -14,10 +14,14 @@ use D3\PdfDocuments\Application\Model\Documents\deliverynotePdf;
use D3\PdfDocuments\Application\Model\Documents\deliverynotewithoutlogoPdf; use D3\PdfDocuments\Application\Model\Documents\deliverynotewithoutlogoPdf;
use D3\PdfDocuments\Application\Model\Documents\invoicePdf; use D3\PdfDocuments\Application\Model\Documents\invoicePdf;
use D3\PdfDocuments\Application\Model\Documents\invoicewithoutlogoPdf; use D3\PdfDocuments\Application\Model\Documents\invoicewithoutlogoPdf;
use D3\PdfDocuments\Application\Model\Exceptions\wrongPdfGeneratorInterface;
use D3\PdfDocuments\Application\Model\Interfaces\pdfdocumentsOrderInterface; use D3\PdfDocuments\Application\Model\Interfaces\pdfdocumentsOrderInterface;
class registryOrderoverview extends registryAbstract implements registryOrderoverviewInterface class registryOrderoverview extends registryAbstract implements registryOrderoverviewInterface
{ {
/**
* @throws wrongPdfGeneratorInterface
*/
public function __construct() public function __construct()
{ {
$this->addGenerator(invoicePdf::class); $this->addGenerator(invoicePdf::class);

Datei anzeigen

@ -13,6 +13,7 @@ namespace D3\PdfDocuments\Modules\Application\Controller;
use D3\PdfDocuments\Application\Controller\orderOverviewPdfGenerator; use D3\PdfDocuments\Application\Controller\orderOverviewPdfGenerator;
use D3\PdfDocuments\Application\Model\Exceptions\noPdfHandlerFoundException; use D3\PdfDocuments\Application\Model\Exceptions\noPdfHandlerFoundException;
use D3\PdfDocuments\Application\Model\Exceptions\pdfGeneratorExceptionAbstract; use D3\PdfDocuments\Application\Model\Exceptions\pdfGeneratorExceptionAbstract;
use D3\PdfDocuments\Application\Model\Exceptions\wrongPdfGeneratorInterface;
use D3\PdfDocuments\Application\Model\Registries\registryOrderoverview; use D3\PdfDocuments\Application\Model\Registries\registryOrderoverview;
use Doctrine\DBAL\Driver\Exception; use Doctrine\DBAL\Driver\Exception;
use Doctrine\DBAL\Exception as DBALException; use Doctrine\DBAL\Exception as DBALException;
@ -77,6 +78,10 @@ class d3_overview_controller_pdfdocuments extends d3_overview_controller_pdfdocu
} }
} }
/**
* @return registryOrderoverview
* @throws wrongPdfGeneratorInterface
*/
public function d3getGeneratorList(): registryOrderoverview public function d3getGeneratorList(): registryOrderoverview
{ {
return oxNew(registryOrderoverview::class); return oxNew(registryOrderoverview::class);

Datei anzeigen

@ -12,14 +12,8 @@ use D3\PdfDocuments\Application\Model\Constants as Constants;
use D3\PdfDocuments\Modules\Application\Controller\d3_overview_controller_pdfdocuments; use D3\PdfDocuments\Modules\Application\Controller\d3_overview_controller_pdfdocuments;
use OxidEsales\Eshop\Application\Controller\Admin\OrderOverview; use OxidEsales\Eshop\Application\Controller\Admin\OrderOverview;
/**
* Metadata version
*/
$sMetadataVersion = '2.1'; $sMetadataVersion = '2.1';
/**
* Module information
*/
$aModule = [ $aModule = [
'id' => Constants::OXID_MODULE_ID, 'id' => Constants::OXID_MODULE_ID,
'title' => [ 'title' => [