| Current Path : /home/rtorresani/www/vendor/magento/module-sales/Block/Adminhtml/Order/ |
| Current File : //home/rtorresani/www/vendor/magento/module-sales/Block/Adminhtml/Order/AbstractOrder.php |
<?php
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
namespace Magento\Sales\Block\Adminhtml\Order;
use Magento\Sales\Model\Order;
use Magento\Framework\App\ObjectManager;
use Magento\Shipping\Helper\Data as ShippingHelper;
use Magento\Tax\Helper\Data as TaxHelper;
/**
* Adminhtml order abstract block
*
* @api
* @author Magento Core Team <core@magentocommerce.com>
* @since 100.0.2
*/
class AbstractOrder extends \Magento\Backend\Block\Widget
{
/**
* Core registry
*
* @var \Magento\Framework\Registry
*/
protected $_coreRegistry = null;
/**
* Admin helper
*
* @var \Magento\Sales\Helper\Admin
*/
protected $_adminHelper;
/**
* @param \Magento\Backend\Block\Template\Context $context
* @param \Magento\Framework\Registry $registry
* @param \Magento\Sales\Helper\Admin $adminHelper
* @param array $data
* @param ShippingHelper|null $shippingHelper
* @param TaxHelper|null $taxHelper
*/
public function __construct(
\Magento\Backend\Block\Template\Context $context,
\Magento\Framework\Registry $registry,
\Magento\Sales\Helper\Admin $adminHelper,
array $data = [],
?ShippingHelper $shippingHelper = null,
?TaxHelper $taxHelper = null
) {
$this->_adminHelper = $adminHelper;
$this->_coreRegistry = $registry;
$data['shippingHelper'] = $shippingHelper ?? ObjectManager::getInstance()->get(ShippingHelper::class);
$data['taxHelper'] = $taxHelper ?? ObjectManager::getInstance()->get(TaxHelper::class);
parent::__construct($context, $data);
}
/**
* Retrieve available order
*
* @return Order
* @throws \Magento\Framework\Exception\LocalizedException
*/
public function getOrder()
{
if ($this->hasOrder()) {
return $this->getData('order');
}
if ($this->_coreRegistry->registry('current_order')) {
return $this->_coreRegistry->registry('current_order');
}
if ($this->_coreRegistry->registry('order')) {
return $this->_coreRegistry->registry('order');
}
throw new \Magento\Framework\Exception\LocalizedException(__('We can\'t get the order instance right now.'));
}
/**
* Get price data object
*
* @return Order|mixed
*/
public function getPriceDataObject()
{
$obj = $this->getData('price_data_object');
if ($obj === null) {
return $this->getOrder();
}
return $obj;
}
/**
* Display price attribute
*
* @param string $code
* @param bool $strong
* @param string $separator
* @return string
*/
public function displayPriceAttribute($code, $strong = false, $separator = '<br/>')
{
return $this->_adminHelper->displayPriceAttribute($this->getPriceDataObject(), $code, $strong, $separator);
}
/**
* Display prices
*
* @param float $basePrice
* @param float $price
* @param bool $strong
* @param string $separator
* @return string
*/
public function displayPrices($basePrice, $price, $strong = false, $separator = '<br/>')
{
return $this->_adminHelper->displayPrices(
$this->getPriceDataObject(),
$basePrice,
$price,
$strong,
$separator
);
}
/**
* Retrieve order totals block settings
*
* @return array
*/
public function getOrderTotalData()
{
return [];
}
/**
* Retrieve order info block settings
*
* @return array
*/
public function getOrderInfoData()
{
return [];
}
/**
* Retrieve subtotal price include tax html formatted content
*
* @param \Magento\Framework\DataObject $order
* @return string
*/
public function displayShippingPriceInclTax($order)
{
$shipping = $order->getShippingInclTax();
if ($shipping) {
$baseShipping = $order->getBaseShippingInclTax();
} else {
$shipping = $order->getShippingAmount() + $order->getShippingTaxAmount();
$baseShipping = $order->getBaseShippingAmount() + $order->getBaseShippingTaxAmount();
}
return $this->displayPrices($baseShipping, $shipping, false, ' ');
}
}