diff --git a/Application/Controller/orderPdfGenerator.php b/Application/Controller/orderPdfGenerator.php
new file mode 100644
index 0000000..bcdb386
--- /dev/null
+++ b/Application/Controller/orderPdfGenerator.php
@@ -0,0 +1,75 @@
+
+ * @link http://www.oxidmodule.com
+ */
+
+namespace D3\PdfDocuments\Application\Controller;
+
+use D3\PdfDocuments\Application\Model\Documents\deliverynotePdf;
+use D3\PdfDocuments\Application\Model\Documents\invoicePdf;
+use D3\PdfDocuments\Application\Model\Interfaces\pdfdocuments_order_interface as OrderPdfInterface;
+use OxidEsales\Eshop\Application\Model\Order;
+use OxidEsales\Eshop\Core\Registry;
+
+class orderPdfGenerator
+{
+ /**
+ * @param Order $order
+ * @param $sFilename
+ * @param int $iSelLang
+ * @param string $target
+ */
+ public function generatePdf(Order $order, $sFilename, $iSelLang = 0, $target = 'I')
+ {
+ $Pdf= $this->getPdfClass($order);
+
+ $Pdf->setOrder($order);
+ $Pdf->genPdf($sFilename, $iSelLang, $target);
+ }
+
+ public function getPdfClass(Order $order)
+ {
+echo __CLASS__." - ".__FUNCTION__." - ".__LINE__."
";
+ switch (Registry::getRequest()->getRequestParameter('pdftype')) {
+ case ('dnote'):
+ case ('dnote_without_logo'):
+echo __CLASS__." - ".__FUNCTION__." - ".__LINE__."
";
+ $pdfInstance= oxNew(deliverynotePdf::class);
+ $pdfInstance->setOrder($order);
+ return $pdfInstance;
+ case ('standart'):
+ case('standart_without_logo'):
+echo __CLASS__." - ".__FUNCTION__." - ".__LINE__."
";
+ $pdfInvoice= oxNew(invoicePdf::class);
+ $pdfInvoice->setOrder($order);
+ return $pdfInvoice;
+ default:
+echo __CLASS__." - ".__FUNCTION__." - ".__LINE__."
";
+ return $this->getCustomPdfClass($order);
+ }
+ }
+
+ /**
+ * @return OrderPdfInterface
+ * @throws \OxidEsales\Eshop\Core\Exception\SystemComponentException
+ * @throws \oxSystemComponentException
+ */
+ public function getCustomPdfClass(Order $order)
+ {
+echo __CLASS__." - ".__FUNCTION__." - ".__LINE__."
";
+ $pdfInvoice= oxNew(invoicePdf::class);
+ $pdfInvoice->setOrder($order);
+
+ return $pdfInvoice;
+ }
+}
\ No newline at end of file
diff --git a/IntelliSenseHelper.php b/IntelliSenseHelper.php
new file mode 100644
index 0000000..ea4c112
--- /dev/null
+++ b/IntelliSenseHelper.php
@@ -0,0 +1,21 @@
+
+ * @link http://www.oxidmodule.com
+ */
+
+namespace D3\PdfDocuments\Modules\Application\controllers {
+
+ use OxidEsales\Eshop\Application\Controller\Admin\OrderOverview;
+
+ class d3_overview_controller_pdfdocuments_parent extends OrderOverview {}
+}
\ No newline at end of file
diff --git a/Modules/Application/Model/d3_Order_PdfDocuments.php b/Modules/Application/Model/d3_Order_PdfDocuments.php
index 06c1064..f31b34b 100644
--- a/Modules/Application/Model/d3_Order_PdfDocuments.php
+++ b/Modules/Application/Model/d3_Order_PdfDocuments.php
@@ -17,11 +17,7 @@
namespace D3\PdfDocuments\Modules\Application\Model;
-use D3\PdfDocuments\Application\Model\Interfaces\pdfdocuments_order_interface as OrderPdfInterface;
-use D3\PdfDocuments\Application\Model\Documents\invoicePdf;
-use D3\PdfDocuments\Application\Model\Documents\deliverynotePdf;
-use OxidEsales\Eshop\Core\Registry;
-use Spipu\Html2Pdf\Exception\Html2PdfException;
+use D3\PdfDocuments\Application\Controller\orderPdfGenerator;
class d3_Order_PdfDocuments extends d3_Order_PdfDocuments_parent
{
@@ -29,44 +25,10 @@ class d3_Order_PdfDocuments extends d3_Order_PdfDocuments_parent
* @param string $sFilename
* @param int $iSelLang
* @param string $target
- * @throws Html2PdfException
*/
public function genPdf($sFilename, $iSelLang = 0, $target = 'I')
{
- $Pdf= $this->getPdfClass();
-
- $Pdf->setOrder($this);
- $Pdf->genPdf($sFilename, $iSelLang = 0, $target = 'I');
- }
-
- public function getPdfClass()
- {
- switch (Registry::getRequest()->getRequestParameter('pdftype')) {
- case ('dnote'):
- case ('dnote_without_logo'):
- $pdfInstance= oxNew(deliverynotePdf::class);
- $pdfInstance->setOrder($this);
- return $pdfInstance;
- case ('standart'):
- case('standart_without_logo'):
- $pdfInvoice= oxNew(invoicePdf::class);
- $pdfInvoice->setOrder($this);
- return $pdfInvoice;
- default:
- return $this->getCustomPdfClass();
- }
- }
-
- /**
- * @return OrderPdfInterface
- * @throws \OxidEsales\Eshop\Core\Exception\SystemComponentException
- * @throws \oxSystemComponentException
- */
- public function getCustomPdfClass()
- {
- $pdfInvoice= oxNew(invoicePdf::class);
- $pdfInvoice->setOrder($this);
-
- return $pdfInvoice;
+ $generator = oxNew( orderPdfGenerator::class );
+ $generator->generatePdf($this, $sFilename, $iSelLang, $target);
}
}