select included documents for generating

# Conflicts:
#	Application/views/admin/de/pdfdocuments_lang.php
#	Application/views/admin/en/pdfdocuments_lang.php
#	metadata.php
This commit is contained in:
2025-05-17 22:12:02 +02:00
parent ba519af750
commit fd5896b5af
5 changed files with 65 additions and 9 deletions

View File

@ -15,13 +15,16 @@ declare(strict_types=1);
namespace D3\PdfDocuments\Application\Model\Registries; namespace D3\PdfDocuments\Application\Model\Registries;
use D3\PdfDocuments\Application\Model\Constants;
use D3\PdfDocuments\Application\Model\Documents\deliverynotePdf; 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\Exceptions\wrongPdfGeneratorInterface;
use D3\PdfDocuments\Application\Model\Interfaces\pdfdocumentsGenericInterface;
use D3\PdfDocuments\Application\Model\Interfaces\pdfdocumentsOrderInterface; use D3\PdfDocuments\Application\Model\Interfaces\pdfdocumentsOrderInterface;
use OxidEsales\EshopCommunity\Internal\Container\ContainerFactory;
use OxidEsales\EshopCommunity\Internal\Framework\Module\Facade\ModuleSettingService;
use OxidEsales\EshopCommunity\Internal\Framework\Module\Facade\ModuleSettingServiceInterface;
class registryOrdermanagerActions extends registryAbstract implements registryOrdermanagerActionsInterface class registryOrdermanagerActions extends registryAbstract implements registryOrdermanagerActionsInterface
{ {
@ -30,10 +33,16 @@ class registryOrdermanagerActions extends registryAbstract implements registryOr
*/ */
public function __construct() public function __construct()
{ {
$this->addGenerator(invoicePdf::class); /** @var ModuleSettingService $settingsService */
$this->addGenerator(deliverynotePdf::class); $settingsService = ContainerFactory::getInstance()->getContainer()->get(ModuleSettingServiceInterface::class);
$this->addGenerator(invoicewithoutlogoPdf::class); if ($settingsService->getBoolean('d3PdfDocumentsDocInvoice', Constants::OXID_MODULE_ID))
$this->addGenerator(deliverynotewithoutlogoPdf::class); $this->addGenerator(invoicePdf::class);
if ($settingsService->getBoolean('d3PdfDocumentsDocDeliveryNote', Constants::OXID_MODULE_ID))
$this->addGenerator(deliverynotePdf::class);
if ($settingsService->getBoolean('d3PdfDocumentsDocInvoiceNoLogo', Constants::OXID_MODULE_ID))
$this->addGenerator(invoicewithoutlogoPdf::class);
if ($settingsService->getBoolean('d3PdfDocumentsDocDeliveryNoteNoLogo', Constants::OXID_MODULE_ID))
$this->addGenerator(deliverynotewithoutlogoPdf::class);
} }
public function getRequiredGeneratorInterfaceClassName(): string public function getRequiredGeneratorInterfaceClassName(): string

View File

@ -15,12 +15,16 @@ declare(strict_types=1);
namespace D3\PdfDocuments\Application\Model\Registries; namespace D3\PdfDocuments\Application\Model\Registries;
use D3\PdfDocuments\Application\Model\Constants;
use D3\PdfDocuments\Application\Model\Documents\deliverynotePdf; 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\Exceptions\wrongPdfGeneratorInterface;
use D3\PdfDocuments\Application\Model\Interfaces\pdfdocumentsOrderInterface; use D3\PdfDocuments\Application\Model\Interfaces\pdfdocumentsOrderInterface;
use OxidEsales\EshopCommunity\Internal\Container\ContainerFactory;
use OxidEsales\EshopCommunity\Internal\Framework\Module\Facade\ModuleSettingService;
use OxidEsales\EshopCommunity\Internal\Framework\Module\Facade\ModuleSettingServiceInterface;
class registryOrderoverview extends registryAbstract implements registryOrderoverviewInterface class registryOrderoverview extends registryAbstract implements registryOrderoverviewInterface
{ {
@ -29,10 +33,16 @@ class registryOrderoverview extends registryAbstract implements registryOrderove
*/ */
public function __construct() public function __construct()
{ {
$this->addGenerator(invoicePdf::class); /** @var ModuleSettingService $settingsService */
$this->addGenerator(deliverynotePdf::class); $settingsService = ContainerFactory::getInstance()->getContainer()->get(ModuleSettingServiceInterface::class);
$this->addGenerator(invoicewithoutlogoPdf::class); if ($settingsService->getBoolean('d3PdfDocumentsDocInvoice', Constants::OXID_MODULE_ID))
$this->addGenerator(deliverynotewithoutlogoPdf::class); $this->addGenerator( invoicePdf::class );
if ($settingsService->getBoolean('d3PdfDocumentsDocDeliveryNote', Constants::OXID_MODULE_ID))
$this->addGenerator(deliverynotePdf::class);
if ($settingsService->getBoolean('d3PdfDocumentsDocInvoiceNoLogo', Constants::OXID_MODULE_ID))
$this->addGenerator(invoicewithoutlogoPdf::class);
if ($settingsService->getBoolean('d3PdfDocumentsDocDeliveryNoteNoLogo', Constants::OXID_MODULE_ID))
$this->addGenerator(deliverynotewithoutlogoPdf::class);
} }
public function getRequiredGeneratorInterfaceClassName(): string public function getRequiredGeneratorInterfaceClassName(): string

View File

@ -35,6 +35,12 @@ return [
'SHOP_MODULE_GROUP_'. Constants::OXID_MODULE_ID.'invoice' => 'Rechnung', 'SHOP_MODULE_GROUP_'. Constants::OXID_MODULE_ID.'invoice' => 'Rechnung',
'SHOP_MODULE_invoicePaymentTerm' => 'Zahlungsziel (in Tagen)', 'SHOP_MODULE_invoicePaymentTerm' => 'Zahlungsziel (in Tagen)',
'SHOP_MODULE_GROUP_d3PdfDocumentsdocuments' => 'Dokumente',
'SHOP_MODULE_d3PdfDocumentsDocInvoice' => 'Rechnung',
'SHOP_MODULE_d3PdfDocumentsDocInvoiceNoLogo' => 'Rechnung ohne Logo',
'SHOP_MODULE_d3PdfDocumentsDocDeliveryNote' => 'Lieferschein',
'SHOP_MODULE_d3PdfDocumentsDocDeliveryNoteNoLogo' => 'Lieferschein ohne Logo',
'D3_PDFDOCUMENTS' => 'PDF-Dokumente', 'D3_PDFDOCUMENTS' => 'PDF-Dokumente',
'D3_PDFDOCUMENTS_INVOICE' => 'Rechnung', 'D3_PDFDOCUMENTS_INVOICE' => 'Rechnung',
'D3_PDFDOCUMENTS_INVOICE_WITHOUT_LOGO' => 'Rechnung ohne Logo', 'D3_PDFDOCUMENTS_INVOICE_WITHOUT_LOGO' => 'Rechnung ohne Logo',

View File

@ -34,6 +34,13 @@ return [
'SHOP_MODULE_GROUP_'. Constants::OXID_MODULE_ID.'invoice' => 'Invoice', 'SHOP_MODULE_GROUP_'. Constants::OXID_MODULE_ID.'invoice' => 'Invoice',
'SHOP_MODULE_invoicePaymentTerm' => 'Payment term (in days)', 'SHOP_MODULE_invoicePaymentTerm' => 'Payment term (in days)',
'SHOP_MODULE_GROUP_d3PdfDocumentsdocuments' => 'Documents',
'SHOP_MODULE_d3PdfDocumentsDocInvoice' => 'Invoice',
'SHOP_MODULE_d3PdfDocumentsDocInvoiceNoLogo' => 'Invoice without logo',
'SHOP_MODULE_d3PdfDocumentsDocDeliveryNote' => 'Delivery note',
'SHOP_MODULE_d3PdfDocumentsDocDeliveryNoteNoLogo' => 'Delivery note without logo',
'D3_PDFDOCUMENTS' => 'PDF Documents', 'D3_PDFDOCUMENTS' => 'PDF Documents',
'D3_PDFDOCUMENTS_INVOICE' => 'Invoice', 'D3_PDFDOCUMENTS_INVOICE' => 'Invoice',
'D3_PDFDOCUMENTS_INVOICE_WITHOUT_LOGO' => 'Invoice without logo', 'D3_PDFDOCUMENTS_INVOICE_WITHOUT_LOGO' => 'Invoice without logo',

View File

@ -106,6 +106,30 @@ $aModule = [
'type' => 'num', 'type' => 'num',
'value' => 7, 'value' => 7,
], ],
[
'group' => $sModuleId.'documents',
'name' => $sModuleId.'DocInvoice',
'type' => 'bool',
'value' => true
],
[
'group' => $sModuleId.'documents',
'name' => $sModuleId.'DocInvoiceNoLogo',
'type' => 'bool',
'value' => true
],
[
'group' => $sModuleId.'documents',
'name' => $sModuleId.'DocDeliveryNote',
'type' => 'bool',
'value' => true
],
[
'group' => $sModuleId.'documents',
'name' => $sModuleId.'DocDeliveryNoteNoLogo',
'type' => 'bool',
'value' => true
],
], ],
]; ];
// @codeCoverageIgnoreEnd // @codeCoverageIgnoreEnd