Skip to content

Commit 7434de7

Browse files
Merge branch 'AC-12470' into cia-2.4.8-beta1-develop-bugfix-09022024
2 parents 9f3e006 + 3a3002a commit 7434de7

File tree

1 file changed

+11
-6
lines changed
  • app/code/Magento/Sales/Controller/Adminhtml/Order

1 file changed

+11
-6
lines changed

app/code/Magento/Sales/Controller/Adminhtml/Order/Pdfdocs.php

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
*/
66
namespace Magento\Sales\Controller\Adminhtml\Order;
77

8+
use Magento\Framework\App\Action\HttpPostActionInterface;
89
use Magento\Framework\App\ResponseInterface;
910
use Magento\Framework\App\Filesystem\DirectoryList;
1011
use Magento\Framework\Model\ResourceModel\Db\Collection\AbstractCollection;
@@ -21,10 +22,10 @@
2122
use Magento\Sales\Model\ResourceModel\Order\Creditmemo\CollectionFactory as CreditmemoCollectionFactory;
2223

2324
/**
24-
* Class Pdfdocs
25+
* Export all docs in pdf
2526
* @SuppressWarnings(PHPMD.CouplingBetweenObjects)
2627
*/
27-
class Pdfdocs extends \Magento\Sales\Controller\Adminhtml\Order\AbstractMassAction
28+
class Pdfdocs extends \Magento\Sales\Controller\Adminhtml\Order\AbstractMassAction implements HttpPostActionInterface
2829
{
2930
/**
3031
* @var \Magento\Framework\App\Response\Http\FileFactory
@@ -124,13 +125,13 @@ protected function massAction(AbstractCollection $collection)
124125
$creditmemos = $this->creditmemoCollectionFactory->create()->setOrderFilter(['in' => $orderIds]);
125126

126127
$documents = [];
127-
if ($invoices->getSize()) {
128+
if ($this->_authorization->isAllowed('Magento_Sales::invoice') && $invoices->getSize()) {
128129
$documents[] = $this->pdfInvoice->getPdf($invoices);
129130
}
130-
if ($shipments->getSize()) {
131+
if ($this->_authorization->isAllowed('Magento_Sales::ship') && $shipments->getSize()) {
131132
$documents[] = $this->pdfShipment->getPdf($shipments);
132133
}
133-
if ($creditmemos->getSize()) {
134+
if ($this->_authorization->isAllowed('Magento_Sales::creditmemo') && $creditmemos->getSize()) {
134135
$documents[] = $this->pdfCreditmemo->getPdf($creditmemos);
135136
}
136137

@@ -140,9 +141,13 @@ protected function massAction(AbstractCollection $collection)
140141
}
141142

142143
$pdf = array_shift($documents);
144+
$documentList = [];
143145
foreach ($documents as $document) {
144-
$pdf->pages = array_merge($pdf->pages, $document->pages);
146+
$documentList[] = $document->pages;
145147
}
148+
149+
$pdf->pages = array_merge($pdf->pages, array_merge(...$documentList));
150+
146151
$fileContent = ['type' => 'string', 'value' => $pdf->render(), 'rm' => true];
147152

148153
return $this->fileFactory->create(

0 commit comments

Comments
 (0)