![]() 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/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\Sales\Block\Adminhtml\Order\Create; use Magento\Framework\Pricing\PriceCurrencyInterface; /** * Adminhtml sales order create totals block * * @api * @author Magento Core Team <[email protected]> * @since 100.0.2 */ class Totals extends \Magento\Sales\Block\Adminhtml\Order\Create\AbstractCreate { /** * Total renderers * * @var array */ protected $_totalRenderers; /** * Default renderer * * @var string */ protected $_defaultRenderer = \Magento\Sales\Block\Adminhtml\Order\Create\Totals\DefaultTotals::class; /** * Sales data * * @var \Magento\Sales\Helper\Data */ protected $_salesData = null; /** * Sales config * * @var \Magento\Sales\Model\Config */ protected $_salesConfig; /** * @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\Helper\Data $salesData * @param \Magento\Sales\Model\Config $salesConfig * @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\Helper\Data $salesData, \Magento\Sales\Model\Config $salesConfig, array $data = [] ) { $this->_salesData = $salesData; $this->_salesConfig = $salesConfig; parent::__construct($context, $sessionQuote, $orderCreate, $priceCurrency, $data); } /** * Constructor * * @return void */ protected function _construct() { parent::_construct(); $this->setId('sales_order_create_totals'); } /** * Get totals * * @return array */ public function getTotals() { $this->getQuote()->collectTotals(); if ($this->getQuote()->isVirtual()) { $totals = $this->getQuote()->getBillingAddress()->getTotals(); } else { $totals = $this->getQuote()->getShippingAddress()->getTotals(); } return $totals; } /** * Get header text * * @return \Magento\Framework\Phrase */ public function getHeaderText() { return __('Order Totals'); } /** * Get header css class * * @return string */ public function getHeaderCssClass() { return 'head-money'; } /** * Get total renderer * * @param string $code * @return bool|\Magento\Framework\View\Element\BlockInterface */ protected function _getTotalRenderer($code) { $blockName = $code . '_total_renderer'; $block = $this->getLayout()->getBlock($blockName); if (!$block) { $configRenderer = $this->_salesConfig->getTotalsRenderer('quote', 'totals', $code); if (empty($configRenderer)) { $block = $this->_defaultRenderer; } else { $block = $configRenderer; } $block = $this->getLayout()->createBlock($block, $blockName); } /** * Transfer totals to renderer */ $block->setTotals($this->getTotals()); return $block; } /** * Render total * * @param \Magento\Framework\DataObject $total * @param string|null $area * @param int $colspan * @return mixed */ public function renderTotal($total, $area = null, $colspan = 1) { return $this->_getTotalRenderer( $total->getCode() )->setTotal( $total )->setColspan( $colspan )->setRenderingArea( $area === null ? -1 : $area )->toHtml(); } /** * Render totals * * @param null $area * @param int $colspan * @return string */ public function renderTotals($area = null, $colspan = 1) { $html = ''; foreach ($this->getTotals() as $total) { if ($total->getArea() != $area && $area != -1) { continue; } $html .= $this->renderTotal($total, $area, $colspan); } return $html; } /** * Check allow to send new order confirmation email * * @return bool */ public function canSendNewOrderConfirmationEmail() { return $this->_salesData->canSendNewOrderConfirmationEmail($this->getQuote()->getStoreId()); } /** * Get note notification * * @return bool * @SuppressWarnings(PHPMD.BooleanGetMethodName) */ public function getNoteNotify() { $notify = $this->getQuote()->getCustomerNoteNotify(); if ($notify === null || $notify) { return true; } return false; } }