Spamworldpro Mini Shell
Spamworldpro


Server : Apache
System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64
User : corals ( 1002)
PHP Version : 7.4.33
Disable Function : exec,passthru,shell_exec,system
Directory :  /home/corals/old/vendor/extmag/shiplab/Controller/Adminhtml/Label/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home/corals/old/vendor/extmag/shiplab/Controller/Adminhtml/Label/MassDelete.php
<?php
/**
 * Copyright © Extmag. All rights reserved.
 */

namespace Extmag\Shiplab\Controller\Adminhtml\Label;

use Extmag\Shiplab\Controller\Adminhtml\Label;
use Exception;
use Magento\Backend\Model\View\Result\Redirect;
use Magento\Framework\Exception\LocalizedException;
use Magento\Framework\Exception\NoSuchEntityException;

class MassDelete extends Label
{
    /**
     * Authorization level of a basic admin session
     *
     * @see _isAllowed()
     */
    public const ADMIN_RESOURCE = 'Extmag_Shiplab::shiplab_labels_delete';

    /**
     * @return Redirect
     * @throws LocalizedException
     */
    public function execute()
    {
        $carrierCode = $this->getRequest()->getParam('carrier_code');
        $collection = $this->filter->getCollection($this->collectionFactory->create());
        $collectionSize = $collection->getSize();
        $dataForRequest = [];

        /**
         * @var \Extmag\Shiplab\Model\Label $model
         */
        foreach ($collection as $model) {
            try {
                if ($model->getStatus() > 0 && $this->isCanVoid($model)) {
                    $dataForRequest[$model->getCarrierCode()][] = $model->getData();
                }
                $this->labelRepository->deleteWithData($model);
            } catch (Exception $e) {
                // display error message
                $this->messageManager->addErrorMessage($e->getMessage());
            }
        }

        if (!empty($dataForRequest)) {
            foreach ($dataForRequest as $carrierCode => $items) {
                $voidLabel = $this->requestToAPI->create($carrierCode, 'void');

                if (!$voidLabel) {
                    throw new NoSuchEntityException(__('Carrier class is not found'));
                }

                foreach ($items as $item) {
                    $tempData = json_decode($item['request'], true) + [
                            'master_id' => $item['master_id'],
                            'tracking_number' => $item['tracking_number'],
                        ];
                    $voidLabel->setData($tempData);
                    $voidLabel->addRequest();
                }

                $void = $voidLabel->send();

                $this->_eventManager->dispatch(
                    'adminhtml_extmag_shiplab_label_after_delete',
                    [
                        'result' => $void['result']['Response'] ?? [],
                    ]
                );
            }
        }

        $this->messageManager->addSuccessMessage(__('A total of %1 record(s) have been deleted.', $collectionSize));

        // go to grid
        /** @var Redirect $resultRedirect */
        $resultRedirect = $this->resultRedirectFactory->create();
        return $resultRedirect->setPath('extmag_shiplab/label/index', ['carrier_code' => $carrierCode]);
    }
}

Spamworldpro Mini