![]() 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/cartforge.co/vendor/magento/module-reports/Block/Adminhtml/Product/Lowstock/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ declare(strict_types=1); namespace Magento\Reports\Block\Adminhtml\Product\Lowstock; use Magento\Backend\Block\Template\Context; use Magento\Backend\Helper\Data; use Magento\Catalog\Model\Product\Attribute\Source\Status; use Magento\Framework\Data\Collection as DataCollection; use Magento\Reports\Model\ResourceModel\Product\Lowstock\Collection; use Magento\Reports\Model\ResourceModel\Product\Lowstock\CollectionFactory; /** * Adminhtml low stock products report grid block * * @api * @author Magento Core Team <[email protected]> * @since 100.0.2 */ class Grid extends \Magento\Backend\Block\Widget\Grid { /** * @var CollectionFactory */ protected $_lowstocksFactory; /** * @param Context $context * @param Data $backendHelper * @param CollectionFactory $lowstocksFactory * @param array $data */ public function __construct( Context $context, Data $backendHelper, CollectionFactory $lowstocksFactory, array $data = [] ) { $this->_lowstocksFactory = $lowstocksFactory; parent::__construct($context, $backendHelper, $data); } /** * @inheritDoc * * @return \Magento\Backend\Block\Widget\Grid */ protected function _prepareCollection() { $website = $this->getRequest()->getParam('website'); $group = $this->getRequest()->getParam('group'); $store = $this->getRequest()->getParam('store'); if ($website) { $storeIds = $this->_storeManager->getWebsite($website)->getStoreIds(); $storeId = array_pop($storeIds); } elseif ($group) { $storeIds = $this->_storeManager->getGroup($group)->getStoreIds(); $storeId = array_pop($storeIds); } elseif ($store) { $storeId = (int)$store; } else { $storeId = null; } /** @var $collection Collection */ $collection = $this->_lowstocksFactory->create()->addAttributeToSelect( '*' )->filterByIsQtyProductTypes()->joinInventoryItem( 'qty' )->useManageStockFilter( $storeId )->useNotifyStockQtyFilter( $storeId )->setOrder( 'qty', DataCollection::SORT_ORDER_ASC )->addAttributeToFilter( 'status', Status::STATUS_ENABLED ); if ($storeId) { $collection->addStoreFilter($storeId); } $this->setCollection($collection); return parent::_prepareCollection(); } }