| Current Path : /home/rtorresani/www/vendor/magento/module-reports/Block/Adminhtml/Shopcart/Product/ |
| Current File : //home/rtorresani/www/vendor/magento/module-reports/Block/Adminhtml/Shopcart/Product/Grid.php |
<?php
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
namespace Magento\Reports\Block\Adminhtml\Shopcart\Product;
/**
* Adminhtml products in carts report grid block
*
* @author Magento Core Team <core@magentocommerce.com>
* @SuppressWarnings(PHPMD.DepthOfInheritance)
*/
class Grid extends \Magento\Reports\Block\Adminhtml\Grid\Shopcart
{
/**
* @var \Magento\Reports\Model\ResourceModel\Quote\CollectionFactory
*/
protected $quoteItemCollectionFactory;
/**
* @var \Magento\Quote\Model\QueryResolver
*/
protected $queryResolver;
/**
* @param \Magento\Backend\Block\Template\Context $context
* @param \Magento\Backend\Helper\Data $backendHelper
* @param \Magento\Reports\Model\ResourceModel\Quote\Item\CollectionFactory $quoteItemCollectionFactory
* @param \Magento\Quote\Model\QueryResolver $queryResolver
* @param array $data
*/
public function __construct(
\Magento\Backend\Block\Template\Context $context,
\Magento\Backend\Helper\Data $backendHelper,
\Magento\Quote\Model\QueryResolver $queryResolver,
\Magento\Reports\Model\ResourceModel\Quote\Item\CollectionFactory $quoteItemCollectionFactory,
array $data = []
) {
$this->quoteItemCollectionFactory = $quoteItemCollectionFactory;
$this->queryResolver = $queryResolver;
parent::__construct($context, $backendHelper, $data);
}
/**
* @return void
*/
protected function _construct()
{
parent::_construct();
$this->setId('gridProducts');
}
/**
* @return \Magento\Backend\Block\Widget\Grid
*/
protected function _prepareCollection()
{
/** @var \Magento\Reports\Model\ResourceModel\Quote\Item\Collection $collection */
$collection = $this->quoteItemCollectionFactory->create();
$collection->prepareActiveCartItems();
$this->setCollection($collection);
return parent::_prepareCollection();
}
/**
* @return \Magento\Backend\Block\Widget\Grid\Extended
*/
protected function _prepareColumns()
{
$this->addColumn(
'product_id',
[
'header' => __('ID'),
'align' => 'right',
'index' => 'product_id',
'sortable' => false,
'header_css_class' => 'col-id',
'column_css_class' => 'col-id'
]
);
$this->addColumn(
'name',
[
'header' => __('Product'),
'index' => 'name',
'sortable' => false,
'header_css_class' => 'col-product',
'column_css_class' => 'col-product'
]
);
$currencyCode = $this->getCurrentCurrencyCode();
$this->addColumn(
'price',
[
'header' => __('Price'),
'type' => 'currency',
'currency_code' => $currencyCode,
'index' => 'price',
'sortable' => false,
'renderer' => \Magento\Reports\Block\Adminhtml\Grid\Column\Renderer\Currency::class,
'rate' => $this->getRate($currencyCode),
'header_css_class' => 'col-price',
'column_css_class' => 'col-price'
]
);
$this->addColumn(
'carts',
[
'header' => __('Carts'),
'align' => 'right',
'index' => 'carts',
'sortable' => false,
'header_css_class' => 'col-carts',
'column_css_class' => 'col-carts'
]
);
$this->addColumn(
'orders',
[
'header' => __('Orders'),
'align' => 'right',
'index' => 'orders',
'sortable' => false,
'header_css_class' => 'col-qty',
'column_css_class' => 'col-qty'
]
);
$this->setFilterVisibility(false);
$this->addExportType('*/*/exportProductCsv', __('CSV'));
$this->addExportType('*/*/exportProductExcel', __('Excel XML'));
return parent::_prepareColumns();
}
/**
* @param \Magento\Framework\DataObject $row
*
* @return string
*/
public function getRowUrl($row)
{
return $this->getUrl('catalog/product/edit', ['id' => $row->getProductId()]);
}
}