123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111 |
- <?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;
- /**
- * Create order form header
- *
- * @api
- * @since 100.0.2
- */
- class Header extends AbstractCreate
- {
- /**
- * Customer repository
- *
- * @var \Magento\Customer\Api\CustomerRepositoryInterface
- */
- protected $customerRepository;
- /**
- * Customer view helper
- *
- * @var \Magento\Customer\Helper\View
- */
- protected $_customerViewHelper;
- /**
- * Constructor
- *
- * @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\Customer\Api\CustomerRepositoryInterface $customerRepository
- * @param \Magento\Customer\Helper\View $customerViewHelper
- * @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\Customer\Api\CustomerRepositoryInterface $customerRepository,
- \Magento\Customer\Helper\View $customerViewHelper,
- array $data = []
- ) {
- $this->customerRepository = $customerRepository;
- $this->_customerViewHelper = $customerViewHelper;
- parent::__construct($context, $sessionQuote, $orderCreate, $priceCurrency, $data);
- }
- /**
- * {@inheritdoc}
- */
- protected function _toHtml()
- {
- if ($this->_getSession()->getOrder()->getId()) {
- return __('Edit Order #%1', $this->_getSession()->getOrder()->getIncrementId());
- }
- $out = $this->_getCreateOrderTitle();
- return $this->escapeHtml($out);
- }
- /**
- * Generate title for new order creation page.
- *
- * @return string
- */
- protected function _getCreateOrderTitle()
- {
- $customerId = $this->getCustomerId();
- $storeId = $this->getStoreId();
- $out = '';
- if ($customerId && $storeId) {
- $out .= __(
- 'Create New Order for %1 in %2',
- $this->_getCustomerName($customerId),
- $this->getStore()->getName()
- );
- return $out;
- } elseif (!$customerId && $storeId) {
- $out .= __('Create New Order in %1', $this->getStore()->getName());
- return $out;
- } elseif ($customerId && !$storeId) {
- $out .= __('Create New Order for %1', $this->_getCustomerName($customerId));
- return $out;
- } elseif (!$customerId && !$storeId) {
- $out .= __('Create New Order for New Customer');
- return $out;
- }
- return $out;
- }
- /**
- * Get customer name by his ID
- *
- * @param int $customerId
- * @return string
- */
- protected function _getCustomerName($customerId)
- {
- $customerData = $this->customerRepository->getById($customerId);
- return $this->_customerViewHelper->getCustomerName($customerData);
- }
- }
|