![]() 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/magento/module-sales/Block/Adminhtml/Order/Create/Sidebar/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\Sales\Block\Adminhtml\Order\Create\Sidebar; use Magento\Framework\Pricing\PriceCurrencyInterface; /** * Adminhtml sales order create sidebar cart block * * @api * @author Magento Core Team <[email protected]> * @since 100.0.2 */ class Reorder extends \Magento\Sales\Block\Adminhtml\Order\Create\Sidebar\AbstractSidebar { /** * Storage action on selected item * * @var string */ protected $_sidebarStorageAction = 'add_order_item'; /** * Orders factory * * @var \Magento\Sales\Model\ResourceModel\Order\CollectionFactory */ protected $_ordersFactory; /** * @param \Magento\Backend\Block\Template\Context $context * @param \Magento\Backend\Model\Session\Quote $sessionQuote * @param \Magento\Sales\Model\AdminOrder\Create $orderCreate * @param PriceCurrencyInterface $priceCurrency * @param \Magento\Sales\Model\Config $salesConfig * @param \Magento\Sales\Model\ResourceModel\Order\CollectionFactory $ordersFactory * @param array $data */ public function __construct( \Magento\Backend\Block\Template\Context $context, \Magento\Backend\Model\Session\Quote $sessionQuote, \Magento\Sales\Model\AdminOrder\Create $orderCreate, PriceCurrencyInterface $priceCurrency, \Magento\Sales\Model\Config $salesConfig, \Magento\Sales\Model\ResourceModel\Order\CollectionFactory $ordersFactory, array $data = [] ) { $this->_ordersFactory = $ordersFactory; parent::__construct($context, $sessionQuote, $orderCreate, $priceCurrency, $salesConfig, $data); } /** * Constructor * * @return void */ protected function _construct() { parent::_construct(); $this->setId('sales_order_create_sidebar_reorder'); $this->setDataId('reorder'); } /** * Get header text * * @return \Magento\Framework\Phrase */ public function getHeaderText() { return __('Last Ordered Items'); } /** * Retrieve last order on current website * * @return \Magento\Sales\Model\Order|false */ public function getLastOrder() { $storeIds = $this->getQuote()->getStore()->getWebsite()->getStoreIds(); $collection = $this->_ordersFactory->create()->addFieldToFilter( 'customer_id', $this->getCustomerId() )->addFieldToFilter( 'store_id', ['in' => $storeIds] )->setOrder( 'created_at', 'desc' )->setPageSize( 1 )->load(); foreach ($collection as $order) { return $order; } return false; } /** * Retrieve item collection * * @return array|false */ public function getItemCollection() { if ($order = $this->getLastOrder()) { $items = []; foreach ($order->getItemsCollection() as $item) { if (!$item->getParentItem()) { $items[] = $item; } } return $items; } return false; } /** * Retrieve display item qty availability * * @return false */ public function canDisplayItemQty() { return false; } /** * Retrieve remove items availability * * @return false */ public function canRemoveItems() { return false; } /** * Retrieve display price availability * * @return false */ public function canDisplayPrice() { return false; } /** * Retrieve identifier of block item * * @param \Magento\Framework\DataObject $item * @return int */ public function getIdentifierId($item) { return $item->getId(); } }