123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162 |
- <?php
- /**
- * Copyright © Magento, Inc. All rights reserved.
- * See COPYING.txt for license details.
- */
- namespace Magento\Sales\Block\Adminhtml\Order;
- /**
- * Adminhtml sales order create
- *
- * @api
- * @author Magento Core Team <core@magentocommerce.com>
- * @since 100.0.2
- */
- class Create extends \Magento\Backend\Block\Widget\Form\Container
- {
- /**
- * Session quote
- *
- * @var \Magento\Backend\Model\Session\Quote
- */
- protected $_sessionQuote;
- /**
- * @param \Magento\Backend\Block\Widget\Context $context
- * @param \Magento\Backend\Model\Session\Quote $sessionQuote
- * @param array $data
- */
- public function __construct(
- \Magento\Backend\Block\Widget\Context $context,
- \Magento\Backend\Model\Session\Quote $sessionQuote,
- array $data = []
- ) {
- $this->_sessionQuote = $sessionQuote;
- parent::__construct($context, $data);
- }
- /**
- * Constructor
- *
- * @return void
- */
- protected function _construct()
- {
- $this->_objectId = 'order_id';
- $this->_controller = 'order';
- $this->_mode = 'create';
- parent::_construct();
- $this->setId('sales_order_create');
- $customerId = $this->_sessionQuote->getCustomerId();
- $storeId = $this->_sessionQuote->getStoreId();
- $this->buttonList->update('save', 'label', __('Submit Order'));
- $this->buttonList->update('save', 'onclick', 'order.submit()');
- $this->buttonList->update('save', 'class', 'primary');
- // Temporary solution, unset button widget. Will have to wait till jQuery migration is complete
- $this->buttonList->update('save', 'data_attribute', []);
- $this->buttonList->update('save', 'id', 'submit_order_top_button');
- if ($customerId === null || !$storeId) {
- $this->buttonList->update('save', 'style', 'display:none');
- }
- $this->buttonList->update('back', 'id', 'back_order_top_button');
- $this->buttonList->update('back', 'onclick', 'setLocation(\'' . $this->getBackUrl() . '\')');
- $this->buttonList->update('reset', 'id', 'reset_order_top_button');
- if ($customerId === null) {
- $this->buttonList->update('reset', 'style', 'display:none');
- } else {
- $this->buttonList->update('back', 'style', 'display:none');
- }
- $confirm = __('Are you sure you want to cancel this order?');
- $this->buttonList->update('reset', 'label', __('Cancel'));
- $this->buttonList->update('reset', 'class', 'cancel');
- $this->buttonList->update(
- 'reset',
- 'onclick',
- 'deleteConfirm(\'' . $confirm . '\', \'' . $this->getCancelUrl() . '\')'
- );
- }
- /**
- * {@inheritdoc}
- *
- * @return $this
- */
- protected function _prepareLayout()
- {
- $pageTitle = $this->getLayout()->createBlock(
- \Magento\Sales\Block\Adminhtml\Order\Create\Header::class
- )->toHtml();
- if (is_object($this->getLayout()->getBlock('page.title'))) {
- $this->getLayout()->getBlock('page.title')->setPageTitle($pageTitle);
- }
- return parent::_prepareLayout();
- }
- /**
- * Prepare header html
- *
- * @return string
- */
- public function getHeaderHtml()
- {
- $out = '<div id="order-header">' . $this->getLayout()->createBlock(
- \Magento\Sales\Block\Adminhtml\Order\Create\Header::class
- )->toHtml() . '</div>';
- return $out;
- }
- /**
- * Get header width
- *
- * @return string
- */
- public function getHeaderWidth()
- {
- return 'width: 70%;';
- }
- /**
- * Retrieve quote session object
- *
- * @return \Magento\Backend\Model\Session\Quote
- */
- protected function _getSession()
- {
- return $this->_sessionQuote;
- }
- /**
- * Get cancel url
- *
- * @return string
- */
- public function getCancelUrl()
- {
- if ($this->_sessionQuote->getOrder()->getId()) {
- $url = $this->getUrl('sales/order/view', ['order_id' => $this->_sessionQuote->getOrder()->getId()]);
- } else {
- $url = $this->getUrl('sales/*/cancel');
- }
- return $url;
- }
- /**
- * Get URL for back (reset) button
- *
- * @return string
- */
- public function getBackUrl()
- {
- return $this->getUrl('sales/' . $this->_controller . '/');
- }
- }
|