| Current Path : /var/www/clients/client3/web2/web/vendor/magento/module-backend/Helper/Dashboard/ |
| Current File : /var/www/clients/client3/web2/web/vendor/magento/module-backend/Helper/Dashboard/Order.php |
<?php
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
namespace Magento\Backend\Helper\Dashboard;
use Magento\Framework\App\ObjectManager;
/**
* Adminhtml dashboard helper for orders
*
* @api
* @since 100.0.2
*/
class Order extends AbstractDashboard
{
/**
* @var \Magento\Reports\Model\ResourceModel\Order\Collection
*/
protected $_orderCollection;
/**
* @var \Magento\Store\Model\StoreManagerInterface
* @since 100.0.6
*/
protected $_storeManager;
/**
* @param \Magento\Framework\App\Helper\Context $context
* @param \Magento\Reports\Model\ResourceModel\Order\Collection $orderCollection
* @param \Magento\Store\Model\StoreManagerInterface $storeManager
*/
public function __construct(
\Magento\Framework\App\Helper\Context $context,
\Magento\Reports\Model\ResourceModel\Order\Collection $orderCollection,
\Magento\Store\Model\StoreManagerInterface $storeManager = null
) {
$this->_orderCollection = $orderCollection;
$this->_storeManager = $storeManager ?: ObjectManager::getInstance()
->get(\Magento\Store\Model\StoreManagerInterface::class);
parent::__construct($context);
}
/**
* @return void
*
* @throws \Magento\Framework\Exception\LocalizedException
* @throws \Magento\Framework\Exception\NoSuchEntityException
*/
protected function _initCollection()
{
$isFilter = $this->getParam('store') || $this->getParam('website') || $this->getParam('group');
$this->_collection = $this->_orderCollection->prepareSummary($this->getParam('period'), 0, 0, $isFilter);
if ($this->getParam('store')) {
$this->_collection->addFieldToFilter('store_id', $this->getParam('store'));
} elseif ($this->getParam('website')) {
$storeIds = $this->_storeManager->getWebsite($this->getParam('website'))->getStoreIds();
$this->_collection->addFieldToFilter('store_id', ['in' => implode(',', $storeIds)]);
} elseif ($this->getParam('group')) {
$storeIds = $this->_storeManager->getGroup($this->getParam('group'))->getStoreIds();
$this->_collection->addFieldToFilter('store_id', ['in' => implode(',', $storeIds)]);
} elseif (!$this->_collection->isLive()) {
$this->_collection->addFieldToFilter(
'store_id',
['eq' => $this->_storeManager->getStore(\Magento\Store\Model\Store::ADMIN_CODE)->getId()]
);
}
$this->_collection->load();
}
}