123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181 |
- <?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;
- use Magento\Catalog\Model\Product;
- use Magento\Catalog\Pricing\Price\FinalPrice;
- /**
- * Adminhtml sales order create abstract block
- *
- * @author Magento Core Team <core@magentocommerce.com>
- * @SuppressWarnings(PHPMD.NumberOfChildren)
- */
- abstract class AbstractCreate extends \Magento\Backend\Block\Widget
- {
- /**
- * Session quote
- *
- * @var \Magento\Backend\Model\Session\Quote
- */
- protected $_sessionQuote;
- /**
- * Order create
- *
- * @var \Magento\Sales\Model\AdminOrder\Create
- */
- protected $_orderCreate;
- /**
- * @var PriceCurrencyInterface
- */
- protected $priceCurrency;
- /**
- * @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 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,
- array $data = []
- ) {
- $this->priceCurrency = $priceCurrency;
- $this->_sessionQuote = $sessionQuote;
- $this->_orderCreate = $orderCreate;
- parent::__construct($context, $data);
- }
- /**
- * Retrieve create order model object
- *
- * @return \Magento\Sales\Model\AdminOrder\Create
- */
- public function getCreateOrderModel()
- {
- return $this->_orderCreate;
- }
- /**
- * Retrieve quote session object
- *
- * @return \Magento\Backend\Model\Session\Quote
- */
- protected function _getSession()
- {
- return $this->_sessionQuote;
- }
- /**
- * Retrieve quote model object
- *
- * @return \Magento\Quote\Model\Quote
- */
- public function getQuote()
- {
- return $this->_getSession()->getQuote();
- }
- /**
- * Retrieve customer identifier
- *
- * @return int
- */
- public function getCustomerId()
- {
- return $this->_getSession()->getCustomerId();
- }
- /**
- * Retrieve store model object
- *
- * @return \Magento\Store\Model\Store
- */
- public function getStore()
- {
- return $this->_getSession()->getStore();
- }
- /**
- * Retrieve store identifier
- *
- * @return int
- */
- public function getStoreId()
- {
- return $this->_getSession()->getStoreId();
- }
- /**
- * Retrieve formatted price
- *
- * @param float $value
- * @return string
- */
- public function formatPrice($value)
- {
- return $this->priceCurrency->format(
- $value,
- true,
- PriceCurrencyInterface::DEFAULT_PRECISION,
- $this->getStore()
- );
- }
- /**
- * @param Product $product
- * @return string
- */
- public function getItemPrice(Product $product)
- {
- $price = $product->getPriceInfo()->getPrice(FinalPrice::PRICE_CODE)->getValue();
- return $this->convertPrice($price);
- }
- /**
- * Convert price
- *
- * @param int|float $value
- * @param bool $format
- * @return string|int|float
- */
- public function convertPrice($value, $format = true)
- {
- return $format
- ? $this->priceCurrency->convertAndFormat(
- $value,
- true,
- PriceCurrencyInterface::DEFAULT_PRECISION,
- $this->getStore()
- )
- : $this->priceCurrency->convert($value, $this->getStore());
- }
- /**
- * If item is quote or wishlist we need to get product from it.
- *
- * @param $item
- *
- * @return Product
- */
- public function getProduct($item)
- {
- if ($item instanceof Product) {
- $product = $item;
- } else {
- $product = $item->getProduct();
- }
- return $product;
- }
- }
|