1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- <?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();
- }
- }
|