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/Ui/Component/Listing/Column/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home/corals/old/vendor/extmag/shiplab/Ui/Component/Listing/Column/ShippingLabelCreditmemo.php
<?php
/**
 * Copyright © Extmag. All rights reserved.
 */

namespace Extmag\Shiplab\Ui\Component\Listing\Column;

use Extmag\Shiplab\Model\ResourceModel\Label\Collection;
use Extmag\Shiplab\Model\ResourceModel\Label\CollectionFactory;
use Magento\Framework\Escaper;
use Magento\Framework\View\Element\UiComponent\ContextInterface;
use Magento\Framework\View\Element\UiComponentFactory;
use Magento\Ui\Component\Listing\Columns\Column;

class ShippingLabelCreditmemo extends Column
{
    /**
     * @var Escaper
     */
    protected $escaper;
    /**
     * @var CollectionFactory
     */
    protected $collectionFactory;

    /**
     * @param ContextInterface   $context
     * @param UiComponentFactory $uiComponentFactory
     * @param Escaper            $escaper
     * @param CollectionFactory  $collectionFactory
     * @param array              $components
     * @param array              $data
     */
    public function __construct(
        ContextInterface $context,
        UiComponentFactory $uiComponentFactory,
        Escaper $escaper,
        CollectionFactory $collectionFactory,
        array $components = [],
        array $data = []
    ) {
        parent::__construct($context, $uiComponentFactory, $components, $data);
        $this->escaper           = $escaper;
        $this->collectionFactory = $collectionFactory;
    }

    /**
     * @inheritDoc
     */
    public function prepareDataSource(array $dataSource)
    {
        if (isset($dataSource['data']['items'])) {
            $ids = [];
            foreach ($dataSource['data']['items'] as $item) {
                $ids[] = $item[$item['id_field_name']];
            }
            /**
             * @var $collection Collection
             */
            $collection = $this->collectionFactory->create();
            $collection->addFieldToFilter('order_sub_type', 'refund')->addFieldToFilter('order_sub_id', ['in' => $ids]);
            $ids = [];
            foreach ($collection as $item) {
                $ids[$item->getOrderSubId()][] = $item->getId();
            }

            foreach ($dataSource['data']['items'] as & $item) {
                if (isset($ids[$item[$item['id_field_name']]])) {
                    $item['extmag_shipping_label'] = $this->escaper->escapeHtml(
                        '<a target="_blank" href="' . $this->context->getUrl(
                            'extmag_shiplab/label/details',
                            ['entity_id' => implode(",", $ids[$item[$item['id_field_name']]])]
                        ) . '">' . __('View Labels') . '</a>',
                        ['a']
                    );
                } else {
                    $item['extmag_shipping_label'] = '';
                }
            }
        }

        return $dataSource;
    }
}

Spamworldpro Mini