Form.php 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Sales\Block\Adminhtml\Order\Address;
  7. use Magento\Framework\Pricing\PriceCurrencyInterface;
  8. /**
  9. * Adminhtml sales order address block
  10. * @SuppressWarnings(PHPMD.DepthOfInheritance)
  11. * @SuppressWarnings(PHPMD.CouplingBetweenObjects)
  12. */
  13. class Form extends \Magento\Sales\Block\Adminhtml\Order\Create\Form\Address
  14. {
  15. /**
  16. * Address form template
  17. *
  18. * @var string
  19. */
  20. protected $_template = 'Magento_Sales::order/address/form.phtml';
  21. /**
  22. * Core registry
  23. *
  24. * @var \Magento\Framework\Registry
  25. */
  26. protected $_coreRegistry = null;
  27. /**
  28. * @param \Magento\Backend\Block\Template\Context $context
  29. * @param \Magento\Backend\Model\Session\Quote $sessionQuote
  30. * @param \Magento\Sales\Model\AdminOrder\Create $orderCreate
  31. * @param PriceCurrencyInterface $priceCurrency
  32. * @param \Magento\Framework\Data\FormFactory $formFactory
  33. * @param \Magento\Framework\Reflection\DataObjectProcessor $dataObjectProcessor
  34. * @param \Magento\Directory\Helper\Data $directoryHelper
  35. * @param \Magento\Framework\Json\EncoderInterface $jsonEncoder
  36. * @param \Magento\Customer\Model\Metadata\FormFactory $customerFormFactory
  37. * @param \Magento\Customer\Model\Options $options
  38. * @param \Magento\Customer\Helper\Address $addressHelper
  39. * @param \Magento\Customer\Api\AddressRepositoryInterface $addressService
  40. * @param \Magento\Framework\Api\SearchCriteriaBuilder $criteriaBuilder
  41. * @param \Magento\Framework\Api\FilterBuilder $filterBuilder
  42. * @param \Magento\Customer\Model\Address\Mapper $addressMapper
  43. * @param \Magento\Framework\Registry $registry
  44. * @param array $data
  45. * @SuppressWarnings(PHPMD.ExcessiveParameterList)
  46. */
  47. public function __construct(
  48. \Magento\Backend\Block\Template\Context $context,
  49. \Magento\Backend\Model\Session\Quote $sessionQuote,
  50. \Magento\Sales\Model\AdminOrder\Create $orderCreate,
  51. PriceCurrencyInterface $priceCurrency,
  52. \Magento\Framework\Data\FormFactory $formFactory,
  53. \Magento\Framework\Reflection\DataObjectProcessor $dataObjectProcessor,
  54. \Magento\Directory\Helper\Data $directoryHelper,
  55. \Magento\Framework\Json\EncoderInterface $jsonEncoder,
  56. \Magento\Customer\Model\Metadata\FormFactory $customerFormFactory,
  57. \Magento\Customer\Model\Options $options,
  58. \Magento\Customer\Helper\Address $addressHelper,
  59. \Magento\Customer\Api\AddressRepositoryInterface $addressService,
  60. \Magento\Framework\Api\SearchCriteriaBuilder $criteriaBuilder,
  61. \Magento\Framework\Api\FilterBuilder $filterBuilder,
  62. \Magento\Customer\Model\Address\Mapper $addressMapper,
  63. \Magento\Framework\Registry $registry,
  64. array $data = []
  65. ) {
  66. $this->_coreRegistry = $registry;
  67. parent::__construct(
  68. $context,
  69. $sessionQuote,
  70. $orderCreate,
  71. $priceCurrency,
  72. $formFactory,
  73. $dataObjectProcessor,
  74. $directoryHelper,
  75. $jsonEncoder,
  76. $customerFormFactory,
  77. $options,
  78. $addressHelper,
  79. $addressService,
  80. $criteriaBuilder,
  81. $filterBuilder,
  82. $addressMapper,
  83. $data
  84. );
  85. }
  86. /**
  87. * Order address getter
  88. *
  89. * @return \Magento\Sales\Model\Order\Address
  90. */
  91. protected function _getAddress()
  92. {
  93. return $this->_coreRegistry->registry('order_address');
  94. }
  95. /**
  96. * Define form attributes (id, method, action)
  97. *
  98. * @return $this
  99. */
  100. protected function _prepareForm()
  101. {
  102. parent::_prepareForm();
  103. $this->_form->setId('edit_form');
  104. $this->_form->setMethod('post');
  105. $this->_form->setAction(
  106. $this->getUrl('sales/*/addressSave', ['address_id' => $this->_getAddress()->getId()])
  107. );
  108. $this->_form->setUseContainer(true);
  109. return $this;
  110. }
  111. /**
  112. * Form header text getter
  113. *
  114. * @return \Magento\Framework\Phrase
  115. */
  116. public function getHeaderText()
  117. {
  118. return __('Order Address Information');
  119. }
  120. /**
  121. * Return Form Elements values
  122. *
  123. * @return array
  124. */
  125. public function getFormValues()
  126. {
  127. return $this->_getAddress()->getData();
  128. }
  129. }