1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 |
- <?php
- /**
- * Copyright © Magento, Inc. All rights reserved.
- * See COPYING.txt for license details.
- */
- namespace Magento\Customer\Block\Adminhtml\Edit;
- use Magento\Customer\Controller\RegistryConstants;
- /**
- * Adminhtml customer edit form block
- */
- class Form extends \Magento\Backend\Block\Widget\Form\Generic
- {
- /**
- * Customer Repository.
- *
- * @var \Magento\Customer\Api\CustomerRepositoryInterface
- */
- protected $_customerRepository;
- /**
- * @var \Magento\Framework\Api\ExtensibleDataObjectConverter
- */
- protected $_extensibleDataObjectConverter;
- /**
- * Constructor
- *
- * @param \Magento\Backend\Block\Template\Context $context
- * @param \Magento\Framework\Registry $registry
- * @param \Magento\Framework\Data\FormFactory $formFactory
- * @param \Magento\Customer\Api\CustomerRepositoryInterface $customerRepository
- * @param \Magento\Framework\Api\ExtensibleDataObjectConverter $extensibleDataObjectConverter
- * @param array $data
- */
- public function __construct(
- \Magento\Backend\Block\Template\Context $context,
- \Magento\Framework\Registry $registry,
- \Magento\Framework\Data\FormFactory $formFactory,
- \Magento\Customer\Api\CustomerRepositoryInterface $customerRepository,
- \Magento\Framework\Api\ExtensibleDataObjectConverter $extensibleDataObjectConverter,
- array $data = []
- ) {
- $this->_customerRepository = $customerRepository;
- $this->_extensibleDataObjectConverter = $extensibleDataObjectConverter;
- parent::__construct($context, $registry, $formFactory, $data);
- }
- /**
- * Prepare the form.
- *
- * @return $this
- */
- protected function _prepareForm()
- {
- /** @var \Magento\Framework\Data\Form $form */
- $form = $this->_formFactory->create(
- [
- 'data' => [
- 'id' => 'edit_form',
- 'action' => $this->getUrl('customer/*/save'),
- 'method' => 'post',
- 'enctype' => 'multipart/form-data',
- ],
- ]
- );
- $customerId = $this->_coreRegistry->registry(RegistryConstants::CURRENT_CUSTOMER_ID);
- if ($customerId) {
- $form->addField('id', 'hidden', ['name' => 'customer_id']);
- $customer = $this->_customerRepository->getById($customerId);
- $form->setValues(
- $this->_extensibleDataObjectConverter->toFlatArray(
- $customer,
- [],
- \Magento\Customer\Api\Data\CustomerInterface::class
- )
- )->addValues(
- ['customer_id' => $customerId]
- );
- }
- $form->setUseContainer(true);
- $this->setForm($form);
- return parent::_prepareForm();
- }
- }
|