![]() 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 form block * * @api * @since 100.0.2 */ class Form extends \Magento\Sales\Block\Adminhtml\Order\Create\AbstractCreate { /** * Customer form factory * * @var \Magento\Customer\Model\Metadata\FormFactory */ protected $_customerFormFactory; /** * Json encoder * * @var \Magento\Framework\Json\EncoderInterface */ protected $_jsonEncoder; /** * Address service * * @var \Magento\Customer\Api\CustomerRepositoryInterface */ protected $customerRepository; /** * @var \Magento\Framework\Locale\CurrencyInterface */ protected $_localeCurrency; /** * @var \Magento\Customer\Model\Address\Mapper */ protected $addressMapper; /** * Initialize dependencies. * * @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\Framework\Json\EncoderInterface $jsonEncoder * @param \Magento\Customer\Model\Metadata\FormFactory $customerFormFactory * @param \Magento\Customer\Api\CustomerRepositoryInterface $customerRepository * @param \Magento\Framework\Locale\CurrencyInterface $localeCurrency * @param \Magento\Customer\Model\Address\Mapper $addressMapper * @param array $data * @SuppressWarnings(PHPMD.ExcessiveParameterList) */ public function __construct( \Magento\Backend\Block\Template\Context $context, \Magento\Backend\Model\Session\Quote $sessionQuote, \Magento\Sales\Model\AdminOrder\Create $orderCreate, PriceCurrencyInterface $priceCurrency, \Magento\Framework\Json\EncoderInterface $jsonEncoder, \Magento\Customer\Model\Metadata\FormFactory $customerFormFactory, \Magento\Customer\Api\CustomerRepositoryInterface $customerRepository, \Magento\Framework\Locale\CurrencyInterface $localeCurrency, \Magento\Customer\Model\Address\Mapper $addressMapper, array $data = [] ) { $this->_jsonEncoder = $jsonEncoder; $this->_customerFormFactory = $customerFormFactory; $this->customerRepository = $customerRepository; $this->_localeCurrency = $localeCurrency; $this->addressMapper = $addressMapper; parent::__construct($context, $sessionQuote, $orderCreate, $priceCurrency, $data); } /** * Constructor * * @return void */ protected function _construct() { parent::_construct(); $this->setId('sales_order_create_form'); } /** * Retrieve url for loading blocks * * @return string */ public function getLoadBlockUrl() { return $this->getUrl('sales/*/loadBlock'); } /** * Retrieve url for form submitting * * @return string */ public function getSaveUrl() { return $this->getUrl('sales/*/save'); } /** * Get customer selector display * * @return string */ public function getCustomerSelectorDisplay() { $customerId = $this->getCustomerId(); if ($customerId === null) { return 'block'; } return 'none'; } /** * Get store selector display * * @return string */ public function getStoreSelectorDisplay() { $storeId = $this->getStoreId(); $customerId = $this->getCustomerId(); if ($customerId !== null && !$storeId) { return 'block'; } return 'none'; } /** * Get data selector display * * @return string */ public function getDataSelectorDisplay() { $storeId = $this->getStoreId(); $customerId = $this->getCustomerId(); if ($customerId !== null && $storeId) { return 'block'; } return 'none'; } /** * Get order data jason * * @return string */ public function getOrderDataJson() { $data = []; $this->_storeManager->setCurrentStore($this->getStoreId()); if ($this->getCustomerId()) { $data['customer_id'] = $this->getCustomerId(); $data['addresses'] = []; $addresses = $this->customerRepository->getById($this->getCustomerId())->getAddresses(); foreach ($addresses as $address) { $addressForm = $this->_customerFormFactory->create( 'customer_address', 'adminhtml_customer_address', $this->addressMapper->toFlatArray($address) ); $data['addresses'][$address->getId()] = $addressForm->outputData( \Magento\Eav\Model\AttributeDataFactory::OUTPUT_FORMAT_JSON ); } } if ($this->getStoreId() !== null) { $data['store_id'] = $this->getStoreId(); $currency = $this->_localeCurrency->getCurrency($this->getStore()->getCurrentCurrencyCode()); $symbol = $currency->getSymbol() ? $currency->getSymbol() : $currency->getShortName(); $data['currency_symbol'] = $symbol; $data['shipping_method_reseted'] = !(bool)$this->getQuote()->getShippingAddress()->getShippingMethod(); $data['payment_method'] = $this->getQuote()->getPayment()->getMethod(); } $data['quote_id'] = $this->_sessionQuote->getQuoteId(); return $this->_jsonEncoder->encode($data); } }